aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@imgtec.com>2017-06-26 16:08:55 +0100
committerMaciej W. Rozycki <macro@imgtec.com>2017-06-26 16:15:15 +0100
commit515a4464176efc6ac31c83bd40b5c67f61c3b044 (patch)
tree2cbe3ded6c6d0330fae455aebe170706db9e3cc3 /bfd
parent873c08142c4c377d2d3ed0b1b1b9e262ddc06c61 (diff)
downloadgdb-515a4464176efc6ac31c83bd40b5c67f61c3b044.zip
gdb-515a4464176efc6ac31c83bd40b5c67f61c3b044.tar.gz
gdb-515a4464176efc6ac31c83bd40b5c67f61c3b044.tar.bz2
LD: Fix .startof.SECNAME/.sizeof.SECNAME tests for MIPS/IRIX
Correct .startof.SECNAME/.sizeof.SECNAME tests for MIPS/IRIX targets, complementing commit dc74becf498f ("ld: Add tests for -Ur") and commit da614360f520 ("ld: Add tests for .startof.SECNAME/.sizeof.SECNAME") with subsequent updates, and in reference to commit cbd0eecf261c ("Always define referenced __start_SECNAME/__stop_SECNAME") and commit 7dba9362c172 ("Rewrite __start and __stop symbol handling"). These targets set the STT_OBJECT type for non-function symbol references, according to `elf_frob_symbol' code in gas/config/obj-elf.c: /* The Irix 5 and 6 assemblers set the type of any common symbol and any undefined non-function symbol to STT_OBJECT. We try to be compatible, since newer Irix 5 and 6 linkers care. However, we only set undefined symbols to be STT_OBJECT if we are on Irix, because that is the only time gcc will generate the necessary .global directives to mark functions. */ if (S_IS_COMMON (symp)) symbol_get_bfdsym (symp)->flags |= BSF_OBJECT; if (strstr (TARGET_OS, "irix") != NULL && ! S_IS_DEFINED (symp) && (symbol_get_bfdsym (symp)->flags & BSF_FUNCTION) == 0) symbol_get_bfdsym (symp)->flags |= BSF_OBJECT; and consequently entries in the symbol table listing from `readelf' produced with these tests do not match the NOTYPE pattern expected, causing test suite failures: FAIL: ld-elf/sizeofa FAIL: ld-elf/sizeofc FAIL: ld-elf/startofa FAIL: ld-elf/startofc specifically with the `mips-sgi-irix5' and `mips-sgi-irix6' targets. Given that it does not matter for the feature covered by these tests whether the type of the symbols produced is STT_NOTYPE or STT_OBJECT adjust the problematic cases to accept either type, removing the failures observed. ld/ * testsuite/ld-elf/sizeofa.d: Also accept the OBJECT type for the symbols examined. * testsuite/ld-elf/sizeofc.d: Likewise. * testsuite/ld-elf/startofa.d: Likewise. * testsuite/ld-elf/startofc.d: Likewise.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog2
1 files changed, 2 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 6cf71c3..ee926c6 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,5 @@
+2017-06-26 Maciej W. Rozycki <macro@imgtec.com>
+
2017-06-26 Nick Clifton <nickc@redhat.com>
PR binutils/21670