aboutsummaryrefslogtreecommitdiff
path: root/gdb/exceptions.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2018-07-03 12:18:10 +0930
committerAlan Modra <amodra@gmail.com>2018-07-03 12:31:34 +0930
commitaf0bfb9c4283ce80fe37ad6360d12cae8ec38696 (patch)
tree6a33d1283583e37396b906469a95d4a0482286de /gdb/exceptions.c
parent1825c89e221b1bf80e73e858f1f2afcfe51272dd (diff)
downloadgdb-af0bfb9c4283ce80fe37ad6360d12cae8ec38696.zip
gdb-af0bfb9c4283ce80fe37ad6360d12cae8ec38696.tar.gz
gdb-af0bfb9c4283ce80fe37ad6360d12cae8ec38696.tar.bz2
Hide dynamic symbols in discarded sections
This is a followup to git commit 97196564c7 "Strip global symbol defined in discarded section". If a symbol defined in a discarded section was dynamic, that patch left .dynsym with holes (ie. all zero entries). For example, the following from libstdc++.so: Symbol table '.dynsym' contains 6090 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000000000a74e0 0 SECTION LOCAL DEFAULT 10 2: 0000000000264180 0 SECTION LOCAL DEFAULT 17 3: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_addUserCommitAction 4: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_memcpyRtWn 5: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND readelf: Warning: local symbol 5 found at index >= .dynsym's sh_info value of 3 6: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND readelf: Warning: local symbol 6 found at index >= .dynsym's sh_info value of 3 [snip] This patch removes the symbols from .dynsym too. PR 17550 * elflink.c (_bfd_elf_fix_symbol_flags): Hide dynamic symbols in discarded sections.
Diffstat (limited to 'gdb/exceptions.c')
0 files changed, 0 insertions, 0 deletions