forked from Imagelibrary/binutils-gdb
RS/6000 portability changes (for hosting cross-debuggers).
* breakpoint.c (fixup_breakpoints): Re-kludge to IBM6000_TARGET. * buildsym.c, rs6000-xdep.c, rs6000-tdep.c, tm-rs6000.h, xcoffexec.c, xcoffread.c: Rename aixcoff to xcoff everywhere. * printcmd.c (print_frame_args): Remove an RS/6000 dependency. * stabsread.c (define_symbol): Remove RS/6000 dependencies. * tm-rs6000.h (ATTACH_DETACH): Remove: host-dependent. (PTRACE_ATTACH, PTRACE_DETACH): Remove: host-dep. (NO_SINGLE_STEP): Add, target-dependent. (loadinfotextindex): Lowercase, remove "aix_". * xm-rs6000.h: Add <sys/ptrace.h> for infptrace.c. (NO_SINGLE_STEP): Remove, target-dependent. * xcoffexec.c (vmap_symtab): Cleanup #if 0'd code. * xcoffread.c: Only build file if RS/6000 native GDB. (build_function_symbol): Remove #if 0'd code. * rs6000-tdep.c: Cleanup. Add static fn protos. Use CORE_ADDR for addresses throughout. Make void fns void. (pop_dummy_frame): Add FIXME about bogosity of design here. (rs6000_struct_return_address): Ditto. (frameless_function_invocation, frame_get_cache_fsr, frame_initial_stack_address, xcoff_relocate_symtab, xcoff_init_loadinfo, free_loadinfo, xcoff_add_toc_to_loadinfo, add_text_to_loadinfo, find_toc_address): Move from xdep file. Use CORE_ADDRs. Change identifiers to lowercase. * rs6000-xdep.c: Make whole file conditional on native RS/6000, supplying dummy routines if non-native. Add prototype for static exec_one_dummy_insn. Move a mess of functions to rs6000-tdep.c (as above). Remove #if 0'd code. * config/rs6000.mh (XDEPFILES): Move xcoffexec.o to target side. (XM_CLIBS): Add -lm to circumvent AIX 3.2 libc ldexp bug. * config/rs6000.mt (TDEPFILES): Adopt xcoffexec.o.
This commit is contained in:
@@ -133,12 +133,12 @@ struct aix_framedata {
|
||||
figured out where they go. But we want to do this relocation just
|
||||
once. */
|
||||
|
||||
extern int aix_loadInfoTextIndex;
|
||||
extern int loadinfotextindex;
|
||||
|
||||
#define SOLIB_CREATE_INFERIOR_HOOK(PID) \
|
||||
do { \
|
||||
if (aix_loadInfoTextIndex == 0) \
|
||||
aixcoff_relocate_symtab (PID); \
|
||||
if (loadinfotextindex == 0) \
|
||||
xcoff_relocate_symtab (PID); \
|
||||
} while (0)
|
||||
|
||||
|
||||
@@ -164,7 +164,7 @@ extern int aix_loadInfoTextIndex;
|
||||
continue; \
|
||||
}
|
||||
|
||||
/* In aixcoff, we cannot process line numbers when we see them. This is
|
||||
/* In xcoff, we cannot process line numbers when we see them. This is
|
||||
mainly because we don't know the boundaries of the include files. So,
|
||||
we postpone that, and then enter and sort(?) the whole line table at
|
||||
once, when we are closing the current symbol table in end_symtab(). */
|
||||
@@ -179,7 +179,7 @@ extern int aix_loadInfoTextIndex;
|
||||
load segments. */
|
||||
|
||||
#define SOLIB_ADD(a, b, c) \
|
||||
if (inferior_pid) aixcoff_relocate_symtab (inferior_pid)
|
||||
if (inferior_pid) xcoff_relocate_symtab (inferior_pid)
|
||||
|
||||
/* Immediately after a function call, return the saved pc.
|
||||
Can't go through the frames for this because on some machines
|
||||
@@ -413,17 +413,6 @@ extern unsigned int rs6000_struct_return_address;
|
||||
as a CORE_ADDR (or an expression that can be used as one). */
|
||||
|
||||
#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) rs6000_struct_return_address
|
||||
|
||||
|
||||
/* Do implement the attach and detach commands. */
|
||||
|
||||
#define ATTACH_DETACH
|
||||
|
||||
/* infptrace.c requires those. */
|
||||
|
||||
#define PTRACE_ATTACH 30
|
||||
#define PTRACE_DETACH 31
|
||||
|
||||
|
||||
/* Describe the pointer in each stack frame to the previous stack frame
|
||||
(its caller). */
|
||||
@@ -638,3 +627,7 @@ aix_resizewindow () \
|
||||
|
||||
/* Flag for machine-specific stuff in shared files. FIXME */
|
||||
#define IBM6000_TARGET
|
||||
|
||||
/* RS6000/AIX does not support PT_STEP. Has to be simulated. */
|
||||
|
||||
#define NO_SINGLE_STEP
|
||||
|
||||
Reference in New Issue
Block a user