X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Fnbsd-tdep.c;h=93da2c694cd4ba5a4514883c17ee5249e93c7f79;hb=ed34ef5ed3b11141a622e3edfb0c47e790f1fea7;hp=5548d40d9ce7b1ac7196a495f6f7f5bc0fac70e7;hpb=197e01b6dcd118b70ed3621b62b2ff3fa929d50f;p=platform%2Fupstream%2Fbinutils.git diff --git a/gdb/nbsd-tdep.c b/gdb/nbsd-tdep.c index 5548d40..93da2c6 100644 --- a/gdb/nbsd-tdep.c +++ b/gdb/nbsd-tdep.c @@ -1,105 +1,45 @@ /* Common target-dependent code for NetBSD systems. - Copyright (C) 2002 Free Software Foundation, Inc. + + Copyright (C) 2002-2014 Free Software Foundation, Inc. + Contributed by Wasabi Systems, 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 + the Free Software Foundation; either version 3 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. */ + along with this program. If not, see . */ #include "defs.h" -#include "gdb_string.h" #include "solib-svr4.h" +#include "nbsd-tdep.h" -/* Fetch (and possibly build) an appropriate link_map_offsets - structure for NetBSD targets using the struct offsets defined - in (but without actual reference to that file). - - This makes it possible to access NetBSD shared libraries from a - GDB that was not built on the same platform (for cross debugging). +/* FIXME: kettenis/20060115: We should really eliminate the next two + functions completely. */ - We provide versions for ILP32 and LP64 NetBSD targets here. */ - struct link_map_offsets * nbsd_ilp32_solib_svr4_fetch_link_map_offsets (void) { - static struct link_map_offsets lmo; - static struct link_map_offsets *lmp = NULL; - - if (lmp == NULL) - { - lmp = &lmo; - - lmo.r_debug_size = 16; - - lmo.r_map_offset = 4; - lmo.r_map_size = 4; - - lmo.link_map_size = 20; - - lmo.l_addr_offset = 0; - lmo.l_addr_size = 4; - - lmo.l_name_offset = 4; - lmo.l_name_size = 4; - - lmo.l_next_offset = 12; - lmo.l_next_size = 4; - - lmo.l_prev_offset = 16; - lmo.l_prev_size = 4; - } - - return lmp; + return svr4_ilp32_fetch_link_map_offsets (); } struct link_map_offsets * nbsd_lp64_solib_svr4_fetch_link_map_offsets (void) { - static struct link_map_offsets lmo; - static struct link_map_offsets *lmp = NULL; - - if (lmp == NULL) - { - lmp = &lmo; - - lmo.r_debug_size = 32; - - lmo.r_map_offset = 8; - lmo.r_map_size = 8; - - lmo.link_map_size = 40; - - lmo.l_addr_offset = 0; - lmo.l_addr_size = 8; - - lmo.l_name_offset = 8; - lmo.l_name_size = 8; - - lmo.l_next_offset = 24; - lmo.l_next_size = 8; - - lmo.l_prev_offset = 32; - lmo.l_prev_size = 8; - } - - return lmp; + return svr4_lp64_fetch_link_map_offsets (); } int -nbsd_pc_in_sigtramp (CORE_ADDR pc, char *func_name) +nbsd_pc_in_sigtramp (CORE_ADDR pc, const char *func_name) { /* Check for libc-provided signal trampoline. All such trampolines have function names which begin with "__sigtramp". */