From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10570 invoked by alias); 30 Jan 2004 21:35:06 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 10524 invoked from network); 30 Jan 2004 21:35:03 -0000 Received: from unknown (HELO walton.kettenis.dyndns.org) (213.93.115.144) by sources.redhat.com with SMTP; 30 Jan 2004 21:35:03 -0000 Received: from elgar.kettenis.dyndns.org (elgar.kettenis.dyndns.org [192.168.0.2]) by walton.kettenis.dyndns.org (8.12.6p3/8.12.6) with ESMTP id i0ULYvr3000315; Fri, 30 Jan 2004 22:34:57 +0100 (CET) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: from elgar.kettenis.dyndns.org (localhost [127.0.0.1]) by elgar.kettenis.dyndns.org (8.12.6p3/8.12.6) with ESMTP id i0ULYvQP000459; Fri, 30 Jan 2004 22:34:57 +0100 (CET) (envelope-from kettenis@elgar.kettenis.dyndns.org) Received: (from kettenis@localhost) by elgar.kettenis.dyndns.org (8.12.6p3/8.12.6/Submit) id i0ULYv7g000456; Fri, 30 Jan 2004 22:34:57 +0100 (CET) Date: Fri, 30 Jan 2004 21:35:00 -0000 Message-Id: <200401302134.i0ULYv7g000456@elgar.kettenis.dyndns.org> From: Mark Kettenis To: cagney@gnu.org CC: gdb-patches@sources.redhat.com In-reply-to: <400C2CB6.7060304@gnu.org> (message from Andrew Cagney on Mon, 19 Jan 2004 14:15:02 -0500) Subject: Re: [PATCH] Revert to using target_link ind gdb.asm/asm-source.exp References: <200401191859.i0JIxLPf000571@elgar.kettenis.dyndns.org> <400C2CB6.7060304@gnu.org> X-SW-Source: 2004-01/txt/msg00765.txt.bz2 Date: Mon, 19 Jan 2004 14:15:02 -0500 From: Andrew Cagney > If nobody objects, I'll commit this next week or so. Comments, lots of comments. Otherwize, two weeks or so after that, someone will try to re-instate it ... You're probably right, so here's what I actually checked in: Index: testsuite/ChangeLog from Mark Kettenis * 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. Index: testsuite/gdb.asm/asm-source.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/asm-source.exp,v retrieving revision 1.47 diff -u -p -r1.47 asm-source.exp --- testsuite/gdb.asm/asm-source.exp 1 Jan 2004 01:13:42 -0000 1.47 +++ testsuite/gdb.asm/asm-source.exp 30 Jan 2004 21:22:47 -0000 @@ -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. 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} 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." }