* blockframe.c (get_pc_function_start): Rewrite to avoid
[deliverable/binutils-gdb.git] / gdb / ppcnbsd-tdep.c
index 16662fd628793d64e81aa514b7d17497a3cd8771..21ab858768e792be1b74fef812c5b1a822596e85 100644 (file)
@@ -1,5 +1,5 @@
 /* Target-dependent code for PowerPC systems running NetBSD.
-   Copyright 2002 Free Software Foundation, Inc.
+   Copyright 2002, 2003 Free Software Foundation, Inc.
    Contributed by Wasabi Systems, Inc.
 
    This file is part of GDB.
@@ -25,6 +25,7 @@
 #include "target.h"
 #include "breakpoint.h"
 #include "value.h"
+#include "osabi.h"
 
 #include "ppc-tdep.h"
 #include "ppcnbsd-tdep.h"
@@ -196,16 +197,18 @@ static struct core_fns ppcnbsd_elfcore_fns =
   NULL                                 /* next */
 };
 
+static int
+ppcnbsd_pc_in_sigtramp (CORE_ADDR pc, char *func_name)
+{
+  /* FIXME: Need to add support for kernel-provided signal trampolines.  */
+  return (nbsd_pc_in_sigtramp (pc, func_name));
+}
+
 static void
 ppcnbsd_init_abi (struct gdbarch_info info,
                   struct gdbarch *gdbarch)
 {
-  /* Until November 2001, gcc was not complying to the SYSV ABI for
-     returning structures less than or equal to 8 bytes in size. It was
-     returning everything in memory. When this was corrected, it wasn't
-     fixed for native platforms.  */
-  set_gdbarch_use_struct_convention (gdbarch,
-                                   ppc_sysv_abi_broken_use_struct_convention);
+  set_gdbarch_pc_in_sigtramp (gdbarch, ppcnbsd_pc_in_sigtramp);
 
   set_solib_svr4_fetch_link_map_offsets (gdbarch,
                                 nbsd_ilp32_solib_svr4_fetch_link_map_offsets);
@@ -214,7 +217,7 @@ ppcnbsd_init_abi (struct gdbarch_info info,
 void
 _initialize_ppcnbsd_tdep (void)
 {
-  gdbarch_register_osabi (bfd_arch_powerpc, GDB_OSABI_NETBSD_ELF,
+  gdbarch_register_osabi (bfd_arch_powerpc, 0, GDB_OSABI_NETBSD_ELF,
                          ppcnbsd_init_abi);
 
   add_core_fns (&ppcnbsd_core_fns);
This page took 0.028405 seconds and 4 git commands to generate.