* osabi.c (gdb_osabi_name): Add name of new value GDB_OSABI_AIX.
* rs6000-tdep.h: New file.
* rs6000-tdep.c: Include "rs6000-tdep.h".
(rs6000_gdbarch_init): Remove enabling of software single step.
Will be done in the AIX-specific initialization routine.
* rs6000-aix-tdep.c: New file.
* config/powerpc/aix.mt (TDEPFILES): Add rs6000-aix-tdep.o.
* Makefile.in (rs6000_tdep_h): New variable.
(rs6000-tdep.o): Update dependencies.
(rs6000-aix-tdep.o): New rule.
+2006-02-10 Joel Brobecker <brobecker@adacore.com>
+
+ * defs.h (gdb_osabi): New enum value GDB_OSABI_AIX.
+ * osabi.c (gdb_osabi_name): Add name of new value GDB_OSABI_AIX.
+ * rs6000-tdep.h: New file.
+ * rs6000-tdep.c: Include "rs6000-tdep.h".
+ (rs6000_gdbarch_init): Remove enabling of software single step.
+ Will be done in the AIX-specific initialization routine.
+ * rs6000-aix-tdep.c: New file.
+ * config/powerpc/aix.mt (TDEPFILES): Add rs6000-aix-tdep.o.
+ * Makefile.in (rs6000_tdep_h): New variable.
+ (rs6000-tdep.o): Update dependencies.
+ (rs6000-aix-tdep.o): New rule.
+
2006-02-10 Joel Brobecker <brobecker@adacore.com>
* aix-thread.c (_initialize_aix_thread): Use add_setshow_boolean_cmd
remote_fileio_h = remote-fileio.h
remote_h = remote.h
remote_utils_h = remote-utils.h $(target_h)
+rs6000_tdep_h = rs6000-tdep.h $(defs_h)
s390_tdep_h = s390-tdep.h
scm_lang_h = scm-lang.h $(scm_tags_h)
scm_tags_h = scm-tags.h
$(reggroups_h) $(libbfd_h) $(coff_internal_h) $(libcoff_h) \
$(coff_xcoff_h) $(libxcoff_h) $(elf_bfd_h) $(solib_svr4_h) \
$(ppc_tdep_h) $(gdb_assert_h) $(dis_asm_h) $(trad_frame_h) \
- $(frame_unwind_h) $(frame_base_h) $(reggroups_h)
+ $(frame_unwind_h) $(frame_base_h) $(reggroups_h) $(rs6000_tdep_h)
+rs6000-aix-tdep.o: rs6000-aix-tdep.c $(defs_h) $(osabi_h) $(rs6000_tdep_h)
s390-nat.o: s390-nat.c $(defs_h) $(tm_h) $(regcache_h) $(inferior_h) \
$(s390_tdep_h) $(target_h) $(linux_nat_h)
s390-tdep.o: s390-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) $(inferior_h) \
# Target: PowerPC running AIX
-TDEPFILES= rs6000-tdep.o xcoffread.o ppc-sysv-tdep.o solib.o solib-svr4.o
+TDEPFILES= rs6000-tdep.o rs6000-aix-tdep.o \
+ xcoffread.o ppc-sysv-tdep.o solib.o solib-svr4.o
DEPRECATED_TM_FILE= config/rs6000/tm-rs6000.h
GDB_OSABI_QNXNTO,
GDB_OSABI_CYGWIN,
+ GDB_OSABI_AIX,
GDB_OSABI_INVALID /* keep this last */
};
"QNX Neutrino",
"Cygwin",
+ "AIX",
"<invalid>"
};
--- /dev/null
+/* Native support code for PPC AIX, for GDB the GNU debugger.
+
+ Copyright (C) 2006 Free Software Foundation, Inc.
+
+ 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 2 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, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include "defs.h"
+#include "osabi.h"
+#include "rs6000-tdep.h"
+
+static enum gdb_osabi
+rs6000_aix_osabi_sniffer (bfd *abfd)
+{
+
+ if (bfd_get_flavour (abfd) == bfd_target_xcoff_flavour);
+ return GDB_OSABI_AIX;
+
+ return GDB_OSABI_UNKNOWN;
+}
+
+static void
+rs6000_aix_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+ /* RS6000/AIX does not support PT_STEP. Has to be simulated. */
+ set_gdbarch_software_single_step (gdbarch, rs6000_software_single_step);
+}
+
+void
+_initialize_rs6000_aix_tdep (void)
+{
+ gdbarch_register_osabi_sniffer (bfd_arch_rs6000,
+ bfd_target_xcoff_flavour,
+ rs6000_aix_osabi_sniffer);
+
+ gdbarch_register_osabi (bfd_arch_rs6000, 0, GDB_OSABI_AIX,
+ rs6000_aix_init_osabi);
+}
+
#include "frame-base.h"
#include "reggroups.h"
+#include "rs6000-tdep.h"
/* If the kernel has to deliver a signal, it pushes a sigcontext
structure on the stack and then calls the signal handler, passing
frame_base_append_sniffer (gdbarch, rs6000_frame_base_sniffer);
}
- 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);
- }
-
init_sim_regno_table (gdbarch);
return gdbarch;
--- /dev/null
+/* Copyright (C) 2006 Free Software Foundation, Inc.
+
+ 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 2 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, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include "defs.h"
+
+extern void rs6000_software_single_step (enum target_signal signal,
+ int insert_breakpoints_p);
+