This is the mail archive of the 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: Mingw GDB build fails for M16C target

[Note: Reply-to has been set to gdb-patches.]

On Sat, 25 Apr 2009 11:05:25 +0530
Mahesh Basavaraj Shavari <> wrote:

> /home/mahesh/GDB/gdb-6.8/gdb-
> error: `SIGTRAP' undeclared (first use in this function)


Please try the patch below and let me know if it works for you.


It appears to me that comment, "Oddly, the gdb/sim interface uses host
signal numbers...", isn't true.  My patch deletes this comment in
addition to using TARGET_SIGNAL_foo instead of SIGfoo.  If you look at
remote-sim.c, you'll see that `enum target_signal' (which defines the
various TARGET_SIGNAL_foo constants) is used throughout the file.

Okay to apply?


	* m32c/gdb-if.c (m32c_signal_to_host): Rename to
	m32c_signal_to_target.  Change signal return values from SIGILL,
	TARGET_SIGNAL_SEGV, etc.  Fix all callers.

Index: m32c/gdb-if.c
RCS file: /cvs/src/src/sim/m32c/gdb-if.c,v
retrieving revision 1.7
diff -u -p -r1.7 gdb-if.c
--- m32c/gdb-if.c	14 Jan 2009 10:53:07 -0000	1.7
+++ m32c/gdb-if.c	28 Apr 2009 22:38:44 -0000
@@ -523,52 +523,35 @@ int siggnal;
 /* Given a signal number used by the M32C bsp (that is, newlib),
-   return a host signal number.  (Oddly, the gdb/sim interface uses
-   host signal numbers...)  */
+   return a target signal number used by GDB.  */
-m32c_signal_to_host (int m32c)
+m32c_signal_to_target (int m32c)
   switch (m32c)
     case 4:
-#ifdef SIGILL
-      return SIGILL;
-      return SIGSEGV;
+      return TARGET_SIGNAL_ILL;
     case 5:
-      return SIGTRAP;
+      return TARGET_SIGNAL_TRAP;
     case 10:
-#ifdef SIGBUS
-      return SIGBUS;
-      return SIGSEGV;
+      return TARGET_SIGNAL_BUS;
     case 11:
-      return SIGSEGV;
+      return TARGET_SIGNAL_SEGV;
     case 24:
-#ifdef SIGXCPU
-      return SIGXCPU;
-      break;
+      return TARGET_SIGNAL_XCPU;
     case 2:
-      return SIGINT;
+      return TARGET_SIGNAL_INT;
     case 8:
-#ifdef SIGFPE
-      return SIGFPE;
-      break;
+      return TARGET_SIGNAL_FPE;
     case 6:
-      return SIGABRT;
+      return TARGET_SIGNAL_ABRT;
   return 0;
@@ -588,7 +571,7 @@ handle_step (int rc)
   else if (M32C_STOPPED (rc))
       reason = sim_stopped;
-      siggnal = m32c_signal_to_host (M32C_STOP_SIG (rc));
+      siggnal = m32c_signal_to_target (M32C_STOP_SIG (rc));

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