Changeset View
Changeset View
Standalone View
Standalone View
devel/gdb/files/kgdb/ppcfbsd-kern.c
Show All 18 Lines | |||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
*/ | */ | ||||
#include <sys/cdefs.h> | |||||
#include "defs.h" | #include "defs.h" | ||||
#include "frame-unwind.h" | #include "frame-unwind.h" | ||||
#include "gdbcore.h" | #include "gdbcore.h" | ||||
#include "osabi.h" | #include "osabi.h" | ||||
#include "regcache.h" | #include "regcache.h" | ||||
#include "solib.h" | #include "solib.h" | ||||
#include "symtab.h" | #include "symtab.h" | ||||
#include "trad-frame.h" | #include "trad-frame.h" | ||||
▲ Show 20 Lines • Show All 159 Lines • ▼ Show 20 Lines | if (name && (strcmp(name, "trapagain") == 0 | ||||
|| strcmp(name, "dbtrap") == 0)) | || strcmp(name, "dbtrap") == 0)) | ||||
return 1; | return 1; | ||||
return 0; | return 0; | ||||
} | } | ||||
static const struct frame_unwind ppcfbsd_trapframe_unwind = | static const struct frame_unwind ppcfbsd_trapframe_unwind = | ||||
{ | { | ||||
"ppc FreeBSD kernel trap", | |||||
SIGTRAMP_FRAME, | SIGTRAMP_FRAME, | ||||
default_frame_unwind_stop_reason, | default_frame_unwind_stop_reason, | ||||
ppcfbsd_trapframe_this_id, | ppcfbsd_trapframe_this_id, | ||||
ppcfbsd_trapframe_prev_register, | ppcfbsd_trapframe_prev_register, | ||||
NULL, | NULL, | ||||
ppcfbsd_trapframe_sniffer | ppcfbsd_trapframe_sniffer | ||||
}; | }; | ||||
Show All 22 Lines | if (tdep->wordsize == 8) | ||||
{ | { | ||||
set_gdbarch_convert_from_func_ptr_addr | set_gdbarch_convert_from_func_ptr_addr | ||||
(gdbarch, ppc64_convert_from_func_ptr_addr); | (gdbarch, ppc64_convert_from_func_ptr_addr); | ||||
set_gdbarch_elf_make_msymbol_special (gdbarch, | set_gdbarch_elf_make_msymbol_special (gdbarch, | ||||
ppc64_elf_make_msymbol_special); | ppc64_elf_make_msymbol_special); | ||||
} | } | ||||
} | } | ||||
void _initialize_ppc_kgdb_tdep(void); | void _initialize_ppc_kgdb_tdep (); | ||||
void | void | ||||
_initialize_ppc_kgdb_tdep(void) | _initialize_ppc_kgdb_tdep () | ||||
{ | { | ||||
gdbarch_register_osabi_sniffer(bfd_arch_powerpc, | gdbarch_register_osabi_sniffer(bfd_arch_powerpc, | ||||
bfd_target_elf_flavour, | bfd_target_elf_flavour, | ||||
fbsd_kernel_osabi_sniffer); | fbsd_kernel_osabi_sniffer); | ||||
gdbarch_register_osabi (bfd_arch_powerpc, bfd_mach_ppc, | gdbarch_register_osabi (bfd_arch_powerpc, bfd_mach_ppc, | ||||
GDB_OSABI_FREEBSD_KERNEL, ppcfbsd_kernel_init_abi); | GDB_OSABI_FREEBSD_KERNEL, ppcfbsd_kernel_init_abi); | ||||
gdbarch_register_osabi (bfd_arch_powerpc, bfd_mach_ppc64, | gdbarch_register_osabi (bfd_arch_powerpc, bfd_mach_ppc64, | ||||
GDB_OSABI_FREEBSD_KERNEL, ppcfbsd_kernel_init_abi); | GDB_OSABI_FREEBSD_KERNEL, ppcfbsd_kernel_init_abi); | ||||
/* Not sure about this one. */ | /* Not sure about this one. */ | ||||
gdbarch_register_osabi_sniffer(bfd_arch_rs6000, | gdbarch_register_osabi_sniffer(bfd_arch_rs6000, | ||||
bfd_target_elf_flavour, | bfd_target_elf_flavour, | ||||
fbsd_kernel_osabi_sniffer); | fbsd_kernel_osabi_sniffer); | ||||
gdbarch_register_osabi (bfd_arch_rs6000, 0, | gdbarch_register_osabi (bfd_arch_rs6000, 0, | ||||
GDB_OSABI_FREEBSD_KERNEL, ppcfbsd_kernel_init_abi); | GDB_OSABI_FREEBSD_KERNEL, ppcfbsd_kernel_init_abi); | ||||
} | } |