* armobsd-tdep.c: New file.

* Makefile.in (ALLDEPFILES): Add armobsd-tdep.c.
(armobsd-tdep.o): New dependency.
* config/arm/obsd.mt: New file.
* configure.tgt: (arm*-*-openbsd*): Set gdb_target to obsd.
This commit is contained in:
Mark Kettenis 2006-07-16 15:29:09 +00:00
parent a4bc5cf9b4
commit a58dc20099
5 changed files with 62 additions and 2 deletions

View file

@ -1,5 +1,11 @@
2006-07-16 Mark Kettenis <kettenis@gnu.org>
* armobsd-tdep.c: New file.
* Makefile.in (ALLDEPFILES): Add armobsd-tdep.c.
(armobsd-tdep.o): New dependency.
* config/arm/obsd.mt: New file.
* configure.tgt: (arm*-*-openbsd*): Set gdb_target to obsd.
* gdbarch.sh (deprecated_saved_pc_after_call): Delete.
* gdbarch.h, gdbarch.c: Re-generate.

View file

@ -1418,7 +1418,7 @@ ALLDEPFILES = \
amd64-linux-nat.c amd64-linux-tdep.c \
amd64-sol2-tdep.c \
arm-linux-nat.c arm-linux-tdep.c arm-tdep.c \
armnbsd-nat.c armnbsd-tdep.c \
armnbsd-nat.c armnbsd-tdep.c armobsd-tdep.c \
avr-tdep.c \
bsd-uthread.c bsd-kvm.c \
coff-solib.c \
@ -1783,6 +1783,8 @@ armnbsd-nat.o: armnbsd-nat.c $(defs_h) $(gdbcore_h) $(inferior_h) \
$(regcache_h) $(target_h) $(gdb_string_h) $(arm_tdep_h) $(inf_ptrace_h)
armnbsd-tdep.o: armnbsd-tdep.c $(defs_h) $(osabi_h) $(gdb_string_h) \
$(arm_tdep_h) $(solib_svr4_h)
armobsd-tdep.o: armobsd-tdep.c $(defs_h) $(osabi_h) \
$(arm_tdep_h) $(solib_svr4_h)
arm-tdep.o: arm-tdep.c $(defs_h) $(frame_h) $(inferior_h) $(gdbcmd_h) \
$(gdbcore_h) $(gdb_string_h) $(dis_asm_h) $(regcache_h) \
$(doublest_h) $(value_h) $(arch_utils_h) $(osabi_h) \

50
gdb/armobsd-tdep.c Normal file
View file

@ -0,0 +1,50 @@
/* Target-dependent code for OpenBSD/arm.
Copyright (C) 2006 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., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
#include "defs.h"
#include "osabi.h"
#include "arm-tdep.h"
#include "solib-svr4.h"
static void
armobsd_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
if (tdep->fp_model == ARM_FLOAT_AUTO)
tdep->fp_model = ARM_FLOAT_SOFT_VFP;
/* OpenBSD/arm uses SVR4-style shared libraries. */
set_solib_svr4_fetch_link_map_offsets
(gdbarch, svr4_ilp32_fetch_link_map_offsets);
tdep->jb_pc = 24;
tdep->jb_elt_size = 4;
}
void
_initialize_armobsd_tdep (void)
{
gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_OPENBSD_ELF,
armobsd_init_abi);
}

2
gdb/config/arm/obsd.mt Normal file
View file

@ -0,0 +1,2 @@
# Target: OpenBSD/arm
TDEPFILES= arm-tdep.o armobsd-tdep.o solib.o solib-svr4.o

View file

@ -58,7 +58,7 @@ arm*-*-linux*) gdb_target=linux
arm*-*-netbsd* | arm*-*-knetbsd*-gnu)
gdb_target=nbsd ;;
arm-*-nto*) gdb_target=nto ;;
arm*-*-openbsd*) gdb_target=nbsd ;;
arm*-*-openbsd*) gdb_target=obsd ;;
arm*-*-* | thumb*-*-* | strongarm*-*-*)
gdb_target=embed
build_rdi_share=yes