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

Jimi Xenidis
2003-09-09T22:01:25Z

>>>>> "KB" == Kevin Buettner <kevinb@redhat.com> writes:

KB> For the time being, you can just use ``from_xcoff_exec'' for the
KB> test. Please add a comment which indicates that the test ought
KB> to be eventually changed to use GDB_OSABI_AIX when it becomes
KB> available. (Actually, once things are properly split apart, the
KB> test goes away.)

You wish is my command and thanks for the help.
-JX

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
+
2003-09-09 Ian Lance Taylor <ian@wasabisystems.com>

* MAINTAINERS: Update my e-mail address.
diff -Naur -X Xdiff src/gdb/config/powerpc/tm-linux.h mygdb/gdb/config/powerpc/tm-linux.h
--- src/gdb/config/powerpc/tm-linux.h Mon Sep 8 10:06:36 2003
+++ mygdb/gdb/config/powerpc/tm-linux.h Mon Sep 8 10:03:28 2003
@@ -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 */

diff -Naur -X Xdiff src/gdb/config/powerpc/tm-ppc-eabi.h mygdb/gdb/config/powerpc/tm-ppc-eabi.h
--- src/gdb/config/powerpc/tm-ppc-eabi.h Fri Apr 12 15:48:37 2002
+++ mygdb/gdb/config/powerpc/tm-ppc-eabi.h Tue Sep 9 10:54:48 2003
@@ -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

diff -Naur -X Xdiff src/gdb/config/rs6000/tm-rs6000.h mygdb/gdb/config/rs6000/tm-rs6000.h
--- src/gdb/config/rs6000/tm-rs6000.h Mon Sep 8 10:06:36 2003
+++ mygdb/gdb/config/rs6000/tm-rs6000.h Mon Sep 8 10:05:43 2003
@@ -90,12 +90,6 @@
extern CORE_ADDR init_frame_pc_noop (int fromleaf, struct frame_info *prev);
#define DEPRECATED_INIT_FRAME_PC(fromleaf, prev) (init_frame_pc_noop (fromleaf, prev))

-/* 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
diff -Naur -X Xdiff src/gdb/rs6000-tdep.c mygdb/gdb/rs6000-tdep.c
--- src/gdb/rs6000-tdep.c Tue Sep 9 17:33:09 2003
+++ mygdb/gdb/rs6000-tdep.c Tue Sep 9 17:08:02 2003
@@ -3013,6 +3013,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 then 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;
}