ARC: dw2 unwind: Don't bail for CIE.version != 1
The rudimentary CIE.version == 3 handling is already present in code (for return address register specification) Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
This commit is contained in:
parent
2d64affc92
commit
6d0d506012
|
@ -600,9 +600,6 @@ static signed fde_pointer_type(const u32 *cie)
|
||||||
const u8 *ptr = (const u8 *)(cie + 2);
|
const u8 *ptr = (const u8 *)(cie + 2);
|
||||||
unsigned version = *ptr;
|
unsigned version = *ptr;
|
||||||
|
|
||||||
if (version != 1)
|
|
||||||
return -1; /* unsupported */
|
|
||||||
|
|
||||||
if (*++ptr) {
|
if (*++ptr) {
|
||||||
const char *aug;
|
const char *aug;
|
||||||
const u8 *end = (const u8 *)(cie + 1) + *cie;
|
const u8 *end = (const u8 *)(cie + 1) + *cie;
|
||||||
|
@ -1014,9 +1011,7 @@ int arc_unwind(struct unwind_frame_info *frame)
|
||||||
ptr = (const u8 *)(cie + 2);
|
ptr = (const u8 *)(cie + 2);
|
||||||
end = (const u8 *)(cie + 1) + *cie;
|
end = (const u8 *)(cie + 1) + *cie;
|
||||||
frame->call_frame = 1;
|
frame->call_frame = 1;
|
||||||
if ((state.version = *ptr) != 1)
|
if (*++ptr) {
|
||||||
cie = NULL; /* unsupported version */
|
|
||||||
else if (*++ptr) {
|
|
||||||
/* check if augmentation size is first (thus present) */
|
/* check if augmentation size is first (thus present) */
|
||||||
if (*ptr == 'z') {
|
if (*ptr == 'z') {
|
||||||
while (++ptr < end && *ptr) {
|
while (++ptr < end && *ptr) {
|
||||||
|
|
Loading…
Reference in New Issue