소스 검색

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).
4lDO2 2 년 전
부모
커밋
3701ea3be7
1개의 변경된 파일5개의 추가작업 그리고 0개의 파일을 삭제
  1. 5 0
      renamesyms.sh

+ 5 - 0
renamesyms.sh

@@ -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"