This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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]

NetBSD testsuite patch (revised)


Here is a more complete patch that gets the asm-source.exp tests
passing on NetBSD/i386.  The rationale behind this change is to force
the linker to pass `--entry _start' for all target systems, since the
asmsrc.1 file hardwires the symbol name to `_start'.  This simplifies
things and makes it possible to remove the duplicated label __start in
mips.inc.

This patch supersedes my previous patch.  Okay to commit?

Ben


2003-11-23  Ben Elliston  <bje@wasabisystems.com>

	* gdb.asm/asm-source.exp: Make sure the final link succeeds on
	NetBSD as it does on FreeBSD.  Modelled on a similar change by
	Mark Kettenis on 2003-05-30.
	(link-flags): Set to "--entry _start" regardless of target.
	Special linker flags are to be appended to $link-flags.
	* gdb.asm/mips.inc (gdbasm_startup): Remove __start label.

Index: asm-source.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/asm-source.exp,v
retrieving revision 1.43
diff -u -p -r1.43 asm-source.exp
--- asm-source.exp	15 Sep 2003 09:52:56 -0000	1.43
+++ asm-source.exp	23 Nov 2003 09:29:38 -0000
@@ -33,7 +33,7 @@ set bug_id 0
 
 set asm-arch ""
 set asm-flags ""
-set link-flags ""
+set link-flags "--entry _start"
 
 switch -glob -- [istarget] {
     "alpha*-*-*" {
@@ -63,13 +63,10 @@ switch -glob -- [istarget] {
     }
     "i\[3456\]86-*-*" {
         set asm-arch i386
-        if [istarget "*-*-cygwin*"] then {
-            set link-flags "--entry _start"
-        }
     }
     "m32r*-*" {
         set asm-arch m32r
-        set link-flags "-Wl,--whole-archive -lgloss -Wl,--no-whole-archive"
+        append link-flags " -Wl,--whole-archive -lgloss -Wl,--no-whole-archive"
     }
     "m6811-*-*" {
         set asm-arch m68hc11
@@ -88,7 +85,6 @@ switch -glob -- [istarget] {
     "sh*-*-*" {
         set asm-arch sh
         set asm-flags "-gdwarf2 -I${srcdir}/${subdir} -I${objdir}/${subdir}"
-        set link-flags "--entry _start"
     }
     "sparc-*-*" {
         set asm-arch sparc
@@ -118,13 +114,14 @@ if { "${asm-arch}" == "" } {
     gdb_suppress_entire_file "Assembly source test -- not implemented for this target."
 }
 
-# On FreeBSD, crt1.o the final link will fail because of unresolved
-# symbols.  It turns out that libc.so references symbols that are
-# normally provided by crt1.o, which isn't linked in since we specify
-# -nostartfiles.  Using -nostdlib doesn't help since target_compile
-# automatically adds -lm.  Linking statically avoids this mess.
-if [istarget "*-*-freebsd*"] then {
-    set link-flags "-static"
+# On FreeBSD and NetBSD, crt1.o the final link will fail because of
+# unresolved symbols.  It turns out that libc.so references symbols
+# that are normally provided by crt1.o, which isn't linked in since we
+# specify -nostartfiles.  Using -nostdlib doesn't help since
+# target_compile automatically adds -lm.  Linking statically avoids
+# this mess.
+if {[istarget "*-*-freebsd*"] || [istarget "*-*-netbsd*"]} then {
+    append link-flags " -static"
 }
 
 # Watch out, we are invoking the assembler, but the testsuite sets multilib
Index: mips.inc
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/mips.inc,v
retrieving revision 1.1
diff -u -p -r1.1 mips.inc
--- mips.inc	22 Oct 2002 01:43:37 -0000	1.1
+++ mips.inc	23 Nov 2003 09:29:38 -0000
@@ -58,7 +58,5 @@
 
 	comment "crt0 startup"
 	.macro gdbasm_startup
-	.global __start
-__start:
 	move	$fp, $sp
 	.endm


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