From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2137 invoked by alias); 29 Jun 2004 08:12:03 -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 2093 invoked from network); 29 Jun 2004 08:12:01 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org with SMTP; 29 Jun 2004 08:12:01 -0000 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx1.redhat.com (8.12.10/8.12.10) with ESMTP id i5T8C1e1026294 for ; Tue, 29 Jun 2004 04:12:01 -0400 Received: from potter.sfbay.redhat.com (potter.sfbay.redhat.com [172.16.27.15]) by int-mx2.corp.redhat.com (8.11.6/8.11.6) with ESMTP id i5T8C0w15710 for ; Tue, 29 Jun 2004 04:12:00 -0400 Received: from cygbert.vinschen.de (vpn50-41.rdu.redhat.com [172.16.50.41]) by potter.sfbay.redhat.com (8.11.6/8.11.6) with ESMTP id i5T8BwP24551 for ; Tue, 29 Jun 2004 01:11:59 -0700 Received: by cygbert.vinschen.de (Postfix, from userid 500) id 68613582E2; Tue, 29 Jun 2004 10:11:56 +0200 (CEST) Date: Tue, 29 Jun 2004 08:12:00 -0000 From: Corinna Vinschen To: gdb-patches@sources.redhat.com Subject: Re: [RFA] testsuite/gdb.arch/i386-prologue.c: Fix compiling on Cygwin Message-ID: <20040629081156.GL19325@cygbert.vinschen.de> Reply-To: gdb-patches@sources.redhat.com Mail-Followup-To: gdb-patches@sources.redhat.com References: <20040628175505.1C1504B104@berman.michael-chastain.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040628175505.1C1504B104@berman.michael-chastain.com> User-Agent: Mutt/1.4.2i X-SW-Source: 2004-06/txt/msg00664.txt.bz2 On Jun 28 13:55, Michael Elizabeth Chastain wrote: > > the gdb.arch/i386-prologue.c testcase doesn't compile on Cygwin since > > on Cygwin the assenmbler labels need leading underscores to match the > > same names in C. The below patch fixes that. > > I acknowledge the problem, but I don't like to see #ifdef __CYGWIN__ > in the middle of i386-prologue.c. So I am declining this patch. > > Can you add a layer to this? Use a new symbol such as SYMBOL_PREFIX so > that i386-prologue.exp can tell i386-prologue.c whether to add a leading > underscore or not. I've created a simpler patch using the SYMBOL(sym) suggestion you mentioned in your other response. Is the below patch ok? * gdb.arch/i386-prologue.c: Use preprocessor directives to conditionalize symbol prefixing. * gdb.arch/i386-prologue.exp: Allow symbol prefixing by adding additional_flags handling. Add underscore prefix for Cygwin. Corinna Index: gdb.arch/i386-prologue.c =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.arch/i386-prologue.c,v retrieving revision 1.3 diff -u -p -r1.3 i386-prologue.c --- gdb.arch/i386-prologue.c 29 Apr 2004 18:05:31 -0000 1.3 +++ gdb.arch/i386-prologue.c 29 Jun 2004 08:04:34 -0000 @@ -1,3 +1,9 @@ +#ifdef SYMBOL_PREFIX +#define SYMBOL(str) SYMBOL_PREFIX #str +#else +#define SYMBOL(str) #str +#endif + void gdb1253 (void); void gdb1338 (void); void jump_at_beginning (void); @@ -15,7 +21,7 @@ main (void) asm(".text\n" " .align 8\n" - "gdb1253:\n" + SYMBOL (gdb1253) ":\n" " pushl %ebp\n" " xorl %ecx, %ecx\n" " movl %esp, %ebp\n" @@ -28,7 +34,7 @@ asm(".text\n" asm(".text\n" " .align 8\n" - "gdb1338:\n" + SYMBOL (gdb1338) ":\n" " pushl %edi\n" " pushl %esi\n" " pushl %ebx\n" @@ -44,7 +50,7 @@ asm(".text\n" asm(".text\n" " .align 8\n" - "jump_at_beginning:\n" + SYMBOL (jump_at_beginning) ":\n" " pushl %ebp\n" " movl %esp,%ebp\n" " jmp .gdbjump\n" Index: gdb.arch/i386-prologue.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.arch/i386-prologue.exp,v retrieving revision 1.4 diff -u -p -r1.4 i386-prologue.exp --- gdb.arch/i386-prologue.exp 29 Apr 2004 18:05:31 -0000 1.4 +++ gdb.arch/i386-prologue.exp 29 Jun 2004 08:04:34 -0000 @@ -36,7 +36,15 @@ if ![istarget "i?86-*-*"] then { set testfile "i386-prologue" set srcfile ${testfile}.c set binfile ${objdir}/${subdir}/${testfile} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { + +# some targets have leading underscores on assembly symbols. +# TODO: detect this automatically +set additional_flags "" +if [istarget "i?86-*-cygwin*"] then { + set additional_flags "additional_flags=-DSYMBOL_PREFIX=\"_\"" +} + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug $additional_flags]] != "" } { gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." } -- Corinna Vinschen Cygwin Co-Project Leader Red Hat, Inc.