• Benjamin Herrenschmidt's avatar
    [POWERPC] Fix 64 bits vDSO DWARF info for CR register · 081c11a5
    Benjamin Herrenschmidt authored
    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) &regs->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: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    081c11a5
sigtramp.S 9.83 KB