This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[committed] 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.
---
 bfd/elfxx-mips.c |    1 +
 1 file changed, 1 insertion(+)

binutils-mips-bfd-dynsym-rtproc-mark.diff
Index: binutils/bfd/elfxx-mips.c
===================================================================
--- binutils.orig/bfd/elfxx-mips.c	2018-07-02 15:42:17.517546285 +0100
+++ binutils/bfd/elfxx-mips.c	2018-07-02 15:42:32.072337628 +0100
@@ -7844,6 +7844,7 @@ _bfd_mips_elf_create_dynamic_sections (b
 	    return FALSE;
 
 	  h = (struct elf_link_hash_entry *) bh;
+	  h->mark = 1;
 	  h->non_elf = 0;
 	  h->def_regular = 1;
 	  h->type = STT_SECTION;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]