• Roland McGrath's avatar
    [PATCH] PPC64: fix stack alignment for signal handlers · 4f7dcde5
    Roland McGrath authored
    The PPC64 ABI specifies that the stack should be kept aligned to 16
    bytes.  However, signal handlers on PPC64 are getting run with the stack
    misaligned (sp % 16 == 8).  This patch fixes that by ensuring that the
    signal frame allocated is a multiple of 16 bytes.
    
    In addition to the PPC64 signal frame itself being of misaligned size,
    the explicit alignment of the starting stack pointer is also to 8
    instead of 16.  I've corrected this as well, so signal frames are
    aligned even if the interrupted registers contained a misaligned stack
    pointer. 
    Signed-off-by: default avatarRoland McGrath <roland@redhat.com>
    
    [ Paul Mackerras <paulus@samba.org> acked the original patch (which
      also did it for the 32-bit cases), and pointed out that the 32-bit
      cases all already did the alignment elsewhere and didn't need this.
      Patch edited down accordingly. ]
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    4f7dcde5
signal.c 15.7 KB