Message ID | 201110031652.04721.paul@codesourcery.com |
---|---|
State | New |
Headers | show |
On 10/03/11 17:52, Paul Brook wrote: > The C6XABI defined persoality routines ID 3 and 4 use a single 24-bit block > word of unwinding data. Patch below makes sure this is preserved, rather than > treating it as a set of unwinding opcode bytes. > > I seem to have lost this bit of code when I merged the ARM and c6x > implementations. > > Applied to svn trunk. Actually, it wasn't. I've corrected that now. > Index: libgcc/unwind-arm-common.inc > =================================================================== > --- libgcc/unwind-arm-common.inc (revision 179178) > +++ libgcc/unwind-arm-common.inc (working copy) > @@ -583,7 +583,7 @@ __gnu_unwind_pr_common (_Unwind_State st > uws.words_left = 0; > uws.bytes_left = 3; > } > - else > + else if (id < 3) > { > uws.words_left = (uws.data >> 16) & 0xff; > uws.data <<= 16; > Bernd
Index: libgcc/unwind-arm-common.inc =================================================================== --- libgcc/unwind-arm-common.inc (revision 179178) +++ libgcc/unwind-arm-common.inc (working copy) @@ -583,7 +583,7 @@ __gnu_unwind_pr_common (_Unwind_State st uws.words_left = 0; uws.bytes_left = 3; } - else + else if (id < 3) { uws.words_left = (uws.data >> 16) & 0xff; uws.data <<= 16;