readelf: Consolidate --syms --use-dynamic with --dyn-syms

When reconstructing dynamic symbol table from the PT_DYNAMIC segment,
compute dynamic symbol table size from hash table.  For DT_HASH, the
number of dynamic symbol table entries equals the number of chains.
For DT_GNU_HASH/DT_MIPS_XHASH, only defined symbols with non-STB_LOCAL
indings are in hash table.  Since DT_GNU_HASH/DT_MIPS_XHASH place all
symbols with STB_LOCAL binding before symbols with other bindings and
all undefined symbols defined ones in dynamic symbol table, the highest
symbol index in DT_GNU_HASH/DT_MIPS_XHASH is the highest dynamic symbol
table index.

Rewrite print_dynamic_symbol to dump dynamic symbol table for --dyn-syms
and --syms --use-dynamic.

binutils/

	PR binutils/25707
	* readelf.c (nbuckets): New.
	(nchains): Likewise.
	(buckets): Likewise.
	(chains): Likewise.
	(ngnubuckets): Likewise.
	(gnubuckets): Likewise.
	(gnuchains): Likewise.
	(mipsxlat): Likewise.
	(ngnuchains): Likewise.
	(gnusymidx): Likewise.
	(VALID_SYMBOL_NAME): Likewise.
	(VALID_DYNAMIC_NAME): Use it.
	(get_dynamic_data): Moved before process_dynamic_section.
	(get_num_dynamic_syms): New function.
	(process_dynamic_section): Use DT_SYMTAB, DT_SYMENT, DT_HASH,
	DT_GNU_HASH and DT_MIPS_XHASH to reconstruct dynamic symbol
	table.  Use DT_STRTAB and DT_STRSZ to reconstruct dynamic string
	table.
	(get_symbol_index_type): Don't print "bad section index" when
	there is no section header.
	(print_dynamic_symbol): Rewrite.
	(process_symbol_table): Call print_dynamic_symbol to dump dynamic
	symbol table.

ld/

	PR binutils/25707
	* testsuite/ld-arm/armthumb-lib.sym: Updated.
	* testsuite/ld-arm/farcall-mixed-app.sym: Likewise.
	* testsuite/ld-arm/farcall-mixed-app2.sym: Likewise.
	* testsuite/ld-arm/fdpic-main-m.sym: Likewise.
	* testsuite/ld-arm/fdpic-main.sym: Likewise.
	* testsuite/ld-arm/fdpic-shared-m.sym: Likewise.
	* testsuite/ld-arm/fdpic-shared.sym: Likewise.
	* testsuite/ld-arm/mixed-app.sym: Likewise.
	* testsuite/ld-arm/mixed-lib.sym: Likewise.
	* testsuite/ld-arm/preempt-app.sym: Likewise.
	* testsuite/ld-elf/hash.d: Likewise.
	* testsuite/ld-elf/pr13195.d: Likewise.
	* testsuite/ld-elfvsb/hidden2.d: Likewise.
	* testsuite/ld-mips-elf/hash2.d: Likewise.
This commit is contained in:
H.J. Lu 2020-04-14 05:00:22 -07:00
parent 21b0982c77
commit 10ca4b042d
17 changed files with 705 additions and 649 deletions

View File

@ -1,3 +1,30 @@
2020-04-14 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/25707
* readelf.c (nbuckets): New.
(nchains): Likewise.
(buckets): Likewise.
(chains): Likewise.
(ngnubuckets): Likewise.
(gnubuckets): Likewise.
(gnuchains): Likewise.
(mipsxlat): Likewise.
(ngnuchains): Likewise.
(gnusymidx): Likewise.
(VALID_SYMBOL_NAME): Likewise.
(VALID_DYNAMIC_NAME): Use it.
(get_dynamic_data): Moved before process_dynamic_section.
(get_num_dynamic_syms): New function.
(process_dynamic_section): Use DT_SYMTAB, DT_SYMENT, DT_HASH,
DT_GNU_HASH and DT_MIPS_XHASH to reconstruct dynamic symbol
table. Use DT_STRTAB and DT_STRSZ to reconstruct dynamic string
table.
(get_symbol_index_type): Don't print "bad section index" when
there is no section header.
(print_dynamic_symbol): Rewrite.
(process_symbol_table): Call print_dynamic_symbol to dump dynamic
symbol table.
2020-04-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* testsuite/lib/binutils-common.exp (supports_gnu_osabi): Don't

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,21 @@
2020-04-14 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/25707
* testsuite/ld-arm/armthumb-lib.sym: Updated.
* testsuite/ld-arm/farcall-mixed-app.sym: Likewise.
* testsuite/ld-arm/farcall-mixed-app2.sym: Likewise.
* testsuite/ld-arm/fdpic-main-m.sym: Likewise.
* testsuite/ld-arm/fdpic-main.sym: Likewise.
* testsuite/ld-arm/fdpic-shared-m.sym: Likewise.
* testsuite/ld-arm/fdpic-shared.sym: Likewise.
* testsuite/ld-arm/mixed-app.sym: Likewise.
* testsuite/ld-arm/mixed-lib.sym: Likewise.
* testsuite/ld-arm/preempt-app.sym: Likewise.
* testsuite/ld-elf/hash.d: Likewise.
* testsuite/ld-elf/pr13195.d: Likewise.
* testsuite/ld-elfvsb/hidden2.d: Likewise.
* testsuite/ld-mips-elf/hash2.d: Likewise.
2020-04-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* testsuite/ld-shared/shared.exp: Remove dangling comments.

View File

@ -1,15 +1,16 @@
Symbol table for image:
+Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
+.. +..: ........ +4 +OBJECT +GLOBAL +DEFAULT +9 data_obj
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_end__
+.. +..: .......0 +20 +FUNC +GLOBAL +DEFAULT +6 lib_func1
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __data_start
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
+.. +..: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND app_func2
+.. +..: .......[048c] +2 +FUNC +GLOBAL +DEFAULT +6 lib_func2
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _bss_end__
Symbol table for image contains 13 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+..: +00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start__
+..: +.......[048c] +2 +FUNC +GLOBAL +DEFAULT +6 lib_func2
+..: +.......0 +20 +FUNC +GLOBAL +DEFAULT +6 lib_func1
+..: +00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND app_func2
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __end__
+..: +........ +4 +OBJECT +GLOBAL +DEFAULT +9 data_obj
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __data_start

View File

@ -1,15 +1,16 @@
Symbol table for image:
+Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
+.. +..: ........ +4 +OBJECT +GLOBAL +DEFAULT +12 data_obj
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_end__
+.. +..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func1
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +11 __data_start
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+.. +..: .......0 +0 +FUNC +GLOBAL +DEFAULT +14 app_func2
+.. +..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func2
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _bss_end__
Symbol table for image contains 13 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+..: +00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start__
+..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func2
+..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func1
+..: +.......0 +0 +FUNC +GLOBAL +DEFAULT +14 app_func2
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __end__
+..: +........ +4 +OBJECT +GLOBAL +DEFAULT +12 data_obj
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +11 __data_start

View File

@ -1,15 +1,16 @@
Symbol table for image:
+Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
+.. +..: ........ +4 +OBJECT +GLOBAL +DEFAULT +12 data_obj
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_end__
+.. +..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func1
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +11 __data_start
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+.. +..: .......0 +0 +FUNC +GLOBAL +DEFAULT +15 app_func2
+.. +..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func2
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _bss_end__
Symbol table for image contains 13 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+..: +00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start__
+..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func2
+..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func1
+..: +.......0 +0 +FUNC +GLOBAL +DEFAULT +15 app_func2
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __end__
+..: +........ +4 +OBJECT +GLOBAL +DEFAULT +12 data_obj
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +11 __data_start

View File

@ -1,14 +1,15 @@
Symbol table for image:
+Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
+.. +..: ........ +0 +FUNC +GLOBAL +DEFAULT +UND my_shared_func2
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +13 __end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT + 9 __ROFIXUP_LIST__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT + 9 __ROFIXUP_END__
+.. +..: ........ +0 +FUNC +GLOBAL +DEFAULT +UND my_shared_func1
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +13 _bss_end__
Symbol table for image contains 12 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+..: +00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +13 _bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start__
+..: +........ +0 +FUNC +GLOBAL +DEFAULT +UND my_shared_func1
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __ROFIXUP_END__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __ROFIXUP_LIST__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +13 __end__
+..: +........ +0 +FUNC +GLOBAL +DEFAULT +UND my_shared_func2
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end

View File

@ -1,14 +1,15 @@
Symbol table for image:
+Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
+.. +..: ........ +0 +FUNC +GLOBAL +DEFAULT +UND my_shared_func2
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +13 __end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT + 9 __ROFIXUP_LIST__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT + 9 __ROFIXUP_END__
+.. +..: ........ +0 +FUNC +GLOBAL +DEFAULT +UND my_shared_func1
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +13 _bss_end__
Symbol table for image contains 12 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+..: +00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +13 _bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start__
+..: +........ +0 +FUNC +GLOBAL +DEFAULT +UND my_shared_func1
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __ROFIXUP_END__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __ROFIXUP_LIST__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +13 __end__
+..: +........ +0 +FUNC +GLOBAL +DEFAULT +UND my_shared_func2
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end

View File

@ -1,15 +1,16 @@
Symbol table for image:
+Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
+.. +..: ........ +12 +FUNC +GLOBAL +DEFAULT +6 my_shared_func2
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
+.. +..: ........ +6 +FUNC +GLOBAL +DEFAULT +6 my_shared_func3
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +7 __ROFIXUP_LIST__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +7 __ROFIXUP_END__
+.. +..: ........ +2 +FUNC +GLOBAL +DEFAULT +6 my_shared_func1
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _bss_end__
Symbol table for image contains 13 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+..: +00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start__
+..: +........ +2 +FUNC +GLOBAL +DEFAULT +6 my_shared_func1
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_end__
+..: +........ +6 +FUNC +GLOBAL +DEFAULT +6 my_shared_func3
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +7 __ROFIXUP_END__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +7 __ROFIXUP_LIST__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __end__
+..: +........ +12 +FUNC +GLOBAL +DEFAULT +6 my_shared_func2
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end

View File

@ -1,15 +1,16 @@
Symbol table for image:
+Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
+.. +..: ........ +20 +FUNC +GLOBAL +DEFAULT +6 my_shared_func2
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
+.. +..: ........ +8 +FUNC +GLOBAL +DEFAULT +6 my_shared_func3
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +7 __ROFIXUP_LIST__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +7 __ROFIXUP_END__
+.. +..: ........ +4 +FUNC +GLOBAL +DEFAULT +6 my_shared_func1
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _bss_end__
Symbol table for image contains 13 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+..: +00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start__
+..: +........ +4 +FUNC +GLOBAL +DEFAULT +6 my_shared_func1
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_end__
+..: +........ +8 +FUNC +GLOBAL +DEFAULT +6 my_shared_func3
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +7 __ROFIXUP_END__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +7 __ROFIXUP_LIST__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __end__
+..: +........ +20 +FUNC +GLOBAL +DEFAULT +6 my_shared_func2
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end

View File

@ -1,15 +1,16 @@
Symbol table for image:
+Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
+.. +..: ........ +4 +OBJECT +GLOBAL +DEFAULT +12 data_obj
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_end__
+.. +..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func1
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +11 __data_start
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+.. +..: .......0 +0 +FUNC +GLOBAL +DEFAULT +8 app_func2
+.. +..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func2
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _bss_end__
Symbol table for image contains 13 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+..: +00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start__
+..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func2
+..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func1
+..: +.......0 +0 +FUNC +GLOBAL +DEFAULT +8 app_func2
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __end__
+..: +........ +4 +OBJECT +GLOBAL +DEFAULT +12 data_obj
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +11 __data_start

View File

@ -1,15 +1,16 @@
Symbol table for image:
+Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
+.. +..: ........ +4 +OBJECT +GLOBAL +DEFAULT +9 data_obj
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_end__
+.. +..: .......0 +20 +FUNC +GLOBAL +DEFAULT +6 lib_func1
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __data_start
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
+.. +..: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND app_func2
+.. +..: .......1 +2 +FUNC +GLOBAL +DEFAULT +6 lib_func2
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _bss_end__
Symbol table for image contains 13 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+..: +00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start__
+..: +.......1 +2 +FUNC +GLOBAL +DEFAULT +6 lib_func2
+..: +.......0 +20 +FUNC +GLOBAL +DEFAULT +6 lib_func1
+..: +00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND app_func2
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __end__
+..: +........ +4 +OBJECT +GLOBAL +DEFAULT +9 data_obj
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __data_start

View File

@ -1,14 +1,15 @@
Symbol table for image:
+Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
+.. +..: ........ +4 +OBJECT +GLOBAL +DEFAULT +10 data_obj
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_end__
+.. +..: .......1 +20 +FUNC +GLOBAL +DEFAULT +6 lib_func1
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __data_start
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +10 __end__
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
+.. +..: .......0 +0 +FUNC +GLOBAL +DEFAULT +6 app_func2
+.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +10 _bss_end__
Symbol table for image contains 12 entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+..: +00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +10 _bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start__
+..: +.......1 +20 +FUNC +GLOBAL +DEFAULT +6 lib_func1
+..: +.......0 +0 +FUNC +GLOBAL +DEFAULT +6 app_func2
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_end__
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +10 __end__
+..: +........ +4 +OBJECT +GLOBAL +DEFAULT +10 data_obj
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
+..: +........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __data_start

View File

@ -10,11 +10,11 @@
#...
+0x[0-9a-z]+ +\(GNU_HASH\) +0x[0-9a-z]+
#...
+[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +NOTYPE +GLOBAL +DEFAULT +[1-9] _start
+[0-9]+: +[0-9a-f]+ +[0-9]+ +NOTYPE +GLOBAL +DEFAULT +[1-9] _start
#...
+[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +NOTYPE +GLOBAL +DEFAULT +[1-9] main
+[0-9]+: +[0-9a-f]+ +[0-9]+ +NOTYPE +GLOBAL +DEFAULT +[1-9] main
#...
+[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +NOTYPE +GLOBAL +DEFAULT +[1-9] start
+[0-9]+: +[0-9a-f]+ +[0-9]+ +NOTYPE +GLOBAL +DEFAULT +[1-9] start
#...
+[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +NOTYPE +GLOBAL +DEFAULT +[1-9] __start
+[0-9]+: +[0-9a-f]+ +[0-9]+ +NOTYPE +GLOBAL +DEFAULT +[1-9] __start
#...

View File

@ -5,5 +5,5 @@
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
+[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +[1-9]+ foo
+[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +[1-9]+ foo@@VERS_2.0
#pass

View File

@ -3,7 +3,7 @@
#readelf: -Ds
# It is also ok to remove this symbol, but we currently make it local.
Symbol table for image:
Symbol table for image contains [0-9]+ entries:
#...
[ ]*[0-9]+ +[0-9]+: [0-9a-fA-F]* +0 +OBJECT +LOCAL +DEFAULT .* foo
[ ]*[0-9]+: [0-9a-fA-F]* +0 +OBJECT +LOCAL +DEFAULT .* foo
#pass

View File

@ -6,11 +6,11 @@
#...
+0x[0-9a-z]+ +\(MIPS_XHASH\) +0x[0-9a-z]+
#...
+[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +([1-9]|PRC) _start
+[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +([1-9]|PRC\[[0x[0-9a-f]+\]) __start
#...
+[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +([1-9]|PRC) main
+[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +([1-9]|PRC\[[0x[0-9a-f]+\]) _start
#...
+[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +([1-9]|PRC) start
+[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +([1-9]|PRC\[[0x[0-9a-f]+\]) main
#...
+[0-9]+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +([1-9]|PRC) __start
+[0-9]+: +[0-9a-f]+ +[0-9]+ +FUNC +GLOBAL +DEFAULT +([1-9]|PRC\[[0x[0-9a-f]+\]) start
#...