+2003-11-26  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.
+
 2003-11-25  Michael Chastain  <mec.gnu@mindspring.com>
 
        * gdb.cp/method.exp: Accept output of new demangler.
 
 
 set asm-arch ""
 set asm-flags ""
-set link-flags ""
+set link-flags "--entry _start"
 
 switch -glob -- [istarget] {
     "alpha*-*-*" {
     }
     "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
     "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
     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