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/LD/testsuite: XFAIL DT_TEXTREL map file warning test


Remove:

FAIL: DT_TEXTREL map file warning

introduced with commit 63c1f59d6655 ("readonly_dynrelocs"), coming from 
the lack of a "dynamic relocation against `foo' in read-only section 
`.rodata'" warning message produced.

The cause of the failure is that for sections which have dynamic 
relocations attached the MIPS backend sets SHF_WRITE, in 
`mips_elf_create_dynamic_relocation', yielding:

$ readelf -S textrel.so | grep rodata
  [ 8] .rodata           PROGBITS        00000254 000254 000004 00  WA  0   0  1
$

so the section is read/write and therefore there is nothing to warn 
about.

This arrangement came from commit 7403cb6305f5 ("PATCH for N32 ABI"), 
<https://sourceware.org/ml/binutils/1999-q2/msg00375.html>, i.e. for all 
practical purposes it has been there since forever, and therefore it can 
be considered a part of the ABI and the test case irrelevant for MIPS 
targets.

We don't have a clean way to request UNSUPPORTED result, which would be 
the most appropriate here, so just XFAIL the test instead.

	ld/
	* testsuite/ld-elf/shared.exp: XFAIL DT_TEXTREL map file warning
	test for `mips*-*-*'.
---
 ld/testsuite/ld-elf/shared.exp |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

binutils-mips-ld-test-dt-textrel.diff
Index: binutils/ld/testsuite/ld-elf/shared.exp
===================================================================
--- binutils.orig/ld/testsuite/ld-elf/shared.exp	2018-06-14 21:37:51.000000000 +0100
+++ binutils/ld/testsuite/ld-elf/shared.exp	2018-06-19 13:42:22.702970439 +0100
@@ -176,6 +176,11 @@ run_ld_link_tests [list \
     ] \
 ] "xtensa-*-*"
 
+# The MIPS backend sets SHF_WRITE, in `mips_elf_create_dynamic_relocation',
+# for any section that has a dynamic relocation attached and consequently
+# this test is irrelevant for MIPS targets.  We don't have a clean way to
+# request UNSUPPORTED result, which would be the most appropriate here,
+# so we just XFAIL the test instead.
 run_ld_link_tests [list \
     [list \
 	"DT_TEXTREL map file warning" \
@@ -186,7 +191,7 @@ run_ld_link_tests [list \
 	 {{ld textrel.map}} \
 	"textrel.so" \
     ] \
-] "cris*-*-*"
+] "cris*-*-*" "mips*-*-*"
 
 # PR ld/20828 check for correct dynamic symbol table entries where:
 # - symbols have been defined with a linker script,


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