MIPS/LD/testsuite: XFAIL DT_TEXTREL map file warning test
authorMaciej W. Rozycki <macro@mips.com>
Tue, 19 Jun 2018 23:37:51 +0000 (00:37 +0100)
committerMaciej W. Rozycki <macro@mips.com>
Tue, 19 Jun 2018 23:37:51 +0000 (00:37 +0100)
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/ChangeLog
ld/testsuite/ld-elf/shared.exp

index 7aa3b2e63a79fe827bd5bbb996808d174b92a55a..495eeef384c2fc360fb5d668ab5110cad38766d7 100644 (file)
@@ -1,3 +1,8 @@
+2018-06-19  Maciej W. Rozycki  <macro@mips.com>
+
+       * testsuite/ld-elf/shared.exp: XFAIL DT_TEXTREL map file warning
+       test for `mips*-*-*'.
+
 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
 
        * configure.ac: Remove AC_PREREQ.
index 8ec73ef4cb4d661b599f9ca0276b6be73f8c44f9..daac3be43d40b3f9d0a4933586709a917b9c5a15 100644 (file)
@@ -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,