* gdb.asm/asm-source.exp: Strip -Wl, from link-flags. Don't

append -static to link-flags for *-*-freebsd*, *-*netbsd* and
*-*solaris2*.  Remove commented out default settings for
asm-flags.  Replace gdb_compile with target_link.
This commit is contained in:
Mark Kettenis 2004-01-30 21:23:46 +00:00
parent ea01195e38
commit 3a4b3aac5a
2 changed files with 15 additions and 21 deletions

View File

@ -1,3 +1,10 @@
2004-01-30 Mark Kettenis <kettenis@gnu.org>
* gdb.asm/asm-source.exp: Strip -Wl, from link-flags. Don't
append -static to link-flags for *-*-freebsd*, *-*netbsd* and
*-*solaris2*. Remove commented out default settings for
asm-flags. Replace gdb_compile with target_link.
2004-01-29 Michael Chastain <mec.gnu@mindspring.com>
* gdb.cp/inherit.exp: Rewrite. Use gdb_test_multiple and gdb

View File

@ -70,7 +70,7 @@ switch -glob -- [istarget] {
}
"m32r*-*" {
set asm-arch m32r
append link-flags " -Wl,--whole-archive -lgloss -Wl,--no-whole-archive"
append link-flags "--whole-archive -lgloss --no-whole-archive"
}
"m6811-*-*" {
set asm-arch m68hc11
@ -118,20 +118,6 @@ if { "${asm-arch}" == "" } {
gdb_suppress_entire_file "Assembly source test -- not implemented for this target."
}
# On FreeBSD and NetBSD, 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.
#
# On Solaris, linking dynamically results in a binary that dumps core.
#
if {[istarget "*-*-freebsd*"] || [istarget "*-*-netbsd*"]
|| [istarget "*-*-solaris2*"]} then {
append link-flags " -static"
}
# On NetBSD/ELF we need a special NetBSD-identifying note section.
if { [istarget "*-*-netbsdelf*"]
|| [istarget "x86_64-*-netbsd*"] } then {
@ -164,7 +150,6 @@ remote_exec build "rm -f ${subdir}/note.inc"
remote_download host ${srcdir}/${subdir}/${asm-note}.inc ${subdir}/note.inc
if { "${asm-flags}" == "" } {
#set asm-flags "-Wa,-gstabs,-I${srcdir}/${subdir},-I${objdir}/${subdir}"
set asm-flags "-gstabs -I${srcdir}/${subdir} -I${objdir}/${subdir}"
}
@ -175,11 +160,13 @@ if {[target_assemble ${srcdir}/${subdir}/${srcfile2} asmsrc2.o "${asm-flags}"] !
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
set opts "debug ldflags=-nostartfiles"
foreach i ${link-flags} {
append opts " ldflags=$i"
}
if { [gdb_compile "asmsrc1.o asmsrc2.o" "${binfile}" executable $opts] != "" } {
# We deliberately don't use gdb_compile here to link together the
# assembled object files. Using gdb_compile, and therefore the C
# compiler, is conceptually wrong, since we're testing raw assembler
# code here that provides its own startup code. Using target_link
# also avoids a lot of problems on many systems, most notably on
# *-*-*bsd* and *-*-solaris2*.
if {[target_link "asmsrc1.o asmsrc2.o" "${binfile}" ${link-flags}] != "" } then {
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}