[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