From 82bc9362f1b0851bb992515d44871e6438c2020c Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 19 May 2016 00:10:13 +0930 Subject: [PATCH] Hack crossref tests for powerpc64 A different set of hacks to make the crossref tests pass on powerpc64 and powerpc64le. * testsuite/ld-scripts/crossref.exp: Remove -mcall-aixdesc hack. * testsuite/ld-scripts/cross2.t: Tweak .opd and .toc placement. * testsuite/ld-scripts/cross3.t: Likewise. * testsuite/ld-scripts/cross4.t: Likewise. * testsuite/ld-scripts/cross5.t: Likewise. * testsuite/ld-scripts/cross6.t: Likewise. * testsuite/ld-scripts/cross7.t: Likewise. --- ld/ChangeLog | 10 ++++++++++ ld/testsuite/ld-scripts/cross2.t | 2 +- ld/testsuite/ld-scripts/cross3.t | 2 +- ld/testsuite/ld-scripts/cross4.t | 4 ++-- ld/testsuite/ld-scripts/cross5.t | 2 +- ld/testsuite/ld-scripts/cross6.t | 4 ++-- ld/testsuite/ld-scripts/cross7.t | 4 ++-- ld/testsuite/ld-scripts/crossref.exp | 7 ------- 8 files changed, 19 insertions(+), 16 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 7744016..e0b8766 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,15 @@ 2016-05-19 Alan Modra + * testsuite/ld-scripts/crossref.exp: Remove -mcall-aixdesc hack. + * testsuite/ld-scripts/cross2.t: Tweak .opd and .toc placement. + * testsuite/ld-scripts/cross3.t: Likewise. + * testsuite/ld-scripts/cross4.t: Likewise. + * testsuite/ld-scripts/cross5.t: Likewise. + * testsuite/ld-scripts/cross6.t: Likewise. + * testsuite/ld-scripts/cross7.t: Likewise. + +2016-05-19 Alan Modra + * testsuite/ld-elf/shared.exp (mix_pic_and_non_pic): Pass in exe name rather than constructing testname. Fix typo in sub-test name. Log copying. Use -rpath rather than -R. diff --git a/ld/testsuite/ld-scripts/cross2.t b/ld/testsuite/ld-scripts/cross2.t index a0cdcbb..07c1d84 100644 --- a/ld/testsuite/ld-scripts/cross2.t +++ b/ld/testsuite/ld-scripts/cross2.t @@ -1,6 +1,6 @@ NOCROSSREFS ( .text .data ) SECTIONS { - .text : { *(.text) *(.text.*) *(.pr) } + .text : { *(.text) *(.text.*) *(.pr) *(.opd) } .data : { *(.data) *(.data.*) *(.sdata) *(.rw) *(.tc0) *(.tc) *(.toc) } } diff --git a/ld/testsuite/ld-scripts/cross3.t b/ld/testsuite/ld-scripts/cross3.t index e48b947..9da31af 100644 --- a/ld/testsuite/ld-scripts/cross3.t +++ b/ld/testsuite/ld-scripts/cross3.t @@ -4,7 +4,7 @@ SECTIONS { .text : { *(.text) *(.text.*) } .nocrossrefs : { *(.nocrossrefs) } - .data : { *(.data) *(.data.*) *(.sdata) *(.opd) } + .data : { *(.data) *(.data.*) *(.sdata) *(.opd) *(.toc) } .bss : { *(.bss) *(COMMON) } /DISCARD/ : { *(*) } } diff --git a/ld/testsuite/ld-scripts/cross4.t b/ld/testsuite/ld-scripts/cross4.t index 4e5d28a..fa3401c 100644 --- a/ld/testsuite/ld-scripts/cross4.t +++ b/ld/testsuite/ld-scripts/cross4.t @@ -2,9 +2,9 @@ NOCROSSREFS_TO(.data .nocrossrefs) SECTIONS { - .text : { *(.text) *(.text.*) } + .text : { *(.text) *(.text.*) *(.opd) } .nocrossrefs : { *(.nocrossrefs) } - .data : { *(.data) *(.data.*) *(.sdata) *(.opd) } + .data : { *(.data) *(.data.*) *(.sdata) *(.toc) } .bss : { *(.bss) *(COMMON) } /DISCARD/ : { *(*) } } diff --git a/ld/testsuite/ld-scripts/cross5.t b/ld/testsuite/ld-scripts/cross5.t index a581b92..c86d878 100644 --- a/ld/testsuite/ld-scripts/cross5.t +++ b/ld/testsuite/ld-scripts/cross5.t @@ -4,7 +4,7 @@ SECTIONS { .text : { *(.text) *(.text.*) } .nocrossrefs : { *(.nocrossrefs) } - .data : { *(.data) *(.data.*) *(.sdata) *(.opd) } + .data : { *(.data) *(.data.*) *(.sdata) *(.opd) *(.toc) } .bss : { *(.bss) *(COMMON) } /DISCARD/ : { *(*) } } diff --git a/ld/testsuite/ld-scripts/cross6.t b/ld/testsuite/ld-scripts/cross6.t index 0f23ca0..20f5b59 100644 --- a/ld/testsuite/ld-scripts/cross6.t +++ b/ld/testsuite/ld-scripts/cross6.t @@ -2,8 +2,8 @@ NOCROSSREFS_TO(.text .data) SECTIONS { - .text : { *(.text) *(.text.*) } - .data : { *(.data) *(.data.*) *(.sdata) *(.opd) } + .text : { *(.text) *(.text.*) *(.opd) } + .data : { *(.data) *(.data.*) *(.sdata) *(.toc) } .bss : { *(.bss) *(COMMON) } /DISCARD/ : { *(*) } } diff --git a/ld/testsuite/ld-scripts/cross7.t b/ld/testsuite/ld-scripts/cross7.t index 29173fc..8477cfa 100644 --- a/ld/testsuite/ld-scripts/cross7.t +++ b/ld/testsuite/ld-scripts/cross7.t @@ -2,8 +2,8 @@ NOCROSSREFS_TO(.data .text) SECTIONS { - .text : { *(.text) *(.text.*) } - .data : { *(.data) *(.data.*) *(.sdata) *(.opd) } + .text : { *(.text) *(.text.*) *(.opd) } + .data : { *(.data) *(.data.*) *(.sdata) *(.toc) } .bss : { *(.bss) *(COMMON) } /DISCARD/ : { *(*) } } diff --git a/ld/testsuite/ld-scripts/crossref.exp b/ld/testsuite/ld-scripts/crossref.exp index 4371320..c9023c1 100644 --- a/ld/testsuite/ld-scripts/crossref.exp +++ b/ld/testsuite/ld-scripts/crossref.exp @@ -52,13 +52,6 @@ if [istarget xtensa*-*-*] { set CFLAGS "$CFLAGS -mtext-section-literals" } -# If we have a compiler that doesn't use/reference dot-symbols, then -# calls to functions reference the .opd section function descriptor. -# This makes NOCROSSREFS rather useless on powerpc64. -if [istarget powerpc64-*-*] { - set CFLAGS "$CFLAGS -mcall-aixdesc" -} - # Prevent the use of the MeP's small data area which references a symbol # called __sdabase which will not be defined by our test linker scripts. if [istarget mep*-*-elf] { -- 2.7.4