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 77440161867..e0b8766df51 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,13 @@ +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 diff --git a/ld/testsuite/ld-scripts/cross2.t b/ld/testsuite/ld-scripts/cross2.t index a0cdcbb6acc..07c1d8497eb 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 e48b9479fd1..9da31afaf92 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 4e5d28a3656..fa3401c1300 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 a581b92d3bb..c86d878ae16 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 0f23ca062ea..20f5b590743 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 29173fcbf9e..8477cfadbc2 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 437132083e2..c9023c1881f 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.30.2