mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-15 13:22:55 +00:00
[PATCH] unwinder: move .eh_frame to RODATA
The .eh_frame section contents is never written to, so it can as well benefit from CONFIG_DEBUG_RODATA. Diff-ed against firstfloor tree. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
parent
c65f38d911
commit
b65780e123
@ -102,15 +102,6 @@ SECTIONS
|
||||
_edata = .; /* End of data section */
|
||||
}
|
||||
|
||||
#ifdef CONFIG_STACK_UNWIND
|
||||
. = ALIGN(4);
|
||||
.eh_frame : AT(ADDR(.eh_frame) - LOAD_OFFSET) {
|
||||
__start_unwind = .;
|
||||
*(.eh_frame)
|
||||
__end_unwind = .;
|
||||
}
|
||||
#endif
|
||||
|
||||
. = ALIGN(THREAD_SIZE); /* init_task */
|
||||
.data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) {
|
||||
*(.data.init_task)
|
||||
|
@ -51,15 +51,6 @@ SECTIONS
|
||||
|
||||
RODATA
|
||||
|
||||
#ifdef CONFIG_STACK_UNWIND
|
||||
. = ALIGN(8);
|
||||
.eh_frame : AT(ADDR(.eh_frame) - LOAD_OFFSET) {
|
||||
__start_unwind = .;
|
||||
*(.eh_frame)
|
||||
__end_unwind = .;
|
||||
}
|
||||
#endif
|
||||
|
||||
. = ALIGN(PAGE_SIZE); /* Align data segment to page size boundary */
|
||||
/* Data */
|
||||
.data : AT(ADDR(.data) - LOAD_OFFSET) {
|
||||
|
@ -119,8 +119,7 @@
|
||||
*(__ksymtab_strings) \
|
||||
} \
|
||||
\
|
||||
/* Unwind data binary search table */ \
|
||||
EH_FRAME_HDR \
|
||||
EH_FRAME \
|
||||
\
|
||||
/* Built-in module parameters. */ \
|
||||
__param : AT(ADDR(__param) - LOAD_OFFSET) { \
|
||||
@ -162,15 +161,23 @@
|
||||
VMLINUX_SYMBOL(__kprobes_text_end) = .;
|
||||
|
||||
#ifdef CONFIG_STACK_UNWIND
|
||||
/* Unwind data binary search table */
|
||||
#define EH_FRAME_HDR \
|
||||
#define EH_FRAME \
|
||||
/* Unwind data binary search table */ \
|
||||
. = ALIGN(8); \
|
||||
.eh_frame_hdr : AT(ADDR(.eh_frame_hdr) - LOAD_OFFSET) { \
|
||||
VMLINUX_SYMBOL(__start_unwind_hdr) = .; \
|
||||
*(.eh_frame_hdr) \
|
||||
VMLINUX_SYMBOL(__end_unwind_hdr) = .; \
|
||||
} \
|
||||
/* Unwind data */ \
|
||||
. = ALIGN(8); \
|
||||
.eh_frame : AT(ADDR(.eh_frame) - LOAD_OFFSET) { \
|
||||
VMLINUX_SYMBOL(__start_unwind) = .; \
|
||||
*(.eh_frame) \
|
||||
VMLINUX_SYMBOL(__end_unwind) = .; \
|
||||
}
|
||||
#else
|
||||
#define EH_FRAME_HDR
|
||||
#define EH_FRAME
|
||||
#endif
|
||||
|
||||
/* DWARF debug sections.
|
||||
|
@ -19,7 +19,7 @@
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/unaligned.h>
|
||||
|
||||
extern char __start_unwind[], __end_unwind[];
|
||||
extern const char __start_unwind[], __end_unwind[];
|
||||
extern const u8 __start_unwind_hdr[], __end_unwind_hdr[];
|
||||
|
||||
#define MAX_STACK_DEPTH 8
|
||||
|
Loading…
Reference in New Issue
Block a user