2005-12-26 19:15:11 +00:00
|
|
|
/* Target-dependent code for OpenBSD.
|
|
|
|
|
2014-01-01 07:54:24 +04:00
|
|
|
Copyright (C) 2005-2014 Free Software Foundation, Inc.
|
2005-12-26 19:15:11 +00:00
|
|
|
|
|
|
|
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
|
2007-08-23 18:08:50 +00:00
|
|
|
the Free Software Foundation; either version 3 of the License, or
|
2005-12-26 19:15:11 +00:00
|
|
|
(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
|
2007-08-23 18:08:50 +00:00
|
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
2005-12-26 19:15:11 +00:00
|
|
|
|
|
|
|
#include "defs.h"
|
|
|
|
#include "frame.h"
|
|
|
|
#include "symtab.h"
|
|
|
|
|
|
|
|
#include "obsd-tdep.h"
|
|
|
|
|
|
|
|
CORE_ADDR
|
|
|
|
obsd_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
|
|
|
|
{
|
use bound_minsym as result for lookup_minimal_symbol et al
This patch changes a few minimal symbol lookup functions to return a
bound_minimal_symbol rather than a pointer to the minsym. This change
helps prepare gdb for computing a minimal symbol's address at the
point of use.
Note that this changes even those functions that ostensibly search a
single objfile. That was necessary because, in fact, those functions
can search an objfile and its separate debug objfiles; and it is
important for the caller to know in which objfile the minimal symbol
was actually found.
The bulk of this patch is mechanical.
2014-02-26 Tom Tromey <tromey@redhat.com>
* ada-lang.c (ada_update_initial_language): Update.
(ada_main_name, ada_has_this_exception_support): Update.
* ada-tasks.c (ada_tasks_inferior_data_sniffer): Update.
* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
* arm-tdep.c (arm_skip_stub): Update.
* auxv.c (ld_so_xfer_auxv): Update.
* avr-tdep.c (avr_scan_prologue): Update.
* ax-gdb.c (gen_var_ref): Update.
* breakpoint.c (struct breakpoint_objfile_data)
<overlay_msym, longjmp_msym, terminate_msym, exception_msym>: Change
type to bound_minimal_symbol.
(create_overlay_event_breakpoint)
(create_longjmp_master_breakpoint)
(create_std_terminate_master_breakpoint)
(create_exception_master_breakpoint): Update.
* bsd-uthread.c (bsd_uthread_lookup_address): Update.
* c-exp.y (classify_name): Update.
* coffread.c (coff_symfile_read): Update.
* common/agent.c (agent_look_up_symbols): Update.
* d-lang.c (d_main_name): Update.
* dbxread.c (find_stab_function_addr, end_psymtab): Update.
* dec-thread.c (enable_dec_thread): Update.
* dwarf2loc.c (call_site_to_target_addr): Update.
* elfread.c (elf_gnu_ifunc_resolve_by_got): Update.
* eval.c (evaluate_subexp_standard): Update.
* findvar.c (struct minsym_lookup_data) <result>: Change type
to bound_minimal_symbol.
<objfile>: Remove.
(minsym_lookup_iterator_cb, default_read_var_value): Update.
* frame.c (inside_main_func): Update.
* frv-tdep.c (frv_frame_this_id): Update.
* gcore.c (call_target_sbrk): Update.
* glibc-tdep.c (glibc_skip_solib_resolver): Update.
* gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline):
Update.
* go-lang.c (go_main_name): Update.
* hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code)
(hppa_hpux_find_import_stub_for_addr): Update.
* hppa-tdep.c (hppa_extract_17, hppa_lookup_stub_minimal_symbol):
Update. Change return type.
* hppa-tdep.h (hppa_lookup_stub_minimal_symbol): Change return
type.
* jit.c (jit_breakpoint_re_set_internal): Update.
* linux-fork.c (inferior_call_waitpid, checkpoint_command):
Update.
* linux-nat.c (get_signo): Update.
* linux-thread-db.c (inferior_has_bug): Update
* m32c-tdep.c (m32c_return_value)
(m32c_m16c_address_to_pointer): Update.
* m32r-tdep.c (m32r_frame_this_id): Update.
* m68hc11-tdep.c (m68hc11_get_register_info): Update.
* machoread.c (macho_resolve_oso_sym_with_minsym): Update.
* minsyms.c (lookup_minimal_symbol_internal): Rename to
lookup_minimal_symbol. Change return type.
(lookup_minimal_symbol): Remove.
(lookup_bound_minimal_symbol): Update.
(lookup_minimal_symbol_text): Change return type.
(lookup_minimal_symbol_solib_trampoline): Change return type.
* minsyms.h (lookup_minimal_symbol, lookup_minimal_symbol_text)
(lookup_minimal_symbol_solib_trampoline): Change return type.
* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
* objc-lang.c (lookup_objc_class, lookup_child_selector)
(value_nsstring, find_imps): Update.
* obsd-tdep.c (obsd_skip_solib_resolver): Update.
* p-lang.c (pascal_main_name): Update.
* ppc-linux-tdep.c (ppc_linux_spe_context_lookup): Update.
* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
* proc-service.c (ps_pglobal_lookup): Update.
* ravenscar-thread.c (get_running_thread_msymbol): Change
return type.
(has_ravenscar_runtime, get_running_thread_id): Update.
* remote.c (remote_check_symbols): Update.
* sol-thread.c (ps_pglobal_lookup): Update.
* sol2-tdep.c (sol2_skip_solib_resolver): Update.
* solib-dsbt.c (lm_base): Update.
* solib-frv.c (lm_base, frv_relocate_section_addresses):
Update.
* solib-irix.c (locate_base): Update.
* solib-som.c (som_solib_create_inferior_hook)
(som_solib_desire_dynamic_linker_symbols, link_map_start):
Update.
* solib-spu.c (spu_enable_break): Update.
* solib-svr4.c (elf_locate_base, enable_break): Update.
* spu-tdep.c (spu_get_overlay_table, spu_catch_start)
(flush_ea_cache): Update.
* stabsread.c (define_symbol): Update.
* symfile.c (simple_read_overlay_table): Update.
* symtab.c (find_pc_sect_line): Update.
* tracepoint.c (scope_info): Update.
* tui-disasm.c (tui_get_begin_asm_address): Update.
* value.c (value_static_field): Update.
2013-10-14 19:53:29 -06:00
|
|
|
struct bound_minimal_symbol msym;
|
2005-12-26 19:15:11 +00:00
|
|
|
|
|
|
|
msym = lookup_minimal_symbol("_dl_bind", NULL, NULL);
|
use bound_minsym as result for lookup_minimal_symbol et al
This patch changes a few minimal symbol lookup functions to return a
bound_minimal_symbol rather than a pointer to the minsym. This change
helps prepare gdb for computing a minimal symbol's address at the
point of use.
Note that this changes even those functions that ostensibly search a
single objfile. That was necessary because, in fact, those functions
can search an objfile and its separate debug objfiles; and it is
important for the caller to know in which objfile the minimal symbol
was actually found.
The bulk of this patch is mechanical.
2014-02-26 Tom Tromey <tromey@redhat.com>
* ada-lang.c (ada_update_initial_language): Update.
(ada_main_name, ada_has_this_exception_support): Update.
* ada-tasks.c (ada_tasks_inferior_data_sniffer): Update.
* aix-thread.c (pdc_symbol_addrs, pd_enable): Update.
* arm-tdep.c (arm_skip_stub): Update.
* auxv.c (ld_so_xfer_auxv): Update.
* avr-tdep.c (avr_scan_prologue): Update.
* ax-gdb.c (gen_var_ref): Update.
* breakpoint.c (struct breakpoint_objfile_data)
<overlay_msym, longjmp_msym, terminate_msym, exception_msym>: Change
type to bound_minimal_symbol.
(create_overlay_event_breakpoint)
(create_longjmp_master_breakpoint)
(create_std_terminate_master_breakpoint)
(create_exception_master_breakpoint): Update.
* bsd-uthread.c (bsd_uthread_lookup_address): Update.
* c-exp.y (classify_name): Update.
* coffread.c (coff_symfile_read): Update.
* common/agent.c (agent_look_up_symbols): Update.
* d-lang.c (d_main_name): Update.
* dbxread.c (find_stab_function_addr, end_psymtab): Update.
* dec-thread.c (enable_dec_thread): Update.
* dwarf2loc.c (call_site_to_target_addr): Update.
* elfread.c (elf_gnu_ifunc_resolve_by_got): Update.
* eval.c (evaluate_subexp_standard): Update.
* findvar.c (struct minsym_lookup_data) <result>: Change type
to bound_minimal_symbol.
<objfile>: Remove.
(minsym_lookup_iterator_cb, default_read_var_value): Update.
* frame.c (inside_main_func): Update.
* frv-tdep.c (frv_frame_this_id): Update.
* gcore.c (call_target_sbrk): Update.
* glibc-tdep.c (glibc_skip_solib_resolver): Update.
* gnu-v3-abi.c (gnuv3_get_typeid, gnuv3_skip_trampoline):
Update.
* go-lang.c (go_main_name): Update.
* hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code)
(hppa_hpux_find_import_stub_for_addr): Update.
* hppa-tdep.c (hppa_extract_17, hppa_lookup_stub_minimal_symbol):
Update. Change return type.
* hppa-tdep.h (hppa_lookup_stub_minimal_symbol): Change return
type.
* jit.c (jit_breakpoint_re_set_internal): Update.
* linux-fork.c (inferior_call_waitpid, checkpoint_command):
Update.
* linux-nat.c (get_signo): Update.
* linux-thread-db.c (inferior_has_bug): Update
* m32c-tdep.c (m32c_return_value)
(m32c_m16c_address_to_pointer): Update.
* m32r-tdep.c (m32r_frame_this_id): Update.
* m68hc11-tdep.c (m68hc11_get_register_info): Update.
* machoread.c (macho_resolve_oso_sym_with_minsym): Update.
* minsyms.c (lookup_minimal_symbol_internal): Rename to
lookup_minimal_symbol. Change return type.
(lookup_minimal_symbol): Remove.
(lookup_bound_minimal_symbol): Update.
(lookup_minimal_symbol_text): Change return type.
(lookup_minimal_symbol_solib_trampoline): Change return type.
* minsyms.h (lookup_minimal_symbol, lookup_minimal_symbol_text)
(lookup_minimal_symbol_solib_trampoline): Change return type.
* mips-linux-tdep.c (mips_linux_skip_resolver): Update.
* objc-lang.c (lookup_objc_class, lookup_child_selector)
(value_nsstring, find_imps): Update.
* obsd-tdep.c (obsd_skip_solib_resolver): Update.
* p-lang.c (pascal_main_name): Update.
* ppc-linux-tdep.c (ppc_linux_spe_context_lookup): Update.
* ppc-sysv-tdep.c (convert_code_addr_to_desc_addr): Update.
* proc-service.c (ps_pglobal_lookup): Update.
* ravenscar-thread.c (get_running_thread_msymbol): Change
return type.
(has_ravenscar_runtime, get_running_thread_id): Update.
* remote.c (remote_check_symbols): Update.
* sol-thread.c (ps_pglobal_lookup): Update.
* sol2-tdep.c (sol2_skip_solib_resolver): Update.
* solib-dsbt.c (lm_base): Update.
* solib-frv.c (lm_base, frv_relocate_section_addresses):
Update.
* solib-irix.c (locate_base): Update.
* solib-som.c (som_solib_create_inferior_hook)
(som_solib_desire_dynamic_linker_symbols, link_map_start):
Update.
* solib-spu.c (spu_enable_break): Update.
* solib-svr4.c (elf_locate_base, enable_break): Update.
* spu-tdep.c (spu_get_overlay_table, spu_catch_start)
(flush_ea_cache): Update.
* stabsread.c (define_symbol): Update.
* symfile.c (simple_read_overlay_table): Update.
* symtab.c (find_pc_sect_line): Update.
* tracepoint.c (scope_info): Update.
* tui-disasm.c (tui_get_begin_asm_address): Update.
* value.c (value_static_field): Update.
2013-10-14 19:53:29 -06:00
|
|
|
if (msym.minsym && MSYMBOL_VALUE_ADDRESS (msym.minsym) == pc)
|
2009-06-28 00:05:14 +00:00
|
|
|
return frame_unwind_caller_pc (get_current_frame ());
|
2005-12-26 19:15:11 +00:00
|
|
|
else
|
2007-06-15 22:39:52 +00:00
|
|
|
return find_solib_trampoline_target (get_current_frame (), pc);
|
2005-12-26 19:15:11 +00:00
|
|
|
}
|
2014-02-12 12:08:28 +01:00
|
|
|
|
|
|
|
/* OpenBSD signal numbers. From <sys/signal.h>. */
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
OBSD_SIGHUP = 1,
|
|
|
|
OBSD_SIGINT = 2,
|
|
|
|
OBSD_SIGQUIT = 3,
|
|
|
|
OBSD_SIGILL = 4,
|
|
|
|
OBSD_SIGTRAP = 5,
|
|
|
|
OBSD_SIGABRT = 6,
|
|
|
|
OBSD_SIGEMT = 7,
|
|
|
|
OBSD_SIGFPE = 8,
|
|
|
|
OBSD_SIGKILL = 9,
|
|
|
|
OBSD_SIGBUS = 10,
|
|
|
|
OBSD_SIGSEGV = 11,
|
|
|
|
OBSD_SIGSYS = 12,
|
|
|
|
OBSD_SIGPIPE = 13,
|
|
|
|
OBSD_SIGALRM = 14,
|
|
|
|
OBSD_SIGTERM = 15,
|
|
|
|
OBSD_SIGURG = 16,
|
|
|
|
OBSD_SIGSTOP = 17,
|
|
|
|
OBSD_SIGTSTP = 18,
|
|
|
|
OBSD_SIGCONT = 19,
|
|
|
|
OBSD_SIGCHLD = 20,
|
|
|
|
OBSD_SIGTTIN = 21,
|
|
|
|
OBSD_SIGTTOU = 22,
|
|
|
|
OBSD_SIGIO = 23,
|
|
|
|
OBSD_SIGXCPU = 24,
|
|
|
|
OBSD_SIGXFSZ = 25,
|
|
|
|
OBSD_SIGVTALRM = 26,
|
|
|
|
OBSD_SIGPROF = 27,
|
|
|
|
OBSD_SIGWINCH = 28,
|
|
|
|
OBSD_SIGINFO = 29,
|
|
|
|
OBSD_SIGUSR1 = 30,
|
|
|
|
OBSD_SIGUSR2 = 31,
|
|
|
|
OBSD_SIGTHR = 32,
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Implement the "gdb_signal_from_target" gdbarch method. */
|
|
|
|
|
|
|
|
static enum gdb_signal
|
|
|
|
obsd_gdb_signal_from_target (struct gdbarch *gdbarch, int signal)
|
|
|
|
{
|
|
|
|
switch (signal)
|
|
|
|
{
|
|
|
|
case 0:
|
|
|
|
return GDB_SIGNAL_0;
|
|
|
|
|
|
|
|
case OBSD_SIGHUP:
|
|
|
|
return GDB_SIGNAL_HUP;
|
|
|
|
|
|
|
|
case OBSD_SIGINT:
|
|
|
|
return GDB_SIGNAL_INT;
|
|
|
|
|
|
|
|
case OBSD_SIGQUIT:
|
|
|
|
return GDB_SIGNAL_QUIT;
|
|
|
|
|
|
|
|
case OBSD_SIGILL:
|
|
|
|
return GDB_SIGNAL_ILL;
|
|
|
|
|
|
|
|
case OBSD_SIGTRAP:
|
|
|
|
return GDB_SIGNAL_TRAP;
|
|
|
|
|
|
|
|
case OBSD_SIGABRT:
|
|
|
|
return GDB_SIGNAL_ABRT;
|
|
|
|
|
|
|
|
case OBSD_SIGEMT:
|
|
|
|
return GDB_SIGNAL_EMT;
|
|
|
|
|
|
|
|
case OBSD_SIGFPE:
|
|
|
|
return GDB_SIGNAL_FPE;
|
|
|
|
|
|
|
|
case OBSD_SIGKILL:
|
|
|
|
return GDB_SIGNAL_KILL;
|
|
|
|
|
|
|
|
case OBSD_SIGBUS:
|
|
|
|
return GDB_SIGNAL_BUS;
|
|
|
|
|
|
|
|
case OBSD_SIGSEGV:
|
|
|
|
return GDB_SIGNAL_SEGV;
|
|
|
|
|
|
|
|
case OBSD_SIGSYS:
|
|
|
|
return GDB_SIGNAL_SYS;
|
|
|
|
|
|
|
|
case OBSD_SIGPIPE:
|
|
|
|
return GDB_SIGNAL_PIPE;
|
|
|
|
|
|
|
|
case OBSD_SIGALRM:
|
|
|
|
return GDB_SIGNAL_ALRM;
|
|
|
|
|
|
|
|
case OBSD_SIGTERM:
|
|
|
|
return GDB_SIGNAL_TERM;
|
|
|
|
|
|
|
|
case OBSD_SIGURG:
|
|
|
|
return GDB_SIGNAL_URG;
|
|
|
|
|
|
|
|
case OBSD_SIGSTOP:
|
|
|
|
return GDB_SIGNAL_STOP;
|
|
|
|
|
|
|
|
case OBSD_SIGTSTP:
|
|
|
|
return GDB_SIGNAL_TSTP;
|
|
|
|
|
|
|
|
case OBSD_SIGCONT:
|
|
|
|
return GDB_SIGNAL_CONT;
|
|
|
|
|
|
|
|
case OBSD_SIGCHLD:
|
|
|
|
return GDB_SIGNAL_CHLD;
|
|
|
|
|
|
|
|
case OBSD_SIGTTIN:
|
|
|
|
return GDB_SIGNAL_TTIN;
|
|
|
|
|
|
|
|
case OBSD_SIGTTOU:
|
|
|
|
return GDB_SIGNAL_TTOU;
|
|
|
|
|
|
|
|
case OBSD_SIGIO:
|
|
|
|
return GDB_SIGNAL_IO;
|
|
|
|
|
|
|
|
case OBSD_SIGXCPU:
|
|
|
|
return GDB_SIGNAL_XCPU;
|
|
|
|
|
|
|
|
case OBSD_SIGXFSZ:
|
|
|
|
return GDB_SIGNAL_XFSZ;
|
|
|
|
|
|
|
|
case OBSD_SIGVTALRM:
|
|
|
|
return GDB_SIGNAL_VTALRM;
|
|
|
|
|
|
|
|
case OBSD_SIGPROF:
|
|
|
|
return GDB_SIGNAL_PROF;
|
|
|
|
|
|
|
|
case OBSD_SIGWINCH:
|
|
|
|
return GDB_SIGNAL_WINCH;
|
|
|
|
|
|
|
|
case OBSD_SIGINFO:
|
|
|
|
return GDB_SIGNAL_INFO;
|
|
|
|
|
|
|
|
case OBSD_SIGUSR1:
|
|
|
|
return GDB_SIGNAL_USR1;
|
|
|
|
|
|
|
|
case OBSD_SIGUSR2:
|
|
|
|
return GDB_SIGNAL_USR2;
|
|
|
|
}
|
|
|
|
|
|
|
|
return GDB_SIGNAL_UNKNOWN;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Implement the "gdb_signal_to_target" gdbarch method. */
|
|
|
|
|
|
|
|
static int
|
|
|
|
obsd_gdb_signal_to_target (struct gdbarch *gdbarch,
|
|
|
|
enum gdb_signal signal)
|
|
|
|
{
|
|
|
|
switch (signal)
|
|
|
|
{
|
|
|
|
case GDB_SIGNAL_0:
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_HUP:
|
|
|
|
return OBSD_SIGHUP;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_INT:
|
|
|
|
return OBSD_SIGINT;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_QUIT:
|
|
|
|
return OBSD_SIGQUIT;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_ILL:
|
|
|
|
return OBSD_SIGILL;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_TRAP:
|
|
|
|
return OBSD_SIGTRAP;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_ABRT:
|
|
|
|
return OBSD_SIGABRT;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_EMT:
|
|
|
|
return OBSD_SIGEMT;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_FPE:
|
|
|
|
return OBSD_SIGFPE;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_KILL:
|
|
|
|
return OBSD_SIGKILL;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_BUS:
|
|
|
|
return OBSD_SIGBUS;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_SEGV:
|
|
|
|
return OBSD_SIGSEGV;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_SYS:
|
|
|
|
return OBSD_SIGSYS;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_PIPE:
|
|
|
|
return OBSD_SIGPIPE;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_ALRM:
|
|
|
|
return OBSD_SIGALRM;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_TERM:
|
|
|
|
return OBSD_SIGTERM;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_URG:
|
|
|
|
return OBSD_SIGURG;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_STOP:
|
|
|
|
return OBSD_SIGSTOP;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_TSTP:
|
|
|
|
return OBSD_SIGTSTP;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_CONT:
|
|
|
|
return OBSD_SIGCONT;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_CHLD:
|
|
|
|
return OBSD_SIGCHLD;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_TTIN:
|
|
|
|
return OBSD_SIGTTIN;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_TTOU:
|
|
|
|
return OBSD_SIGTTOU;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_IO:
|
|
|
|
return OBSD_SIGIO;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_XCPU:
|
|
|
|
return OBSD_SIGXCPU;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_XFSZ:
|
|
|
|
return OBSD_SIGXFSZ;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_VTALRM:
|
|
|
|
return OBSD_SIGVTALRM;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_PROF:
|
|
|
|
return OBSD_SIGPROF;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_WINCH:
|
|
|
|
return OBSD_SIGWINCH;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_USR1:
|
|
|
|
return OBSD_SIGUSR1;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_USR2:
|
|
|
|
return OBSD_SIGUSR2;
|
|
|
|
|
|
|
|
case GDB_SIGNAL_INFO:
|
|
|
|
return OBSD_SIGINFO;
|
|
|
|
}
|
|
|
|
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
|
|
|
|
{
|
|
|
|
set_gdbarch_gdb_signal_from_target (gdbarch,
|
|
|
|
obsd_gdb_signal_from_target);
|
|
|
|
set_gdbarch_gdb_signal_to_target (gdbarch,
|
|
|
|
obsd_gdb_signal_to_target);
|
|
|
|
}
|