This is the mail archive of the gdb-patches@sourceware.org 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]

[Patch, ARM] Add POP of single register to arm_in_function_epilogue_p


This patch is related to a recent change in the way gcc generates function
epilogues for arm targets (since gcc trunk r188745):
http://gcc.gnu.org/ml/gcc-patches/2012-05/msg02071.html

The function arm_in_function_epilogue_p does not recognize POP with a single
register as a stack adjustment in arm mode. 
It causes two test new failures in gdb testsuite:
FAIL: gdb.base/watch-cond.exp: watchpoint with local expression, local
condition evaluates in correct frame
FAIL: gdb.mi/mi2-watch.exp: hw: watchpoint trigger (stopped at wrong place)

The reason is that in arm mode the encoding of POP with single register is
different from the encoding of POP with multiple registers. The attached
patch adds the missing pattern to arm_in_function_epilogue_p. 

Thanks,
Greta

ChangeLog

gdb/

2012-06-25  Greta Yorsh  <Greta.Yorsh@arm.com>

	* arm-tdep.c (arm_in_function_epilogue_p): Recognize POP
	with a single register as a stack adjustment in arm mode.

Attachment: gdb-pop-one-reg.patch.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]