11#! /bin/sh -e
2- SCRATCH=scratch/$( basename $0 .sh)
2+ SCRATCH=scratch/$( basename " $0 " .sh)
33PATCHELF=$( readlink -f " ../src/patchelf" )
44
5- rm -rf ${SCRATCH}
6- mkdir -p ${SCRATCH}
5+ rm -rf " ${SCRATCH} "
6+ mkdir -p " ${SCRATCH} "
77
88full_main_name=" ${PWD} /many-syms-main"
99full_lib_name=" ${PWD} /libmany-syms.so"
10- chmod -w $full_lib_name $full_main_name
10+ chmod -w " $full_lib_name " " $full_main_name "
1111
1212suffix=" _special_suffix"
1313
14- cd ${SCRATCH}
14+ cd " ${SCRATCH} "
1515
1616# ##############################################################################
1717# Test that all symbols in the dynamic symbol table will have the expected
@@ -20,16 +20,16 @@ cd ${SCRATCH}
2020# ##############################################################################
2121
2222list_symbols () {
23- nm -D $@ | awk ' { print $NF }' | sed ' /^ *$/d'
23+ nm -D " $@ " | awk ' { print $NF }' | sed ' /^ *$/d'
2424}
2525
26- list_symbols $full_lib_name | cut -d@ -f1 | sort -u | awk " {printf \" %s %s${suffix} \n\" ,\$ 1,\$ 1}" > map
27- list_symbols $full_lib_name | cut -d@ -f1 | sort -u | awk " {printf \" %s${suffix} %s\n\" ,\$ 1,\$ 1}" > rmap
26+ list_symbols " $full_lib_name " | cut -d@ -f1 | sort -u | awk " {printf \" %s %s${suffix} \n\" ,\$ 1,\$ 1}" > map
27+ list_symbols " $full_lib_name " | cut -d@ -f1 | sort -u | awk " {printf \" %s${suffix} %s\n\" ,\$ 1,\$ 1}" > rmap
2828
29- ${PATCHELF} --rename-dynamic-symbols map --output libmapped.so $full_lib_name
29+ ${PATCHELF} --rename-dynamic-symbols map --output libmapped.so " $full_lib_name "
3030${PATCHELF} --rename-dynamic-symbols rmap --output libreversed.so libmapped.so
3131
32- list_symbols $full_lib_name | sort > orig_syms
32+ list_symbols " $full_lib_name " | sort > orig_syms
3333list_symbols libmapped.so | sort > map_syms
3434list_symbols libreversed.so | sort > rev_syms
3535
@@ -47,10 +47,10 @@ diff orig_syms map_syms_r > diff_orig_syms_map_syms_r || exit 1
4747# ##############################################################################
4848
4949print_relocation_table () {
50- readelf -W -r $1 | awk ' { printf "%s\n",$5 }' | cut -f1 -d@
50+ readelf -W -r " $1 " | awk ' { printf "%s\n",$5 }' | cut -f1 -d@
5151}
5252
53- print_relocation_table $full_lib_name > orig_rel
53+ print_relocation_table " $full_lib_name " > orig_rel
5454print_relocation_table libmapped.so > map_rel
5555print_relocation_table libreversed.so > rev_rel
5656
@@ -69,19 +69,19 @@ diff orig_rel map_rel_r > diff_orig_rel_map_rel_r || exit 1
6969# ##############################################################################
7070
7171echo " # Create the map"
72- list_symbols --defined-only $full_lib_name | cut -d@ -f1 | sort -u | awk " {printf \" %s %s${suffix} \n\" ,\$ 1,\$ 1}" > map
72+ list_symbols --defined-only " $full_lib_name " | cut -d@ -f1 | sort -u | awk " {printf \" %s %s${suffix} \n\" ,\$ 1,\$ 1}" > map
7373
7474echo " # Copy all dependencies"
7575mkdir env
7676cd env
77- cp $full_lib_name $full_main_name .
77+ cp " $full_lib_name " " $full_main_name " .
7878
7979echo " # Apply renaming"
80- chmod +w *
81- ${PATCHELF} --rename-dynamic-symbols ../map *
80+ chmod +w ./ *
81+ ${PATCHELF} --rename-dynamic-symbols ../map ./ *
8282
8383echo " # Run the patched tool and libraries"
84- env LD_BIND_NOW=1 LD_LIBRARY_PATH=${PWD} ./many-syms-main
84+ env LD_BIND_NOW=1 LD_LIBRARY_PATH=" ${PWD} " ./many-syms-main
8585
8686# Test that other switches still work when --rename-dynamic-symbols has no effect
8787echo " SYMBOL_THAT_DOESNT_EXIST ANOTHER_NAME" > map
0 commit comments