diff --git a/racket/src/foreign/README b/racket/src/foreign/README index d453022dab..8cd40081ae 100644 --- a/racket/src/foreign/README +++ b/racket/src/foreign/README @@ -7,4 +7,8 @@ Our copy of libffi for Racket has been changed in a few small: warning. * In "x86/darwin.S", added ".long 0" after ".LFE3:" to avoid - linker problems compiling with gcc-4.0 on Mac OS X 10.7. + problems compiling with gcc-4.0. + + * In "x86/win32.S", added ".long 0" after ".LFE5:" and ".LEFDE5", and + also included `.section .eh_frame,"w"` for X86_DARWIN --- again, + all to avoid problems compiling with gcc-4.0. diff --git a/racket/src/foreign/libffi/src/x86/win32.S b/racket/src/foreign/libffi/src/x86/win32.S index daf0e799ca..10af966c5b 100644 --- a/racket/src/foreign/libffi/src/x86/win32.S +++ b/racket/src/foreign/libffi/src/x86/win32.S @@ -1132,6 +1132,7 @@ USCORE_SYMBOL(ffi_closure_STDCALL): 2: jmp *%edx .ffi_closure_STDCALL_end: .LFE5: + .long 0 #if defined(X86_DARWIN) .section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5 @@ -1140,7 +1141,7 @@ L_ffi_closure_SYSV_inner$stub: hlt ; hlt ; hlt ; hlt ; hlt #endif -#if defined(X86_WIN32) && !defined(__OS2__) +#if (defined(X86_WIN32) || defined(X86_DARWIN)) && !defined(__OS2__) .section .eh_frame,"w" #endif .Lframe1: @@ -1301,6 +1302,7 @@ L_ffi_closure_SYSV_inner$stub: /* End of DW_CFA_xxx CFI instructions. */ .align 4 .LEFDE5: + .long 0 #endif /* !_MSC_VER */