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]

[patch/rfc] Give decr pc after break a default of zero


Almost all architectures are setting DECR_PC_AFTER_BREAK to zero, this makes that value the default.

The main exception is i386, and even that has an exception to the exception - Neutrino. For Neutrino I've left the set-to-zero as is so that it's clear that it is overriding the i386.

baring comments I'll look to commit this in a few days,
Andrew
2004-01-14  Andrew Cagney  <cagney@redhat.com>

	* gdbarch.sh (DECR_PC_AFTER_BREAK): Make zero the default.
	* gdbarch.c: Re-generate.
	* xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set
	DECR_PC_AFTER_BREAK to zero.
	* vax-tdep.c (vax_gdbarch_init): Ditto.
	* v850-tdep.c (v850_gdbarch_init): Ditto.
	* sparc-tdep.c (sparc32_gdbarch_init): Ditto.
	* sh64-tdep.c (sh64_gdbarch_init): Ditto.
	* sh-tdep.c (sh_gdbarch_init): Ditto.
	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
	* ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
	* mips-tdep.c (mips_gdbarch_init): Ditto.
	* mcore-tdep.c (mcore_gdbarch_init): Ditto.
	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
	* m32r-tdep.c (m32r_gdbarch_init): Ditto.
	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
	* i386-interix-tdep.c (i386_interix_init_abi): Ditto.
	* hppa-tdep.c (hppa_gdbarch_init): Ditto.
	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
	* frv-tdep.c (frv_gdbarch_init): Ditto.
	* cris-tdep.c (cris_gdbarch_init): Ditto.
	* avr-tdep.c (avr_gdbarch_init): Ditto.
	* arm-tdep.c (arm_gdbarch_init): Ditto.
	* i386-nto-tdep.c (i386nto_init_abi): Add comment.

Index: arm-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/arm-tdep.c,v
retrieving revision 1.156
diff -u -r1.156 arm-tdep.c
--- arm-tdep.c	13 Jan 2004 21:38:45 -0000	1.156
+++ arm-tdep.c	15 Jan 2004 19:13:33 -0000
@@ -2877,7 +2877,6 @@
 
   /* Breakpoint manipulation.  */
   set_gdbarch_breakpoint_from_pc (gdbarch, arm_breakpoint_from_pc);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
 
   /* Information about registers, etc.  */
   set_gdbarch_print_float_info (gdbarch, arm_print_float_info);
Index: avr-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/avr-tdep.c,v
retrieving revision 1.74
diff -u -r1.74 avr-tdep.c
--- avr-tdep.c	13 Jan 2004 21:38:45 -0000	1.74
+++ avr-tdep.c	15 Jan 2004 19:13:34 -0000
@@ -1319,7 +1319,6 @@
   set_gdbarch_skip_prologue (gdbarch, avr_skip_prologue);
   set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
 
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
   set_gdbarch_breakpoint_from_pc (gdbarch, avr_breakpoint_from_pc);
 
   set_gdbarch_frame_args_skip (gdbarch, 0);
Index: cris-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/cris-tdep.c,v
retrieving revision 1.92
diff -u -r1.92 cris-tdep.c
--- cris-tdep.c	13 Jan 2004 21:38:45 -0000	1.92
+++ cris-tdep.c	15 Jan 2004 19:13:36 -0000
@@ -4281,10 +4281,6 @@
 
   set_gdbarch_breakpoint_from_pc (gdbarch, cris_breakpoint_from_pc);
   
-  /* The PC must not be decremented after a breakpoint.  (The breakpoint
-     handler takes care of that.)  */
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
-  
   /* The number of bytes at the start of arglist that are not really args,
      0 in the CRIS ABI.  */
   set_gdbarch_frame_args_skip (gdbarch, 0);
Index: frv-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/frv-tdep.c,v
retrieving revision 1.65
diff -u -r1.65 frv-tdep.c
--- frv-tdep.c	13 Jan 2004 21:38:45 -0000	1.65
+++ frv-tdep.c	15 Jan 2004 19:13:36 -0000
@@ -1420,8 +1420,6 @@
 
   set_gdbarch_write_pc (gdbarch, generic_target_write_pc);
 
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
-
   set_gdbarch_remote_translate_xfer_address
     (gdbarch, generic_remote_translate_xfer_address);
 
Index: gdbarch.sh
===================================================================
RCS file: /cvs/src/src/gdb/gdbarch.sh,v
retrieving revision 1.289
diff -u -r1.289 gdbarch.sh
--- gdbarch.sh	13 Jan 2004 21:38:45 -0000	1.289
+++ gdbarch.sh	15 Jan 2004 19:13:38 -0000
@@ -632,7 +632,7 @@
 M:2:ADJUST_BREAKPOINT_ADDRESS:CORE_ADDR:adjust_breakpoint_address:CORE_ADDR bpaddr:bpaddr
 f:2:MEMORY_INSERT_BREAKPOINT:int:memory_insert_breakpoint:CORE_ADDR addr, char *contents_cache:addr, contents_cache::0:default_memory_insert_breakpoint::0
 f:2:MEMORY_REMOVE_BREAKPOINT:int:memory_remove_breakpoint:CORE_ADDR addr, char *contents_cache:addr, contents_cache::0:default_memory_remove_breakpoint::0
-v:2:DECR_PC_AFTER_BREAK:CORE_ADDR:decr_pc_after_break::::0:-1
+v:2:DECR_PC_AFTER_BREAK:CORE_ADDR:decr_pc_after_break::::0:::0
 v:2:FUNCTION_START_OFFSET:CORE_ADDR:function_start_offset::::0:::0
 #
 m::REMOTE_TRANSLATE_XFER_ADDRESS:void:remote_translate_xfer_address:struct regcache *regcache, CORE_ADDR gdb_addr, int gdb_len, CORE_ADDR *rem_addr, int *rem_len:regcache, gdb_addr, gdb_len, rem_addr, rem_len:::generic_remote_translate_xfer_address::0
Index: h8300-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/h8300-tdep.c,v
retrieving revision 1.88
diff -u -r1.88 h8300-tdep.c
--- h8300-tdep.c	13 Jan 2004 21:38:46 -0000	1.88
+++ h8300-tdep.c	15 Jan 2004 19:13:39 -0000
@@ -1323,9 +1323,6 @@
    */
   /* Stack grows up. */
   set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-  /* PC stops zero byte after a trap instruction
-     (which means: exactly on trap instruction). */
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
   /* This value is almost never non-zero... */
   set_gdbarch_frame_args_skip (gdbarch, 0);
   set_gdbarch_frameless_function_invocation (gdbarch,
Index: hppa-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/hppa-tdep.c,v
retrieving revision 1.110
diff -u -r1.110 hppa-tdep.c
--- hppa-tdep.c	13 Jan 2004 21:38:46 -0000	1.110
+++ hppa-tdep.c	15 Jan 2004 19:13:40 -0000
@@ -5196,7 +5196,6 @@
                                           hppa_in_solib_return_trampoline);
   set_gdbarch_deprecated_saved_pc_after_call (gdbarch, hppa_saved_pc_after_call);
   set_gdbarch_inner_than (gdbarch, hppa_inner_than);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
   set_gdbarch_deprecated_register_size (gdbarch, tdep->bytes_per_address);
   set_gdbarch_deprecated_fp_regnum (gdbarch, 3);
   set_gdbarch_sp_regnum (gdbarch, 30);
Index: i386-interix-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/i386-interix-tdep.c,v
retrieving revision 1.12
diff -u -r1.12 i386-interix-tdep.c
--- i386-interix-tdep.c	22 Sep 2003 17:45:01 -0000	1.12
+++ i386-interix-tdep.c	15 Jan 2004 19:13:40 -0000
@@ -325,7 +325,6 @@
   tdep->struct_return = reg_struct_return;
   tdep->jb_pc_offset = jump_buffer_Eip_offset;
 
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
   set_gdbarch_pc_in_sigtramp (gdbarch, i386_interix_pc_in_sigtramp);
   set_gdbarch_in_solib_call_trampoline (gdbarch,
                                         i386_interix_in_solib_call_trampoline);
Index: i386-nto-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/i386-nto-tdep.c,v
retrieving revision 1.7
diff -u -r1.7 i386-nto-tdep.c
--- i386-nto-tdep.c	28 Sep 2003 13:35:44 -0000	1.7
+++ i386-nto-tdep.c	15 Jan 2004 19:13:40 -0000
@@ -270,7 +270,10 @@
   /* NTO uses ELF.  */
   i386_elf_init_abi (info, gdbarch);
 
-  /* Neutrino rewinds to look more normal.  */
+  /* Neutrino rewinds to look more normal.
+
+     NOTE: cagney/2004-01-14: This would be overriding the default
+     i386 value which is to decrement the PC.  */
   set_gdbarch_decr_pc_after_break (gdbarch, 0);
 
   /* NTO has shared libraries.  */
Index: ia64-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ia64-tdep.c,v
retrieving revision 1.108
diff -u -r1.108 ia64-tdep.c
--- ia64-tdep.c	13 Jan 2004 21:38:46 -0000	1.108
+++ ia64-tdep.c	15 Jan 2004 19:13:41 -0000
@@ -3425,7 +3425,6 @@
   /* Settings that should be unnecessary.  */
   set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
 
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
   set_gdbarch_frame_args_skip (gdbarch, 0);
 
   set_gdbarch_remote_translate_xfer_address (
Index: m32r-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/m32r-tdep.c,v
retrieving revision 1.21
diff -u -r1.21 m32r-tdep.c
--- m32r-tdep.c	13 Jan 2004 21:38:46 -0000	1.21
+++ m32r-tdep.c	15 Jan 2004 19:13:41 -0000
@@ -945,7 +945,6 @@
 
   set_gdbarch_skip_prologue (gdbarch, m32r_skip_prologue);
   set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
   set_gdbarch_breakpoint_from_pc (gdbarch, m32r_breakpoint_from_pc);
   set_gdbarch_memory_insert_breakpoint (gdbarch,
 					m32r_memory_insert_breakpoint);
Index: m68hc11-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/m68hc11-tdep.c,v
retrieving revision 1.94
diff -u -r1.94 m68hc11-tdep.c
--- m68hc11-tdep.c	13 Jan 2004 21:38:46 -0000	1.94
+++ m68hc11-tdep.c	15 Jan 2004 19:13:41 -0000
@@ -1556,7 +1556,6 @@
   set_gdbarch_use_struct_convention (gdbarch, m68hc11_use_struct_convention);
   set_gdbarch_skip_prologue (gdbarch, m68hc11_skip_prologue);
   set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
   set_gdbarch_breakpoint_from_pc (gdbarch, m68hc11_breakpoint_from_pc);
   set_gdbarch_deprecated_stack_align (gdbarch, m68hc11_stack_align);
   set_gdbarch_print_insn (gdbarch, gdb_print_insn_m68hc11);
Index: mcore-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/mcore-tdep.c,v
retrieving revision 1.81
diff -u -r1.81 mcore-tdep.c
--- mcore-tdep.c	13 Jan 2004 21:38:46 -0000	1.81
+++ mcore-tdep.c	15 Jan 2004 19:13:42 -0000
@@ -1071,7 +1071,6 @@
   set_gdbarch_deprecated_sizeof_call_dummy_words (gdbarch, 0);
   set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
   set_gdbarch_deprecated_saved_pc_after_call (gdbarch, mcore_saved_pc_after_call);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
   set_gdbarch_breakpoint_from_pc (gdbarch, mcore_breakpoint_from_pc);
   set_gdbarch_deprecated_push_return_address (gdbarch, mcore_push_return_address);
   set_gdbarch_deprecated_push_arguments (gdbarch, mcore_push_arguments);
Index: mips-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/mips-tdep.c,v
retrieving revision 1.272
diff -u -r1.272 mips-tdep.c
--- mips-tdep.c	14 Jan 2004 02:51:42 -0000	1.272
+++ mips-tdep.c	15 Jan 2004 19:13:44 -0000
@@ -6046,7 +6046,6 @@
 
   set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
   set_gdbarch_breakpoint_from_pc (gdbarch, mips_breakpoint_from_pc);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
 
   set_gdbarch_skip_prologue (gdbarch, mips_skip_prologue);
   set_gdbarch_deprecated_saved_pc_after_call (gdbarch, mips_saved_pc_after_call);
Index: mn10300-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/mn10300-tdep.c,v
retrieving revision 1.96
diff -u -r1.96 mn10300-tdep.c
--- mn10300-tdep.c	13 Jan 2004 21:38:46 -0000	1.96
+++ mn10300-tdep.c	15 Jan 2004 19:13:44 -0000
@@ -1173,7 +1173,6 @@
 
   /* Breakpoints.  */
   set_gdbarch_breakpoint_from_pc (gdbarch, mn10300_breakpoint_from_pc);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
 
   /* Stack unwinding.  */
   set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
Index: ns32k-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ns32k-tdep.c,v
retrieving revision 1.63
diff -u -r1.63 ns32k-tdep.c
--- ns32k-tdep.c	13 Jan 2004 21:38:47 -0000	1.63
+++ ns32k-tdep.c	15 Jan 2004 19:13:44 -0000
@@ -598,7 +598,6 @@
   set_gdbarch_deprecated_pc_in_call_dummy (gdbarch, deprecated_pc_in_call_dummy_on_stack);
 
   /* Breakpoint info */
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
   set_gdbarch_breakpoint_from_pc (gdbarch, ns32k_breakpoint_from_pc);
 
   /* Should be using push_dummy_call.  */
Index: rs6000-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-tdep.c,v
retrieving revision 1.174
diff -u -r1.174 rs6000-tdep.c
--- rs6000-tdep.c	13 Jan 2004 21:38:47 -0000	1.174
+++ rs6000-tdep.c	15 Jan 2004 19:13:45 -0000
@@ -2886,7 +2886,6 @@
 
   set_gdbarch_skip_prologue (gdbarch, rs6000_skip_prologue);
   set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
   set_gdbarch_breakpoint_from_pc (gdbarch, rs6000_breakpoint_from_pc);
 
   /* Handle the 64-bit SVR4 minimal-symbol convention of using "FN"
Index: sh-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/sh-tdep.c,v
retrieving revision 1.154
diff -u -r1.154 sh-tdep.c
--- sh-tdep.c	13 Jan 2004 21:38:47 -0000	1.154
+++ sh-tdep.c	15 Jan 2004 19:13:45 -0000
@@ -2244,7 +2244,6 @@
 
   set_gdbarch_skip_prologue (gdbarch, sh_skip_prologue);
   set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
 
   set_gdbarch_push_dummy_call (gdbarch, sh_push_dummy_call_nofpu);
 
Index: sh64-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/sh64-tdep.c,v
retrieving revision 1.16
diff -u -r1.16 sh64-tdep.c
--- sh64-tdep.c	13 Jan 2004 21:38:47 -0000	1.16
+++ sh64-tdep.c	15 Jan 2004 19:13:46 -0000
@@ -2848,7 +2848,6 @@
 
   set_gdbarch_skip_prologue (gdbarch, sh_skip_prologue);
   set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
 
   set_gdbarch_frame_args_skip (gdbarch, 0);
   set_gdbarch_frameless_function_invocation (gdbarch, frameless_look_for_prologue);
Index: sparc-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/sparc-tdep.c,v
retrieving revision 1.140
diff -u -r1.140 sparc-tdep.c
--- sparc-tdep.c	13 Jan 2004 21:38:47 -0000	1.140
+++ sparc-tdep.c	15 Jan 2004 19:13:46 -0000
@@ -1080,7 +1080,6 @@
   set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
 
   set_gdbarch_breakpoint_from_pc (gdbarch, sparc_breakpoint_from_pc);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
 
   set_gdbarch_frame_args_skip (gdbarch, 8);
 
Index: v850-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/v850-tdep.c,v
retrieving revision 1.77
diff -u -r1.77 v850-tdep.c
--- v850-tdep.c	13 Jan 2004 21:38:47 -0000	1.77
+++ v850-tdep.c	15 Jan 2004 19:13:46 -0000
@@ -1259,9 +1259,6 @@
    */
   /* Stack grows up. */
   set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-  /* PC stops zero byte after a trap instruction
-     (which means: exactly on trap instruction). */
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
   /* This value is almost never non-zero... */
   set_gdbarch_frame_args_skip (gdbarch, 0);
 
Index: vax-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/vax-tdep.c,v
retrieving revision 1.65
diff -u -r1.65 vax-tdep.c
--- vax-tdep.c	2 Oct 2003 20:28:30 -0000	1.65
+++ vax-tdep.c	15 Jan 2004 19:13:47 -0000
@@ -406,7 +406,6 @@
 
   /* Breakpoint info */
   set_gdbarch_breakpoint_from_pc (gdbarch, vax_breakpoint_from_pc);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
 
   /* Misc info */
   set_gdbarch_function_start_offset (gdbarch, 2);
Index: xstormy16-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/xstormy16-tdep.c,v
retrieving revision 1.67
diff -u -r1.67 xstormy16-tdep.c
--- xstormy16-tdep.c	13 Jan 2004 21:38:47 -0000	1.67
+++ xstormy16-tdep.c	15 Jan 2004 19:13:47 -0000
@@ -1069,9 +1069,6 @@
    */
   /* Stack grows up. */
   set_gdbarch_inner_than (gdbarch, core_addr_greaterthan);
-  /* PC stops zero byte after a trap instruction
-     (which means: exactly on trap instruction). */
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
   /* This value is almost never non-zero... */
   set_gdbarch_frame_args_skip (gdbarch, 0);
 

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