diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-06-24 21:22:06 +0530 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2016-09-30 14:48:20 -0700 |
commit | 6716dbbdefa9867ba98dea91d89b14168043a48c (patch) | |
tree | d134bd3853996ec3ebae718a786ec9bfe365c8b1 /arch/arc/kernel/vmlinux.lds.S | |
parent | d040876b4aad0c157c5c95779128b71a121ff27d (diff) | |
download | linux-6716dbbdefa9867ba98dea91d89b14168043a48c.tar.bz2 |
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 f52e126cc747 ("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>
Diffstat (limited to 'arch/arc/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/arc/kernel/vmlinux.lds.S | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/arch/arc/kernel/vmlinux.lds.S b/arch/arc/kernel/vmlinux.lds.S index 894e696bddaa..bb6d8c5ff2e9 100644 --- a/arch/arc/kernel/vmlinux.lds.S +++ b/arch/arc/kernel/vmlinux.lds.S @@ -84,7 +84,7 @@ SECTIONS /* * .exit.text is discard at runtime, not link time, to deal with - * references from .debug_frame + * references from unwinding sections * It will be init freed, being inside [__init_start : __init_end] */ .exit.text : { EXIT_TEXT } @@ -120,18 +120,13 @@ SECTIONS #ifdef CONFIG_ARC_DW2_UNWIND . = ALIGN(PAGE_SIZE); - .debug_frame : { + .eh_frame : { __start_unwind = .; - *(.debug_frame) + *(.eh_frame) __end_unwind = .; } - /* - * gcc 4.8 generates this for -fasynchonous-unwind-tables, - * while we still use the .debug_frame based unwinder - */ - /DISCARD/ : { *(.eh_frame) } #else - /DISCARD/ : { *(.debug_frame) } + /DISCARD/ : { *(.eh_frame) } #endif NOTES @@ -148,7 +143,7 @@ SECTIONS } #ifndef CONFIG_DEBUG_INFO - /* open-coded because we need .debug_frame seperately for unwinding */ + /DISCARD/ : { *(.debug_frame) } /DISCARD/ : { *(.debug_aranges) } /DISCARD/ : { *(.debug_pubnames) } /DISCARD/ : { *(.debug_info) } |