Changeset 11734


Ignore:
Timestamp:
Feb 13, 2009, 6:29:19 PM (11 years ago)
Author:
gb
Message:

In darwin_sigreturn(), jmp to sigreturn via memory (since the Tiger
linker complains about the code-to-code relocation.)

While we're there: pass the magic infostyle argument on the stack,
not in %esi. That was completely wrong, but Leopard doesn't seem
to care; Tiger might.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/1.3/source/lisp-kernel/x86-asmutils32.s

    r11714 r11734  
    176176
    177177        __ifdef([DARWIN])
    178         .globl C(sigreturn)
    179178_exportfn(C(darwin_sigreturn))
    180179/* Need to set the sigreturn 'infostyle' argument, which is mostly
     
    182181   since we're trying to do what sigtramp() would do if we'd returned
    183182   to it ... */
    184         __(movl $0x1e,%esi)
    185         __(jmp C(sigreturn))
     183        .globl C(sigreturn)
     184        __(movl $0x1e,8(%esp))
     185        __(jmp *jsigreturn)
     186        .data
     187jsigreturn:     .long C(sigreturn)
     188        .text
     189
    186190_endfn
    187191        __endif       
     
    280284_endfn                                       
    281285        __endif
     286       
     287       
    282288        _endfile
    283289
Note: See TracChangeset for help on using the changeset viewer.