* ld-checks/checks.exp: .lcomm is incompatible with ppc coff.
authorAlan Modra <amodra@gmail.com>
Mon, 27 Aug 2001 10:49:55 +0000 (10:49 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 27 Aug 2001 10:49:55 +0000 (10:49 +0000)
* ld-scripts/cross1.t: Add .toc section.
* ld-scripts/cross2.t: Likewise.
* ld-scripts/phdrs.exp: powerpc64 is 64 bit.
* ld-srec/srec.exp: xfail powerpc64

ld/testsuite/ChangeLog
ld/testsuite/ld-checks/checks.exp
ld/testsuite/ld-scripts/cross1.t
ld/testsuite/ld-scripts/cross2.t
ld/testsuite/ld-scripts/phdrs.exp
ld/testsuite/ld-srec/srec.exp

index 39ae59e..a84e636 100644 (file)
@@ -1,3 +1,12 @@
+2001-08-27  Alan Modra  <amodra@bigpond.net.au>
+           Linus Nordberg  <linus@swox.se>
+
+       * ld-checks/checks.exp: .lcomm is incompatible with ppc coff.
+       * ld-scripts/cross1.t: Add .toc section.
+       * ld-scripts/cross2.t: Likewise.
+       * ld-scripts/phdrs.exp: powerpc64 is 64 bit.
+       * ld-srec/srec.exp: xfail powerpc64
+
 2001-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
 
        * ld-selective/selective.exp: Return if target is `vax-*-ultrix*'.
index 9e60a73..f9478df 100644 (file)
@@ -24,9 +24,10 @@ proc section_check {} {
     global srcdir
     global subdir
     
-    # The usage of .lcomm in asm.s is incompatible with ia64.
-    if { [istarget ia64-*-elf*]
-        || [istarget ia64-*-linux*] } {
+    # The usage of .lcomm in asm.s is incompatible with ia64 and ppc coff.
+    if { [istarget ia64-*-elf*] || [istarget ia64-*-linux*]
+        || [istarget powerpc*-*-aix*] || [istarget powerpc-*-beos*]
+        || [istarget rs6000-*-*] } {
        return
     }
     set test "check sections 1"
index e1948c9..7636b78 100644 (file)
@@ -1,6 +1,7 @@
 NOCROSSREFS ( .text .data )
 SECTIONS
 {
+  .toc  : { *(.toc) }
   .text : { tmpdir/cross1.o }
   .data : { tmpdir/cross2.o }
 }
index 4dd7ddd..a0cdcbb 100644 (file)
@@ -2,5 +2,5 @@ NOCROSSREFS ( .text .data )
 SECTIONS
 {
   .text : { *(.text) *(.text.*) *(.pr) }
-  .data : { *(.data) *(.data.*) *(.sdata) *(.rw) *(.tc0) *(.tc) }
+  .data : { *(.data) *(.data.*) *(.sdata) *(.rw) *(.tc0) *(.tc) *(.toc) }
 }
index 1a512a8..4c142c6 100644 (file)
@@ -49,7 +49,8 @@ set phdrs_regexp \
 # On a 64 bit ELF format, we need different numbers.
 if { [istarget alpha*-*-*] || [istarget "ia64*-*-*"]
     || [istarget "hppa*64*-*-*"] || [istarget "x86_64*-*-*"]
-    || [istarget "s390x*-*-*"] || [istarget "sparc64*-*-*"]} then {
+    || [istarget "s390x*-*-*"] || [istarget "sparc64*-*-*"]
+    || [istarget "powerpc64*-*-*"] || [istarget "*-*-*elf64*"] } then {
   set phdrs_regexp \
 ".*Program Header:.*PHDR *off *0x00*40 *vaddr *0x00*800040 *paddr *0x00*800040.*filesz *0x0\[0-9a-f\]* *memsz *0x0\[0-9a-f\]* flags r--.*LOAD *off *0x00* *vaddr *0x00*800000 *paddr *0x00*800000.*filesz *0x00*\[0-9a-f\]* *memsz *0x0\[0-9a-f\]* *flags r-x.*LOAD *off *0x0\[0-9a-f\]* *vaddr *0x00*80*\[0-9a-f\]* *paddr *0x00*80*\[0-9a-f\]*.*filesz *0x0\[0-9a-f\]* *memsz *0x0\[0-9a-f\]* *flags *rw-.*"
 }
index 5878199..7496dcd 100644 (file)
@@ -282,6 +282,9 @@ proc run_srec_test { test objs } {
     
     if { ![ld_simple_link $ld tmpdir/sr1 "$flags $objs"] \
         || ![ld_simple_link $ld tmpdir/sr2.sr "$flags --oformat srec $objs"] } {
+       # PowerPc64 srec linker can't handle .toc relocations.
+       setup_xfail "powerpc64*-*-*"
+       setup_xfail "powerpc*-*-*64*"
        setup_xfail "hppa*-*-*elf*"
        fail $test
        return