diff options
author | Joel Brobecker <brobecker@gnat.com> | 2013-05-06 14:15:50 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2013-05-06 14:15:50 +0000 |
commit | 4d1eb6b4d299f3e46aab18e08fe4ef3063a39565 (patch) | |
tree | 3f3c26c9dc0c529c96fc4d2b5ddfa6ca61fabc1d /gdb/config | |
parent | 0c4f667cfe5118bf3a2690502a9a40ff3309abed (diff) | |
download | gdb-4d1eb6b4d299f3e46aab18e08fe4ef3063a39565.zip gdb-4d1eb6b4d299f3e46aab18e08fe4ef3063a39565.tar.gz gdb-4d1eb6b4d299f3e46aab18e08fe4ef3063a39565.tar.bz2 |
Reimplement shared library support on ppc-aix...
... using the target_so_ops framework.
gdb/ChangeLog:
* target.h (TARGET_OBJECT_AIX_LIBRARIES): New target_object enum.
* features/library-list-aix.dtd: New file.
* solib-aix.h, solib-aix.c: New file.
* rs6000-aix-tdep.c: #include "solib.h" and "solib-aix.h".
(rs6000_find_toc_address_hook): Delete.
(rs6000_push_dummy_call): Rewrite code setting the TOC value.
(rs6000_aix_init_osabi): Register solib_aix_so_ops.
* rs6000-nat.c: Remove "xcoffsolib.h" include. Include
"xml-utils.h".
(map_vmap, vmap_exec, vmap_ldinfo, add_vmap, objfile_symbol_add)
(vmap_symtab, fixup_breakpoints): Delete.
(rs6000_xfer_shared_libraries): New function.
(rs6000_xfer_partial): Add TARGET_OBJECT_AIX_LIBRARIES handling.
(vmap_secs, bss_data_overlap, vmap_add_symbols): Delete.
(xcoff_relocate_symtab, xcoff_relocate_core): Delete.
(rs6000_ptrace_ldinfo, rs6000_core_ldinfo)
(rs6000_xfer_shared_library): New function.
(find_toc_address): Delete.
(_initialize_rs6000_nat): Do not set rs6000_find_toc_address_hook.
* rs6000-tdep.h (rs6000_find_toc_address_hook): Remove.
* xcoffread.c (record_minimal_symbol): Reloate symbol address
before creating minimal symbol. Adjust function description
accordingly.
(scan_xcoff_symtab): Replace call to
prim_record_minimal_symbol_and_info by call to
record_minimal_symbol.
(xcoff_symfile_offsets): Reimplement mostly as a wrapper
around default_symfile_offsets.
* configure.tgt: Add solib-aix.o to gdb_target_obs for
powerpc-aix targets.
* config/rs6000/nm-rs6000.h: Delete.
* config/powerpc/aix.mh (NAT_FILE): Delete.
(NATDEPFILES): Remove xcoffsolib.o.
* Makefile.in (XMLFILES): Add library-list-aix.dtd.
(ALL_TARGET_OBS): Add solib-aix.o.
(HFILES_NO_SRCDIR): Remove xcoffsolib.h and
config/rs6000/nm-rs6000.h. Add solib-aix.h.
(ALLDEPFILES): Add solib-aix.c. Remove xcoffsolib.c.
* xcoffsolib.h, xcoffsolib.c: Delete.
* solib.c (reload_shared_libraries): Remove reference to
SOLIB_CREATE_INFERIOR_HOOK.
* breakpoint.c (handle_solib_event): Remove reference to SOLIB_ADD.
(disable_breakpoints_in_shlibs): Remove reference to PC_SOLIB.
(momentary_bkpt_re_set): Replace SOLIB_ADD by solib_add in
comment.
* corelow.c (deprecated_core_resize_section_table): Delete.
* exec.c: Remove include of xcoffsolib.h".
(map_vmap, vmap): Delete.
(exec_close_1): Remove references to vmap.
(exec_file_attach): Remove vmap handling code, and reference
to DEPRECATED_IBM6000_TARGET.
(bfdsec_to_vmap): Delete.
(exec_files_info): Remove block of code handling VMAP.
* infcmd.c (post_create_inferior): Remove reference to
SOLIB_CREATE_INFERIOR_HOOK and SOLIB_ADD.
* infrun.c (follow_exec): Remove reference to
SOLIB_CREATE_INFERIOR_HOOK.
* stack.c (print_frame): Remove reference to PC_SOLIB.
* solib-dsbt.c (dsbt_current_sos): Adjust comment.
(dsbt_relocate_main_executable): Likewise.
* solib-frv.c (frv_current_sos): Likewise.
gdb/doc/ChangeLog:
* gdbint.texinfo (Algorithms): Remove entries documenting
DEPRECATED_IBM6000_TARGET, SOLIB_ADD, and
SOLIB_CREATE_INFERIOR_HOOK.
Diffstat (limited to 'gdb/config')
-rw-r--r-- | gdb/config/powerpc/aix.mh | 5 | ||||
-rw-r--r-- | gdb/config/rs6000/nm-rs6000.h | 50 |
2 files changed, 1 insertions, 54 deletions
diff --git a/gdb/config/powerpc/aix.mh b/gdb/config/powerpc/aix.mh index d007fff..141501d 100644 --- a/gdb/config/powerpc/aix.mh +++ b/gdb/config/powerpc/aix.mh @@ -1,10 +1,7 @@ # Host: IBM PowerPC running AIX -NAT_FILE= config/rs6000/nm-rs6000.h - # aix-thread.o is not listed in NATDEPFILES as it is pulled in by configure. -NATDEPFILES= fork-child.o inf-ptrace.o rs6000-nat.o \ - xcoffsolib.o +NATDEPFILES= fork-child.o inf-ptrace.o rs6000-nat.o # When compiled with cc, for debugging, this argument should be passed. # We have no idea who our current compiler is though, so we skip it. diff --git a/gdb/config/rs6000/nm-rs6000.h b/gdb/config/rs6000/nm-rs6000.h deleted file mode 100644 index e631521..0000000 --- a/gdb/config/rs6000/nm-rs6000.h +++ /dev/null @@ -1,50 +0,0 @@ -/* IBM RS/6000 native-dependent macros for GDB, the GNU debugger. - Copyright (C) 1986-2013 Free Software Foundation, Inc. - - This file is part of GDB. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. */ - -/* When a child process is just starting, we sneak in and relocate - the symbol table (and other stuff) after the dynamic linker has - figured out where they go. */ - -#define SOLIB_CREATE_INFERIOR_HOOK(PID) \ - do { \ - xcoff_relocate_symtab (PID); \ - } while (0) - -/* When a target process or core-file has been attached, we sneak in - and figure out where the shared libraries have got to. */ - -#define SOLIB_ADD(a, b, c, d) \ - if (PIDGET (inferior_ptid)) \ - /* Attach to process. */ \ - xcoff_relocate_symtab (PIDGET (inferior_ptid)); \ - else \ - /* Core file. */ \ - xcoff_relocate_core (c); - -extern void xcoff_relocate_symtab (unsigned int); -struct target_ops; -extern void xcoff_relocate_core (struct target_ops *); - -/* If ADDR lies in a shared library, return its name. */ - -#define PC_SOLIB(PC) xcoff_solib_address(PC) -extern char *xcoff_solib_address (CORE_ADDR); - -/* Flag for machine-specific stuff in shared files. FIXME */ -#define DEPRECATED_IBM6000_TARGET - |