This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[committed] MIPS/LD/testsuite: XFAIL DT_TEXTREL map file warning test
- From: "Maciej W. Rozycki" <macro at mips dot com>
- To: <binutils at sourceware dot org>
- Date: Wed, 20 Jun 2018 00:41:38 +0100
- Subject: [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,