• R
    fix signal return for sh/fdpic · b61df229
    Rich Felker 提交于
    the restorer function pointer provided in the kernel sigaction
    structure is interpreted by the kernel as a raw code address, not a
    function descriptor.
    
    this commit moves the declarations of the __restore and __restore_rt
    symbols to ksigaction.h so that arch versions of the file can override
    them, and introduces a version for sh which declares them as objects
    rather than functions.
    
    an alternate solution would have been defining SA_RESTORER to 0 so
    that the functions are not used, but this both requires executable
    stack (since the sh kernel does not have a vdso page with permanent
    restorer functions) and crashes on qemu user-level emulation.
    b61df229
sigaction.c 1.8 KB