From: Helge Deller Date: Sat, 28 Nov 2009 20:33:11 +0000 (+0000) Subject: parisc: fix unwind with recent gcc versions X-Git-Tag: v2.6.32~60 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=33a932d14323b957a4e17a6c8428d3f048a30822;p=platform%2Fkernel%2Flinux-3.10.git parisc: fix unwind with recent gcc versions kernel unwinding is broken with gcc >= 4.x. Part of the problem is that binutils seems very sensitive to where the unwind information is stored. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin Signed-off-by: Linus Torvalds --- diff --git a/arch/parisc/kernel/unwind.c b/arch/parisc/kernel/unwind.c index 69dad5a..a36799e 100644 --- a/arch/parisc/kernel/unwind.c +++ b/arch/parisc/kernel/unwind.c @@ -28,7 +28,7 @@ #define dbg(x...) #endif -#define KERNEL_START (KERNEL_BINARY_TEXT_START - 0x1000) +#define KERNEL_START (KERNEL_BINARY_TEXT_START) extern struct unwind_table_entry __start___unwind[]; extern struct unwind_table_entry __stop___unwind[]; diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S index fda4baa..9dab4a4 100644 --- a/arch/parisc/kernel/vmlinux.lds.S +++ b/arch/parisc/kernel/vmlinux.lds.S @@ -78,9 +78,6 @@ SECTIONS */ . = ALIGN(PAGE_SIZE); data_start = .; - EXCEPTION_TABLE(16) - - NOTES /* unwind info */ .PARISC.unwind : { @@ -89,6 +86,9 @@ SECTIONS __stop___unwind = .; } + EXCEPTION_TABLE(16) + NOTES + /* Data */ RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)