From: Corinna Vinschen <vinschen@redhat.com>
To: gdb-patches@sources.redhat.com
Subject: Re: [RFA] testsuite/gdb.arch/i386-prologue.c: Fix compiling on Cygwin
Date: Tue, 29 Jun 2004 08:12:00 -0000 [thread overview]
Message-ID: <20040629081156.GL19325@cygbert.vinschen.de> (raw)
In-Reply-To: <20040628175505.1C1504B104@berman.michael-chastain.com>
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.
next prev parent reply other threads:[~2004-06-29 8:12 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-28 17:54 Michael Elizabeth Chastain
2004-06-29 8:12 ` Corinna Vinschen [this message]
-- strict thread matches above, loose matches on Subject: below --
2004-06-29 18:16 Michael Elizabeth Chastain
2004-06-29 17:27 Michael Elizabeth Chastain
2004-06-29 17:53 ` Corinna Vinschen
2004-06-29 17:25 Michael Elizabeth Chastain
2004-06-28 17:57 Michael Elizabeth Chastain
2004-06-29 8:13 ` Corinna Vinschen
2004-06-28 11:41 Corinna Vinschen
2004-06-28 11:35 Corinna Vinschen
2004-06-29 14:39 ` [RFA] testsuite/gdb.arch/i386-prologue.c: Fix compiling on cygwin Christopher Faylor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040629081156.GL19325@cygbert.vinschen.de \
--to=vinschen@redhat.com \
--cc=gdb-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox