diff options
Diffstat (limited to 'src/fluent-bit/lib/jemalloc-5.3.0/include/jemalloc/jemalloc_mangle.sh')
-rwxr-xr-x | src/fluent-bit/lib/jemalloc-5.3.0/include/jemalloc/jemalloc_mangle.sh | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/fluent-bit/lib/jemalloc-5.3.0/include/jemalloc/jemalloc_mangle.sh b/src/fluent-bit/lib/jemalloc-5.3.0/include/jemalloc/jemalloc_mangle.sh new file mode 100755 index 000000000..c675bb469 --- /dev/null +++ b/src/fluent-bit/lib/jemalloc-5.3.0/include/jemalloc/jemalloc_mangle.sh @@ -0,0 +1,45 @@ +#!/bin/sh -eu + +public_symbols_txt=$1 +symbol_prefix=$2 + +cat <<EOF +/* + * By default application code must explicitly refer to mangled symbol names, + * so that it is possible to use jemalloc in conjunction with another allocator + * in the same application. Define JEMALLOC_MANGLE in order to cause automatic + * name mangling that matches the API prefixing that happened as a result of + * --with-mangling and/or --with-jemalloc-prefix configuration settings. + */ +#ifdef JEMALLOC_MANGLE +# ifndef JEMALLOC_NO_DEMANGLE +# define JEMALLOC_NO_DEMANGLE +# endif +EOF + +for nm in `cat ${public_symbols_txt}` ; do + n=`echo ${nm} |tr ':' ' ' |awk '{print $1}'` + echo "# define ${n} ${symbol_prefix}${n}" +done + +cat <<EOF +#endif + +/* + * The ${symbol_prefix}* macros can be used as stable alternative names for the + * public jemalloc API if JEMALLOC_NO_DEMANGLE is defined. This is primarily + * meant for use in jemalloc itself, but it can be used by application code to + * provide isolation from the name mangling specified via --with-mangling + * and/or --with-jemalloc-prefix. + */ +#ifndef JEMALLOC_NO_DEMANGLE +EOF + +for nm in `cat ${public_symbols_txt}` ; do + n=`echo ${nm} |tr ':' ' ' |awk '{print $1}'` + echo "# undef ${symbol_prefix}${n}" +done + +cat <<EOF +#endif +EOF |