Re: PATCH: Re: AHAH! Re: Patch to eliminate SOFTWARE_SINGLE_STEP

Andrew Cagney
2003-10-10T02:40:00Z

[-- Attachment #1: Type: text/plain, Size: 858 bytes --]

> On Sep 9, 6:01pm, Jimi Xenidis wrote:
>
>
>> diff -Naur -X Xdiff src/gdb/ChangeLog mygdb/gdb/ChangeLog
>> --- src/gdb/ChangeLog Tue Sep 9 17:33:08 2003
>> +++ mygdb/gdb/ChangeLog Tue Sep 9 17:03:52 2003
>> @@ -1,3 +1,14 @@
>> +2003-09-09 Jimi Xenidis <jimix@watson.ibm.com>
>> +
>> + * config/powerpc/tm-ppc-eabi.h: no longer require custion #define of
>> + SOFTWARE_SINGLE_STEP
>> + * config/rs6000/tm-rs6000.h: no longer require custion #define of
>> + SOFTWARE_SINGLE_STEP
>> + * config/powerpc/tm-linux.h: no longer require custion #define of
>> + SOFTWARE_SINGLE_STEP
>> + * rs6000-tdep.c (rs6000_gdbarch_init): Set up software_single_step
>> + while initing gdbarch
>
>
> This is okay so long as the nits we discussed privately -- ChangeLog entry
> formatting and comment wording -- are fixed.

FYI, I've checked this in for Jimi.

Andrew

[-- Attachment #2: diffs --]
[-- Type: text/plain, Size: 3493 bytes --]

2003-10-09 Andrew Cagney <cagney@redhat.com>

Changes from 2003-09-09 Jimi Xenidis <jimix@watson.ibm.com>:
* config/rs6000/tm-rs6000.h (SOFTWARE_SINGLE_STEP): Delete macro.
(SOFTWARE_SINGLE_STEP_P): Ditto.
* config/powerpc/tm-ppc-eabi.h (SOFTWARE_SINGLE_STEP_P): Ditto.
* config/powerpc/tm-linux.h (SOFTWARE_SINGLE_STEP): Ditto.
(SOFTWARE_SINGLE_STEP_P): Ditto.
* rs6000-tdep.c (rs6000_gdbarch_init): When AIX, set
software_single_step to rs6000_software_single_step.

Index: rs6000-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-tdep.c,v
retrieving revision 1.166
diff -u -r1.166 rs6000-tdep.c
--- rs6000-tdep.c 3 Oct 2003 21:11:39 -0000 1.166
+++ rs6000-tdep.c 10 Oct 2003 02:35:14 -0000
@@ -3008,6 +3008,16 @@
/* Hook in ABI-specific overrides, if they have been registered. */
gdbarch_init_osabi (info, gdbarch);

+ if (from_xcoff_exec)
+ {
+ /* NOTE: jimix/2003-06-09: This test should really check for
+ GDB_OSABI_AIX when that is defined and becomes
+ available. (Actually, once things are properly split apart,
+ the test goes away.) */
+ /* RS6000/AIX does not support PT_STEP. Has to be simulated. */
+ set_gdbarch_software_single_step (gdbarch, rs6000_software_single_step);
+ }
+
return gdbarch;
}

Index: config/powerpc/tm-linux.h
===================================================================
RCS file: /cvs/src/src/gdb/config/powerpc/tm-linux.h,v
retrieving revision 1.14
diff -u -r1.14 tm-linux.h
--- config/powerpc/tm-linux.h 3 Sep 2003 21:01:44 -0000 1.14
+++ config/powerpc/tm-linux.h 10 Oct 2003 02:35:14 -0000
@@ -31,12 +31,6 @@
#undef IN_SOLIB_CALL_TRAMPOLINE
#undef SKIP_TRAMPOLINE_CODE

-/* We can single step on linux */
-#undef SOFTWARE_SINGLE_STEP
-#define SOFTWARE_SINGLE_STEP(p,q) internal_error (__FILE__, __LINE__, "Will never execute!")
-#undef SOFTWARE_SINGLE_STEP_P
-#define SOFTWARE_SINGLE_STEP_P() 0
-
/* Make sure nexti gets the help it needs for debugging assembly code
without symbols */

Index: config/powerpc/tm-ppc-eabi.h
===================================================================
RCS file: /cvs/src/src/gdb/config/powerpc/tm-ppc-eabi.h,v
retrieving revision 1.10
diff -u -r1.10 tm-ppc-eabi.h
--- config/powerpc/tm-ppc-eabi.h 12 Apr 2002 19:48:37 -0000 1.10
+++ config/powerpc/tm-ppc-eabi.h 10 Oct 2003 02:35:14 -0000
@@ -24,9 +24,6 @@

/* Use generic RS6000 definitions. */
#include "rs6000/tm-rs6000.h"
-/* except we want to allow single stepping */
-#undef SOFTWARE_SINGLE_STEP_P
-#define SOFTWARE_SINGLE_STEP_P() 0

#undef PROCESS_LINENUMBER_HOOK

Index: config/rs6000/tm-rs6000.h
===================================================================
RCS file: /cvs/src/src/gdb/config/rs6000/tm-rs6000.h,v
retrieving revision 1.27
diff -u -r1.27 tm-rs6000.h
--- config/rs6000/tm-rs6000.h 22 Sep 2003 17:45:02 -0000 1.27
+++ config/rs6000/tm-rs6000.h 10 Oct 2003 02:35:14 -0000
@@ -84,12 +84,6 @@
(fromleaf ? DEPRECATED_SAVED_PC_AFTER_CALL (prev->next) : \
prev->next ? DEPRECATED_FRAME_SAVED_PC (prev->next) : read_pc ())

-/* RS6000/AIX does not support PT_STEP. Has to be simulated. */
-
-#define SOFTWARE_SINGLE_STEP_P() 1
-extern void rs6000_software_single_step (enum target_signal, int);
-#define SOFTWARE_SINGLE_STEP(sig,bp_p) rs6000_software_single_step (sig, bp_p)
-
/* Notice when a new child process is started. */

#define TARGET_CREATE_INFERIOR_HOOK rs6000_create_inferior