This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] testsuite/gdb.arch/i386-prologue.c: Fix compiling on Cygwin


On Jun 28 13:57, Michael Elizabeth Chastain wrote:
> Same response as i386-prologue.c.  I would like to see:
> 
>   "   call " SP_PREFIX "trap\n"
>   "   .globl " SP_PREFIX "main\n"
> 
> Or a similar design with
> 
>   "   call " SYMBOL(trap) "\n"
>   "   .globl " SYMBOL(main) "\n"

Same here as for i386-prologue.*.

Corinna

	* gdb.arch/i386-unwind.c: Use preprocessor directives to
	conditionalize symbol prefixing.
	* gdb.arch/i386-unwind.exp: Allow symbol prefixing by adding
	additional_flags handling.  Add underscore prefix for Cygwin.

Index: gdb.arch/i386-unwind.c
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.arch/i386-unwind.c,v
retrieving revision 1.1
diff -u -p -r1.1 i386-unwind.c
--- gdb.arch/i386-unwind.c	19 Nov 2003 17:42:43 -0000	1.1
+++ gdb.arch/i386-unwind.c	29 Jun 2004 08:04:48 -0000
@@ -19,6 +19,12 @@
    Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#ifdef SYMBOL_PREFIX
+#define SYMBOL(str)	SYMBOL_PREFIX #str
+#else
+#define SYMBOL(str)	#str
+#endif
+
 void
 trap (void)
 {
@@ -34,9 +40,9 @@ asm(".text\n"
     "gdb1435:\n"
     "    pushl %ebp\n"
     "    mov   %esp, %ebp\n"
-    "    call  trap\n"
-    "    .globl main\n"
-    "main:\n"
+    "    call  " SYMBOL (trap) "\n"
+    "    .globl " SYMBOL (main) "\n"
+    SYMBOL (main) ":\n"
     "    pushl %ebp\n"
     "    mov   %esp, %ebp\n"
     "    call  gdb1435\n");
Index: gdb.arch/i386-unwind.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.arch/i386-unwind.exp,v
retrieving revision 1.3
diff -u -p -r1.3 i386-unwind.exp
--- gdb.arch/i386-unwind.exp	23 Nov 2003 21:14:45 -0000	1.3
+++ gdb.arch/i386-unwind.exp	29 Jun 2004 08:04:48 -0000
@@ -36,7 +36,15 @@ if ![istarget "i?86-*-*"] then {
 set testfile "i386-unwind"
 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]