/* Target-dependent code for OSF/1 on Alpha.
- Copyright 2002 Free Software Foundation, Inc.
+ Copyright 2002, 2003 Free Software Foundation, Inc.
This file is part of GDB.
#include "frame.h"
#include "gdbcore.h"
#include "value.h"
+#include "osabi.h"
+#include "gdb_string.h"
#include "alpha-tdep.h"
static int
alpha_osf1_pc_in_sigtramp (CORE_ADDR pc, char *func_name)
{
- return (func_name != NULL && STREQ ("__sigtramp", func_name));
+ return (func_name != NULL && strcmp ("__sigtramp", func_name) == 0);
}
static CORE_ADDR
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
set_gdbarch_pc_in_sigtramp (gdbarch, alpha_osf1_pc_in_sigtramp);
+ /* The next/step support via procfs on OSF1 is broken when running
+ on multi-processor machines. We need to use software single stepping
+ instead. */
+ set_gdbarch_software_single_step (gdbarch, alpha_software_single_step);
tdep->skip_sigtramp_frame = alpha_osf1_skip_sigtramp_frame;
tdep->sigcontext_addr = alpha_osf1_sigcontext_addr;
void
_initialize_alpha_osf1_tdep (void)
{
- alpha_gdbarch_register_os_abi (ALPHA_ABI_OSF1, alpha_osf1_init_abi);
+ gdbarch_register_osabi (bfd_arch_alpha, 0, GDB_OSABI_OSF1,
+ alpha_osf1_init_abi);
}