[PATCH] Off-by-one errors in gcc/config/arm/pr-support.c

Mark Shinwell shinwell@codesourcery.com
Thu Jun 22 20:12:00 GMT 2006


I've decided to split this out on its own, since it is an obvious bugfix.

The _Unwind_VRS_Pop routine takes an "op" argument encoded within which
is the number of registers to be popped.  The ARM EHABI encodes register
ranges using a start register and an end register; thus, there is scope
for an off-by-one error and indeed such errors manifest themselves in
the current code in pr-support.c.  The patch fixes these errors, which
will cause failure to correctly unwind the stack in certain cases.

OK?  (Could this even be eligible for mainline right now?)

Mark

--

gcc/ChangeLog:

2006-06-22  Mark Shinwell  <shinwell@codesourcery.com>

	* config/arm/pr-support.c (gnu_unwind_execute): Fix bug by inserting
	" + 1" in necessary places to pass the correct "number of registers"
	values to _Unwind_VRS_Pop.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pr-support.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20060622/f44b8fff/attachment.ksh>


More information about the Gcc-patches mailing list