Cortex-M CPSR thumb bit fix

Jonathan Larmour jifl@eCosCentric.com
Thu Jul 8 19:26:00 GMT 2010


I posted a patch in 2008 here:
http://sourceware.org/ml/gdb-patches/2008-10/msg00462.html but
unfortunately it wasn't applied. Without it, GDB cannot debug Cortex-M
processors as the thumb bit is in a different place in the CPSR register.

I have updated it for GDB 7.1, as per the attached mail and updated
ChangeLog below.

I do have a copyright assignment, as well as the ability to commit.

Can someone review please?

Jifl

2010-07-08  Jonathan Larmour <jifl@eCosCentric.com>

	* arm-tdep.h (CPSR_T): define as function-like macro, checking
	for M-profile, which affects T_bit position, e.g. for Cortex-M.
	(struct gdbarch_tdep): add arm_eabi_cpu_arch and
	arm_eabi_cpu_arch_profile members.
	* arm-tdep.c (arm_frame_is_thumb, arm_prologue_prev_register,
	arm_dwarf2_prev_register, displaced_in_arm_mode, bx_write_pc,
	arm_write_pc): Get tdep and use with updated CPSR_T macro.
	(arm_gdbarch_init): If EABI, extract architecture and profile
	attributes and store in tdep.



-- 
eCosCentric Limited      http://www.eCosCentric.com/     The eCos experts
Barnwell House, Barnwell Drive, Cambridge, UK.       Tel: +44 1223 245571
Registered in England and Wales: Reg No 4422071.
------["Si fractum non sit, noli id reficere"]------       Opinions==mine
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: arm.patch
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20100708/01c3a03b/attachment.ksh>


More information about the Gdb-patches mailing list