summaryrefslogtreecommitdiffstats
path: root/arch/arc/kernel/vmlinux.lds.S
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2013-01-22 17:03:19 +0530
committerVineet Gupta <vgupta@synopsys.com>2013-02-15 23:16:03 +0530
commit854a0d95056c265d96cb449bc97bc5ef9bbed835 (patch)
tree798c834ae188bd570b861a47765fce8ed633f85a /arch/arc/kernel/vmlinux.lds.S
parent41195d236e84458bebd4fdc218610a92231ac791 (diff)
downloadop-kernel-dev-854a0d95056c265d96cb449bc97bc5ef9bbed835.zip
op-kernel-dev-854a0d95056c265d96cb449bc97bc5ef9bbed835.tar.gz
ARC: DWARF2 .debug_frame based stack unwinder
-Originally written by Rajeshwar Ranga -Derived off of generic unwinder in 2.6.19 and adapted to ARC Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Cc: Rajeshwar Ranga <rajeshwar.ranga@gmail.com>
Diffstat (limited to 'arch/arc/kernel/vmlinux.lds.S')
-rw-r--r--arch/arc/kernel/vmlinux.lds.S23
1 files changed, 22 insertions, 1 deletions
diff --git a/arch/arc/kernel/vmlinux.lds.S b/arch/arc/kernel/vmlinux.lds.S
index 8c72bc3..303ea01 100644
--- a/arch/arc/kernel/vmlinux.lds.S
+++ b/arch/arc/kernel/vmlinux.lds.S
@@ -100,17 +100,38 @@ SECTIONS
BSS_SECTION(0, 0, 0)
+#ifdef CONFIG_ARC_DW2_UNWIND
+ . = ALIGN(PAGE_SIZE);
+ .debug_frame : {
+ __start_unwind = .;
+ *(.debug_frame)
+ __end_unwind = .;
+ }
+#else
+ /DISCARD/ : { *(.debug_frame) }
+#endif
+
NOTES
. = ALIGN(PAGE_SIZE);
_end = . ;
STABS_DEBUG
- DWARF_DEBUG
DISCARDS
.arcextmap 0 : {
*(.gnu.linkonce.arcextmap.*)
*(.arcextmap.*)
}
+
+ /* open-coded because we need .debug_frame seperately for unwinding */
+ .debug_aranges 0 : { *(.debug_aranges) }
+ .debug_pubnames 0 : { *(.debug_pubnames) }
+ .debug_info 0 : { *(.debug_info) }
+ .debug_abbrev 0 : { *(.debug_abbrev) }
+ .debug_line 0 : { *(.debug_line) }
+ .debug_str 0 : { *(.debug_str) }
+ .debug_loc 0 : { *(.debug_loc) }
+ .debug_macinfo 0 : { *(.debug_macinfo) }
+
}
OpenPOWER on IntegriCloud