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 <deller@gmx.de>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Helge Deller 2009-11-28 20:33:11 +00:00 committed by Linus Torvalds
parent a8a8a669ea
commit 33a932d143
2 changed files with 4 additions and 4 deletions

View File

@ -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[];

View File

@ -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)