[rfc] [2/9] Remove macros GET_LONGJMP_TARGET and GET_LONGJMP_TARGET_P

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[rfc] [2/9] Remove macros GET_LONGJMP_TARGET and GET_LONGJMP_TARGET_P

Markus Deuling
Hello,

this patch removes GET_LONGJMP_TARGET and GET_LONGJMP_TARGET_P macros from gdbarch.sh

ChangeLog:

        * gdbarch.sh (GET_LONGJMP_TARGET): Replace by gdbarch_get_longjmp_target.
        * infrun.c (handle_inferior_event): Likewise.
        * gdbarch.sh (GET_LONGJMP_TARGET_P): Replace by
        gdbarch_get_longjmp_target_p.
        * breakpoint.c (breakpoint_re_set): Likewise.
        * infrun.c (handle_inferior_event): Likewise.
        * gdbarch.c, gdbarch.h: Regenerate.


Is this ok to commit?

Regards,
Markus

--
Markus Deuling
GNU Toolchain for Linux on Cell BE
[hidden email]










diff -urN src/gdb/breakpoint.c dev/gdb/breakpoint.c
--- src/gdb/breakpoint.c 2007-05-11 22:01:31.000000000 +0200
+++ dev/gdb/breakpoint.c 2007-05-23 07:32:26.000000000 +0200
@@ -7472,7 +7472,7 @@
   set_language (save_language);
   input_radix = save_input_radix;
 
-  if (GET_LONGJMP_TARGET_P ())
+  if (gdbarch_get_longjmp_target_p (current_gdbarch))
     {
       create_longjmp_breakpoint ("longjmp");
       create_longjmp_breakpoint ("_longjmp");
diff -urN src/gdb/gdbarch.c dev/gdb/gdbarch.c
--- src/gdb/gdbarch.c 2007-05-14 17:16:57.000000000 +0200
+++ dev/gdb/gdbarch.c 2007-05-23 07:30:32.000000000 +0200
@@ -1081,21 +1081,9 @@
   fprintf_unfiltered (file,
                       "gdbarch_dump: frame_red_zone_size = %s\n",
                       paddr_d (current_gdbarch->frame_red_zone_size));
-#ifdef GET_LONGJMP_TARGET_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "GET_LONGJMP_TARGET_P()",
-                      XSTRING (GET_LONGJMP_TARGET_P ()));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n",
                       gdbarch_get_longjmp_target_p (current_gdbarch));
-#ifdef GET_LONGJMP_TARGET
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "GET_LONGJMP_TARGET(pc)",
-                      XSTRING (GET_LONGJMP_TARGET (pc)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: get_longjmp_target = <0x%lx>\n",
                       (long) current_gdbarch->get_longjmp_target);
diff -urN src/gdb/gdbarch.h dev/gdb/gdbarch.h
--- src/gdb/gdbarch.h 2007-05-14 17:16:57.000000000 +0200
+++ dev/gdb/gdbarch.h 2007-05-23 07:30:22.000000000 +0200
@@ -585,30 +585,11 @@
 
 /* setjmp/longjmp support. */
 
-#if defined (GET_LONGJMP_TARGET)
-/* Legacy for systems yet to multi-arch GET_LONGJMP_TARGET */
-#if !defined (GET_LONGJMP_TARGET_P)
-#define GET_LONGJMP_TARGET_P() (1)
-#endif
-#endif
-
 extern int gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch);
-#if !defined (GDB_TM_FILE) && defined (GET_LONGJMP_TARGET_P)
-#error "Non multi-arch definition of GET_LONGJMP_TARGET"
-#endif
-#if !defined (GET_LONGJMP_TARGET_P)
-#define GET_LONGJMP_TARGET_P() (gdbarch_get_longjmp_target_p (current_gdbarch))
-#endif
 
 typedef int (gdbarch_get_longjmp_target_ftype) (CORE_ADDR *pc);
 extern int gdbarch_get_longjmp_target (struct gdbarch *gdbarch, CORE_ADDR *pc);
 extern void set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch, gdbarch_get_longjmp_target_ftype *get_longjmp_target);
-#if !defined (GDB_TM_FILE) && defined (GET_LONGJMP_TARGET)
-#error "Non multi-arch definition of GET_LONGJMP_TARGET"
-#endif
-#if !defined (GET_LONGJMP_TARGET)
-#define GET_LONGJMP_TARGET(pc) (gdbarch_get_longjmp_target (current_gdbarch, pc))
-#endif
 
 extern int gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch);
 extern void set_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch, int believe_pcc_promotion);
diff -urN src/gdb/gdbarch.sh dev/gdb/gdbarch.sh
--- src/gdb/gdbarch.sh 2007-05-14 17:16:57.000000000 +0200
+++ dev/gdb/gdbarch.sh 2007-05-23 07:30:12.000000000 +0200
@@ -483,7 +483,7 @@
 f:=:int:cannot_fetch_register:int regnum:regnum::cannot_register_not::0
 f:=:int:cannot_store_register:int regnum:regnum::cannot_register_not::0
 # setjmp/longjmp support.
-F:=:int:get_longjmp_target:CORE_ADDR *pc:pc
+F::int:get_longjmp_target:CORE_ADDR *pc:pc
 #
 v:=:int:believe_pcc_promotion:::::::
 #
diff -urN src/gdb/infrun.c dev/gdb/infrun.c
--- src/gdb/infrun.c 2007-05-07 20:20:18.000000000 +0200
+++ dev/gdb/infrun.c 2007-05-23 07:33:32.000000000 +0200
@@ -2074,7 +2074,8 @@
  disable_longjmp_breakpoint ();
  remove_breakpoints ();
  breakpoints_inserted = 0;
- if (!GET_LONGJMP_TARGET_P () || !GET_LONGJMP_TARGET (&jmp_buf_pc))
+ if (!gdbarch_get_longjmp_target_p (current_gdbarch)
+    || !gdbarch_get_longjmp_target (current_gdbarch, &jmp_buf_pc))
   {
     keep_going (ecs);
     return;


Reply | Threaded
Open this post in threaded view
|

Re: [rfc] [2/9] Remove macros GET_LONGJMP_TARGET and GET_LONGJMP_TARGET_P

Ulrich Weigand
Markus Deuling wrote:

> * gdbarch.sh (GET_LONGJMP_TARGET): Replace by gdbarch_get_longjmp_target.
> * infrun.c (handle_inferior_event): Likewise.
> * gdbarch.sh (GET_LONGJMP_TARGET_P): Replace by
> gdbarch_get_longjmp_target_p.
> * breakpoint.c (breakpoint_re_set): Likewise.
> * infrun.c (handle_inferior_event): Likewise.
> * gdbarch.c, gdbarch.h: Regenerate.

Committed, thanks!

Bye,
Ulrich

--
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  [hidden email]