diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index bfe501f6f1..88f1aa28b7 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2003-11-26 Ben Elliston + + * 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. + 2003-11-25 Michael Chastain * gdb.cp/method.exp: Accept output of new demangler. diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp index 8b0df38f3f..d07fc7df19 100644 --- a/gdb/testsuite/gdb.asm/asm-source.exp +++ b/gdb/testsuite/gdb.asm/asm-source.exp @@ -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 diff --git a/gdb/testsuite/gdb.asm/mips.inc b/gdb/testsuite/gdb.asm/mips.inc index 751f73f859..a0992bb530 100644 --- a/gdb/testsuite/gdb.asm/mips.inc +++ b/gdb/testsuite/gdb.asm/mips.inc @@ -58,7 +58,5 @@ comment "crt0 startup" .macro gdbasm_startup - .global __start -__start: move $fp, $sp .endm