f234dc51b9
Fix stress tests such that testlib code uses the jet_ allocator, but test code uses libjemalloc. Generate jemalloc_{rename,mangle}.h, the former because it's needed for the stress test name mangling fix, and the latter for consistency. As an artifact of this change, some (but not all) definitions related to the experimental API are absent from the headers unless the feature is enabled at configure time.
46 lines
1.2 KiB
Bash
Executable File
46 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
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
|