From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27989 invoked by alias); 18 Dec 2001 18:38:34 -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 27947 invoked from network); 18 Dec 2001 18:38:33 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sources.redhat.com with SMTP; 18 Dec 2001 18:38:33 -0000 Received: from redhat.com (totem.toronto.redhat.com [172.16.14.242]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id KAA12038; Tue, 18 Dec 2001 10:38:21 -0800 (PST) Message-ID: <3C1F8D1C.77D4D94E@redhat.com> Date: Tue, 18 Dec 2001 10:38:00 -0000 From: Fernando Nasser Organization: Red Hat , Inc. - Toronto X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.7-10smp i686) X-Accept-Language: en MIME-Version: 1.0 To: Corinna Vinschen CC: gdb , gdb-patches , Michael Snyder Subject: Re: [RFC]: Use `gdb_compile' instead of `target_link' for linking asm-source testcase References: <20011218145813.Y21898@cygbert.vinschen.de> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2001-12/txt/msg00444.txt.bz2 This looks reasonable to me. Fernando Corinna Vinschen wrote: > > Hi, > > I would like to propose a change in the asm testcase in testsuite/gdb.asm. > > The target_link should get substituted by a call to gdb_compile > using the `-nostartfiles' option for the following reason. > > Some (many?) targets have to support several different variants > as, e.g., coff or elf exec format, simulated or real HW targets, > etc. > > Each of these styles need a slightly different handling. E.g. some > embedded boards need a special link flag while another board using > the same CPU need another link flag while the simulated target needs > again another flag (-Tfoo.ld, -Tfoo-bar.ld, -Tfoo-sim.ld, ...) > > While the gcc flags for these variants are typically correctly setup > in the external board files, we can't rely on these flags correctly > set up for a direct call to the linker, resulting in an increasingly > messy target depended prologue in asm-source.exp as new targets support > that test. > > Therefore I'm proposing to change the call to target_link in this > testcase as soon as possible to a call to gdb_compile with the > gcc flag `-nostartfiles' set, which result in the same testcase but > w/o the need to care for each single flag needed for our targets. > > The patch itself is easy. If it's really necessary, a target could > still add link-flags but e.g. for the XStormy16 target I could even > drop that setting. It's superfluous now since the board description > files already care for the correct settings. > > The below patch would do it (including dropping the XScale link-flags > setting. > > Corinna > > 2001-12-18 Corinna Vinschen > > * gdb.asm/asm-source.exp: Drop setting link-flags for xstormy16. > Substitute call to target_link by call to gdb_compile. > > Index: gdb.asm/asm-source.exp > =================================================================== > RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/asm-source.exp,v > retrieving revision 1.14 > diff -u -p -r1.14 asm-source.exp > --- asm-source.exp 2001/12/13 13:42:19 1.14 > +++ asm-source.exp 2001/12/18 13:58:18 > @@ -53,7 +53,6 @@ if [istarget "sparc-*-*"] then { > if [istarget "xstormy16-*-*"] then { > set asm-arch xstormy16 > set asm-flags "-gdwarf2 -I${srcdir}/${subdir} -I${objdir}/${subdir}" > - set link-flags "-L${objdir}/../../gcc" > } > if { "${asm-arch}" == "" } { > gdb_suppress_entire_file "Assembly source test -- not implemented for this target." > @@ -76,7 +75,11 @@ if {[target_assemble ${src2} asmsrc2.o " > gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." > } > > -if { [target_link "asmsrc1.o asmsrc2.o" ${binfile} "${link-flags}"] != "" } { > +set opts "debug ldflags=-nostartfiles" > +foreach i ${link-flags} { > + append opts " ldflags=$i" > +} > +if { [gdb_compile "asmsrc1.o asmsrc2.o" "${binfile}" executable $opts] != "" } { > gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." > } > > -- > Corinna Vinschen > Cygwin Developer > Red Hat, Inc. > mailto:vinschen@redhat.com -- Fernando Nasser Red Hat - Toronto E-Mail: fnasser@redhat.com 2323 Yonge Street, Suite #300 Toronto, Ontario M4P 2C9