42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.3 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(-)
 | 
						|
 | 
						|
--- 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
 |