This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
NOCROSSREFS on powerpc64
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: binutils at sources dot redhat dot com
- Date: Tue, 18 Oct 2005 11:55:16 +0930
- Subject: NOCROSSREFS on powerpc64
HJ's
* ld-scripts/crossref.exp: Add a new test for "ld -r".
fails on powerpc64-linux, because there is an indirection via the opd
section between caller section and callee section. This makes
NOCROSSREFS rather useless on this target, which I doubt anyone cares
about because NOCROSSREFS is mainly aimed at embedded targets using
overlays. The following hack makes the test pass.
* ld-scripts/crossref.exp: Add -mcall-aixdesc to CFLAGS for
powerpc64.
Index: ld/testsuite/ld-scripts/crossref.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-scripts/crossref.exp,v
retrieving revision 1.13
diff -u -p -r1.13 crossref.exp
--- ld/testsuite/ld-scripts/crossref.exp 4 Oct 2005 19:54:08 -0000 1.13
+++ ld/testsuite/ld-scripts/crossref.exp 18 Oct 2005 02:04:01 -0000
@@ -35,6 +35,13 @@ 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"
+}
+
if { ![ld_compile $CC "$srcdir/$subdir/cross1.c" tmpdir/cross1.o] \
|| ![ld_compile $CC "$srcdir/$subdir/cross2.c" tmpdir/cross2.o] } {
unresolved $test1
--
Alan Modra
IBM OzLabs - Linux Technology Centre