diff options
author | Maciej W. Rozycki <macro@mips.com> | 2018-07-02 23:57:22 +0100 |
---|---|---|
committer | Maciej W. Rozycki <macro@mips.com> | 2018-07-02 23:57:22 +0100 |
commit | 12f09816cecc4e4ee7574a86846b3a17adbf7904 (patch) | |
tree | 1832b1256d286d183283c8fafe75d898fdda8c88 /bfd/elfxx-mips.c | |
parent | 14c80123c05ad7cbb52fbb5d35c08b46a0e72d7f (diff) | |
download | gdb-12f09816cecc4e4ee7574a86846b3a17adbf7904.zip gdb-12f09816cecc4e4ee7574a86846b3a17adbf7904.tar.gz gdb-12f09816cecc4e4ee7574a86846b3a17adbf7904.tar.bz2 |
MIPS/BFD: Make section GC work with `ict_irix5' targets
Prevent runtime procedure table symbols, produced with `ict_irix5' MIPS
targets, from being swept in section GC, fixing linker errors like:
./ld-new: tmpdir/dump: protected symbol `_procedure_table_size' isn't defined
./ld-new: final link failed: bad value
triggered whenever section GC is enabled with those targets and
consequently removing the following test suite failures:
FAIL: Build pr22649-2a.so
FAIL: Build pr22649-2c.so
FAIL: PR ld/20828 dynamic symbols with section GC (auxiliary shared library)
FAIL: PR ld/20828 dynamic symbols with section GC (plain)
FAIL: PR ld/20828 dynamic symbols with section GC (version script)
FAIL: PR ld/20828 dynamic symbols with section GC (versioned shared library)
FAIL: PR ld/20828 dynamic symbols with section GC (versioned)
FAIL: --gc-sections with .text._init
FAIL: pr20022
observed with `mips-elf', `tx39-elf', `mipsisa32-elf', `mipsisa64-elf',
`mipsel-elf', `mipsisa32el-elf', `mipsisa64el-elf', `mips64vr-elf',
`mips64vrel-elf', `mips64vr4300-elf', `mips64vr4300el-elf',
`mips-sgi-irix5' and `mips-rtems' targets, among others. This fix makes
section GC usable with the affected targets.
bfd/
* elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Set
`mark' for symbols created from `mips_elf_dynsym_rtproc_names'
list.
Diffstat (limited to 'bfd/elfxx-mips.c')
-rw-r--r-- | bfd/elfxx-mips.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 82ab417..c33b276 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -7844,6 +7844,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) return FALSE; h = (struct elf_link_hash_entry *) bh; + h->mark = 1; h->non_elf = 0; h->def_regular = 1; h->type = STT_SECTION; |