mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 01:28:59 +00:00
47 lines
1.4 KiB
Diff
47 lines
1.4 KiB
Diff
|
From 23cd0de28cc7978130b770dd59b18ac143253351 Mon Sep 17 00:00:00 2001
|
||
|
From: Vineet Gupta <vgupta@synopsys.com>
|
||
|
Date: Tue, 28 Jun 2016 09:42:25 +0530
|
||
|
Subject: [PATCH] ARC: unwind: ensure that .debug_frame is generated (vs.
|
||
|
.eh_frame)
|
||
|
|
||
|
With recent binutils update to support dwarf CFI pseudo-ops in gas, we
|
||
|
now get .eh_frame vs. .debug_frame. Although the call frame info is
|
||
|
exactly the same in both, the CIE differs, which the current kernel
|
||
|
unwinder can't cope with.
|
||
|
|
||
|
This broke both the kernel unwinder as well as loadable modules (latter
|
||
|
because of a new unhandled relo R_ARC_32_PCREL from .rela.eh_frame in
|
||
|
the module loader)
|
||
|
|
||
|
The ideal solution would be to switch unwinder to .eh_frame.
|
||
|
For now however we can make do by just ensureing .debug_frame is
|
||
|
generated by removing -fasynchronous-unwind-tables
|
||
|
|
||
|
.eh_frame generated with -gdwarf-2 -fasynchronous-unwind-tables
|
||
|
.debug_frame generated with -gdwarf-2
|
||
|
|
||
|
Fixes STAR 9001058196
|
||
|
|
||
|
Cc: stable@vger.kernel.org
|
||
|
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
|
||
|
---
|
||
|
arch/arc/Makefile | 2 --
|
||
|
1 file changed, 2 deletions(-)
|
||
|
|
||
|
diff --git a/arch/arc/Makefile b/arch/arc/Makefile
|
||
|
index aeb1902..209d845 100644
|
||
|
--- a/arch/arc/Makefile
|
||
|
+++ b/arch/arc/Makefile
|
||
|
@@ -48,8 +48,6 @@ endif
|
||
|
|
||
|
endif
|
||
|
|
||
|
-cflags-$(CONFIG_ARC_DW2_UNWIND) += -fasynchronous-unwind-tables
|
||
|
-
|
||
|
# By default gcc 4.8 generates dwarf4 which kernel unwinder can't grok
|
||
|
ifeq ($(atleast_gcc48),y)
|
||
|
cflags-$(CONFIG_ARC_DW2_UNWIND) += -gdwarf-2
|
||
|
--
|
||
|
2.5.5
|
||
|
|