This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH/RFA] sh64*-*-netbsd* ld test failures


Hi,

shelf32_nbsd.sh uses OTHER_SECTIONS which comes from shelf.sh and
.stack section in OTHER_SECTIONS causes many failures in ld test
on sh64*-*-netbsd*.
The first part of the patch below fixes this. The rest of the patch
set parameters correctly for netbsd and skip some tests which need
emulation vectors which don't exist in the netbsd linker.
With this patch and the updates of tests which I'm preparing now,
all failures for ld tests on sh64-unknown-netbsd went away. But
I want review by NetBSD experts.

Regards,
	kaz
--
2003-07-30  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

[ld/ChangeLog]
	* emulparams/shelf32_nbsd.sh (OTHER_SECTIONS): Redefine.

[ld/testsuite/ChangeLog]
	* ld-sh/rd-sh.exp (LDFLAGS): Define appropriately for each
	sh64/sh5 targets.
	* ld-sh/sh64/relax.exp (emul32): Set to shelf32_nbsd for netbsd.
	* ld-sh/sh64/relfail.exp: Set parameters for netbsd.
	* ld-sh/sh64/sh64.exp: Skip this for netbsd.

diff -u3prN ORIG/src/ld/emulparams/shelf32_nbsd.sh LOCAL/src/ld/emulparams/shelf32_nbsd.sh
--- ORIG/src/ld/emulparams/shelf32_nbsd.sh	Tue Jun  4 11:57:43 2002
+++ LOCAL/src/ld/emulparams/shelf32_nbsd.sh	Wed Jul 30 17:53:37 2003
@@ -11,3 +11,7 @@ ENTRY=__start
 
 unset EMBEDDED
 unset STACK_ADDR
+unset OTHER_SECTIONS
+OTHER_SECTIONS="
+  .cranges 0 : { *(.cranges) }
+"
diff -u3prN ORIG/src/ld/testsuite/ld-sh/rd-sh.exp LOCAL/src/ld/testsuite/ld-sh/rd-sh.exp
--- ORIG/src/ld/testsuite/ld-sh/rd-sh.exp	Thu Nov  7 07:28:55 2002
+++ LOCAL/src/ld/testsuite/ld-sh/rd-sh.exp	Wed Jul 30 18:15:05 2003
@@ -29,10 +29,19 @@ if ![istarget sh*-*-*] {
 }
 
 global ASFLAGS
+global LDFLAGS
 set asflags_save "$ASFLAGS"
+set ldflags_save "$LDFLAGS"
 
 if {[istarget sh64*-*-*] || [istarget sh5*-*-*]} then {
     set ASFLAGS "$ASFLAGS -isa=SHcompact"
+    if [istarget sh64*-*-linux*] {
+        set LDFLAGS "$LDFLAGS -mshlelf32_linux"
+    } elseif { [istarget sh64*-*-netbsd*] || [istarget sh5*-*-netbsd*] } {
+        set LDFLAGS "$LDFLAGS -mshlelf32_nbsd -e_start"
+    } else {
+        set LDFLAGS "$LDFLAGS -mshlelf32"
+    }
 }
 
 set rd_test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
@@ -52,3 +61,4 @@ foreach shtest $rd_test_list {
     }
 }
 set ASFLAGS "$asflags_save"
+set LDFLAGS "$ldflags_save"
diff -u3prN ORIG/src/ld/testsuite/ld-sh/sh64/relax.exp LOCAL/src/ld/testsuite/ld-sh/sh64/relax.exp
--- ORIG/src/ld/testsuite/ld-sh/sh64/relax.exp	Wed Oct 23 21:05:29 2002
+++ LOCAL/src/ld/testsuite/ld-sh/sh64/relax.exp	Wed Jul 30 18:07:15 2003
@@ -35,6 +35,8 @@ if ![istarget sh64-*-*] {
 
 if [istarget sh64*-*-linux*] {
     set emul32 "shlelf32_linux"
+} elseif { [istarget sh64*-*-netbsd*] || [istarget sh5*-*-netbsd*] } {
+    set emul32 "shelf32_nbsd"
 } else {
     set emul32 "shelf32"
 }
diff -u3prN ORIG/src/ld/testsuite/ld-sh/sh64/relfail.exp LOCAL/src/ld/testsuite/ld-sh/sh64/relfail.exp
--- ORIG/src/ld/testsuite/ld-sh/sh64/relfail.exp	Wed Oct 23 21:05:30 2002
+++ LOCAL/src/ld/testsuite/ld-sh/sh64/relfail.exp	Wed Jul 30 14:32:06 2003
@@ -27,6 +27,13 @@ if [istarget sh64-*-linux*] {
     set oformat32 "elf32-sh64-linux"
     set startsym "_start"
     set doabi64 0
+} elseif { [istarget sh64*-*-netbsd*] || [istarget sh5*-*-netbsd*] } then {
+    set emul32 "shelf32_nbsd"
+    set oformat32 "elf32-sh64-nbsd"
+    set startsym "__start"
+    set doabi64 1
+    set emul64 "shelf64_nbsd"
+    set oformat64 "elf64-sh64-nbsd"
 } else {
     set emul32 "shelf32"
     set oformat32 "elf32-sh64"
diff -u3prN ORIG/src/ld/testsuite/ld-sh/sh64/sh64.exp LOCAL/src/ld/testsuite/ld-sh/sh64/sh64.exp
--- ORIG/src/ld/testsuite/ld-sh/sh64/sh64.exp	Wed Oct 23 21:05:30 2002
+++ LOCAL/src/ld/testsuite/ld-sh/sh64/sh64.exp	Wed Jul 30 18:01:19 2003
@@ -27,6 +27,10 @@ if [istarget sh64*-*-linux*] {
     return
 }
 
+if { [istarget sh64*-*-netbsd*] || [istarget sh5*-*-netbsd*] } then {
+	return
+}
+
 # List contains test-items with 3 items followed by 2 lists:
 # 0:name 1:ld options 2:assembler options
 # 3:filenames of assembler files 4: action and options. 5: name of output file


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]