This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
This fixes a bunch of cross-debugging issues for the arm-netbsdelf target, and makes it more like the other NetBSD targets I've worked on recently. Unfortunately, the change disables "gdb_multi_arch=yes" for the arm-*-netbsd* entry in configure.tgt. The reason for this is that the tm file needs to include "solib.h". As far as I can tell, no platforms with shared libraries can be fully multi-arch until all the solib stuff is multi-arch'd. I need approval for a change to the shared ARM target code. I needed to add a function to deconstruct/reconstruct the R15 register on the 26-bit ARM CPUs. The new functions: * Split a 26-bit R15 into PC and a 32-bit-format PSR. * Take a PC and a 32-bit-format PSR and combine them back into a 26-bit R15. While there, I also fixed a problem with arm_addr_bits_remove -- No 26-bit systems can run in Thumb mode, and so doing an arm_pc_is_thumb on them is unnecessary (and could return incorrect results if debugging code which runs in FIQ mode, since (pc & 1) == FIQ mode on those CPUs). * Makefile.in (armnbsd_tdep_h): New header variable. (armnbsd-nat.o): Remove $(gdbcore_h) from and add $(armnbsd_tdep_h) to dependency list. (armnbsd-tdep.o): Add $(gdbcore_h), $(regcache_h), $(target_h), $(value_h), and $(armnbsd_tdep_h) to dependency list. * arm-tdep.c (arm_addr_bits_remove): Don't check for Thumb mode if arm_apcs_32 is false. (arm_extract_26bit_r15, arm_store_26bit_r15): New functions. * arm-tdep.h (arm_extract_26bit_r15, arm_store_26bit_r15): New prototypes. * armnbsd-nat.c: Rewrite. * armnbsd-tdep.c (armnbsd_supply_reg, armnbsd_fill_reg) (armnbsd_supply_fpreg, armnbsd_fill_fpreg) (fetch_core_registers, fetch_elfcore_registers): New functions. (_initialize_arm_netbsd_tdep): Register armnbsd_core_fns and armnbsd_elfcore_fns. * armnbsd-tdep.h: New file. * configure.tgt (arm*-*-netbsd*): Don't get gdb_multi_arch. Add a comment to explain why we can't do this yet. * config/arm/nbsd.mt (TDEPFILES): Add corelow.o. (TM_FILE): Set to tm-nbsd.h. * config/arm/nbsdaout.mh (NATDEPFILES): Remove corelow.o. * config/arm/nbsdelf.mh (NATDEPFILES): Likewise. * config/arm/tm-nbsd.h: New file. -- -- Jason R. Thorpe <thorpej@wasabisystems.com>
Attachment:
arm-gdb-patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |