Conflict-proof #[global_allocator] symbols too.

The #[global_allocator] used by relibc is only relibc's business.
Symbols should therefore not leak if another applications for example
wants to override the system allocator (and for bootstrap, which links
to relibc but uses its own #[global_allocator] based on libc functions).
This commit is contained in:
4lDO2
2022-07-12 14:38:46 +02:00
parent 05446070ec
commit 3701ea3be7
+5
View File
@@ -8,11 +8,16 @@ if [ -z "$target" ] || [ -z "$deps_dir" ]; then
fi
symbols_file=`mktemp`
special_syms="__rg_alloc __rg_dealloc __rg_realloc __rg_alloc_zeroed"
for dep in `find $deps_dir -type f -name "*.rlib"`; do
nm --format=posix -g "$dep" 2>/dev/null | sed 's/.*:.*//g' | awk '{if ($2 == "T") print $1}' | sed 's/^\(.*\)$/\1 __relibc_\1/g' >> $symbols_file
done
for special_sym in $special_syms; do
echo "$special_sym __relibc_$special_sym" >> $symbols_file
done
sorted_file=`mktemp`
sort -u "$symbols_file" > "$sorted_file"
rm -f "$symbols_file"