diff options
author | Benjamin Herrenschmidt <benh@au1.ibm.com> | 2007-10-17 00:26:50 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-10-17 08:30:09 -0400 |
commit | 081c11a5d0cc24ab58adc7de2ddf209149bf176f (patch) | |
tree | e1b3c185b0d148a6ee5a87ac47edb5e6ae2756fd /arch/powerpc/mm/init_64.c | |
parent | f66bce5e6aa1388289c04496c3fcae7bebf5f905 (diff) |
[POWERPC] Fix 64 bits vDSO DWARF info for CR register
The current DWARF info for CR are incorrect, causing the gcc unwinder to
go to lunch if we take a segfault in the vdso. This fixes it.
Problem identified by Andrew Haley, and fix provided by Jakub Jelinek
(thanks !).
Unfortunately, a bug in gcc cause it to not quite work either, but that
is being fixed separately with something around the lines of:
linux-unwind.h:
fs->regs.reg[R_CR2].loc.offset = (long) ®s->ccr - new_cfa;
+ /* CR? regs are just 32-bit and PPC is big-endian. */
+ fs->regs.reg[R_CR2].loc.offset += sizeof (long) - 4;
(According to Jakub)
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/mm/init_64.c')
0 files changed, 0 insertions, 0 deletions