ARC: dw2 unwind: switch to .eh_frame based unwinding
So finally after almost 8 years of dealing with .debug_frame, we are
finally switching to .eh_frame. The reason being stripped kernel
binaries had non-functional unwinder as .debug_frame was gone.
Also, in general .eh_frame seems more common way of doing unwinding.
This also folds a revert of f52e126cc7 ("ARC: unwind: ensure that
.debug_frame is generated (vs. .eh_frame)") to ensure that we start
getting .eh_frame
Reported-by: Daniel Mentz <danielmentz@google.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
This commit is contained in:
@@ -111,7 +111,7 @@ UNW_REGISTER_INFO};
|
||||
#define DW_EH_PE_indirect 0x80
|
||||
#define DW_EH_PE_omit 0xff
|
||||
|
||||
#define CIE_ID 0xffffffffUL
|
||||
#define CIE_ID 0
|
||||
|
||||
typedef unsigned long uleb128_t;
|
||||
typedef signed long sleb128_t;
|
||||
@@ -510,8 +510,7 @@ static const u32 *__cie_for_fde(const u32 *fde)
|
||||
{
|
||||
const u32 *cie;
|
||||
|
||||
/* cie = fde + 1 - fde[1] / sizeof(*fde); */
|
||||
cie = (u32 *) fde[1];
|
||||
cie = fde + 1 - fde[1] / sizeof(*fde);
|
||||
|
||||
return cie;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user