| Submitter | Helge Deller |
|---|---|
| Date | 2009-10-25 21:42:48 |
| Message ID | <20091025214248.GA15028@p100.box> |
| Download | mbox | patch |
| Permalink | /patch/55797/ |
| State | Accepted |
| Delegated to: | kyle mcmartin |
| Headers | show |
Comments
On Sun, Oct 25, 2009 at 10:42:48PM +0100, Helge Deller wrote: > kernel unwinding is broken with gcc >= 4.x. Part of the problem is, that > binutils seems sensible where the unwind information is stored. > > Signed-off-by: Helge Deller <deller@gmx.de> > This looks good to me, I checked the resulting vmlinux and things seem sensible... I'll apply it to my next branch when I get home tonight. r, Kyle -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Oct 28, 2009 at 11:37:25AM -0400, Kyle McMartin wrote: > On Sun, Oct 25, 2009 at 10:42:48PM +0100, Helge Deller wrote: > > kernel unwinding is broken with gcc >= 4.x. Part of the problem is, that > > binutils seems sensible where the unwind information is stored. > > > > Signed-off-by: Helge Deller <deller@gmx.de> > > > > This looks good to me, I checked the resulting vmlinux and things seem > sensible... > > I'll apply it to my next branch when I get home tonight. > I meant fixes. -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Patch
diff --git a/arch/parisc/kernel/unwind.c b/arch/parisc/kernel/unwind.c index 69dad5a..6c631bf 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)
kernel unwinding is broken with gcc >= 4.x. Part of the problem is, that binutils seems sensible where the unwind information is stored. Signed-off-by: Helge Deller <deller@gmx.de> -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html