From 2d85fdc02f42db832de3467109098f3e0ca78707 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 27 Oct 2014 09:56:57 -0600 Subject: [PATCH] libffi: restore some small patches Also, revert file-permission changes. --- racket/src/foreign/README | 28 ++----------------- racket/src/foreign/libffi/compile | 0 racket/src/foreign/libffi/config.guess | 0 racket/src/foreign/libffi/config.sub | 0 racket/src/foreign/libffi/configure | 0 racket/src/foreign/libffi/depcomp | 0 racket/src/foreign/libffi/install-sh | 0 racket/src/foreign/libffi/libtool-ldflags | 0 racket/src/foreign/libffi/missing | 0 racket/src/foreign/libffi/msvcc.sh | 0 racket/src/foreign/libffi/src/arm/gentramp.sh | 0 racket/src/foreign/libffi/src/closures.c | 6 ++-- racket/src/foreign/libffi/src/x86/darwin.S | 1 + 13 files changed, 7 insertions(+), 28 deletions(-) mode change 100644 => 100755 racket/src/foreign/libffi/compile mode change 100644 => 100755 racket/src/foreign/libffi/config.guess mode change 100644 => 100755 racket/src/foreign/libffi/config.sub mode change 100644 => 100755 racket/src/foreign/libffi/configure mode change 100644 => 100755 racket/src/foreign/libffi/depcomp mode change 100644 => 100755 racket/src/foreign/libffi/install-sh mode change 100644 => 100755 racket/src/foreign/libffi/libtool-ldflags mode change 100644 => 100755 racket/src/foreign/libffi/missing mode change 100644 => 100755 racket/src/foreign/libffi/msvcc.sh mode change 100644 => 100755 racket/src/foreign/libffi/src/arm/gentramp.sh diff --git a/racket/src/foreign/README b/racket/src/foreign/README index 7436d0e443..d453022dab 100644 --- a/racket/src/foreign/README +++ b/racket/src/foreign/README @@ -1,34 +1,10 @@ -The "libffi" directory holds a copy of libffi (just after version 3.0.13). -Similarly, The "libffi_msvc" directory holds a copy of the libffi -version from the CTypes project. - +The "libffi" directory holds a copy of libffi version 3.1. The libffi code is distributed under an LGPL-compatible license. -CTypes is under the MIT License. -========== libffi directory ============================================= - -Our copy of libffi for Racket has been changed in a few small -ways at git commit c3c40e0290377d7cf948b072eedd8317c4bf215e from - - http://github.com/atgreen/libffi - -Local changes: +Our copy of libffi for Racket has been changed in a few small: * Test ftruncate() result in "closures.c" to avoid a compiler 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. - - * In "x86/ffi.c" for Win32, don't try to align stack for - stdcall, fastcall, or thiscall. - - * In "x86/freebsd.S", align the stack pointer to 16 bytes. - -========== libffi_msvc directory ===================================== - -This directory is synced from the CTypes repository - - http://svn.python.org/projects/ctypes/trunk/ctypes - -revision 60274. diff --git a/racket/src/foreign/libffi/compile b/racket/src/foreign/libffi/compile old mode 100644 new mode 100755 diff --git a/racket/src/foreign/libffi/config.guess b/racket/src/foreign/libffi/config.guess old mode 100644 new mode 100755 diff --git a/racket/src/foreign/libffi/config.sub b/racket/src/foreign/libffi/config.sub old mode 100644 new mode 100755 diff --git a/racket/src/foreign/libffi/configure b/racket/src/foreign/libffi/configure old mode 100644 new mode 100755 diff --git a/racket/src/foreign/libffi/depcomp b/racket/src/foreign/libffi/depcomp old mode 100644 new mode 100755 diff --git a/racket/src/foreign/libffi/install-sh b/racket/src/foreign/libffi/install-sh old mode 100644 new mode 100755 diff --git a/racket/src/foreign/libffi/libtool-ldflags b/racket/src/foreign/libffi/libtool-ldflags old mode 100644 new mode 100755 diff --git a/racket/src/foreign/libffi/missing b/racket/src/foreign/libffi/missing old mode 100644 new mode 100755 diff --git a/racket/src/foreign/libffi/msvcc.sh b/racket/src/foreign/libffi/msvcc.sh old mode 100644 new mode 100755 diff --git a/racket/src/foreign/libffi/src/arm/gentramp.sh b/racket/src/foreign/libffi/src/arm/gentramp.sh old mode 100644 new mode 100755 diff --git a/racket/src/foreign/libffi/src/closures.c b/racket/src/foreign/libffi/src/closures.c index c7863f3d0a..3e301a02b3 100644 --- a/racket/src/foreign/libffi/src/closures.c +++ b/racket/src/foreign/libffi/src/closures.c @@ -457,7 +457,8 @@ dlmmap_locked (void *start, size_t length, int prot, int flags, off_t offset) close (execfd); goto retry_open; } - ftruncate (execfd, offset); + if (ftruncate (execfd, offset)) { /* test avoids a compiler warning */ + } return MFAIL; } else if (!offset @@ -469,7 +470,8 @@ dlmmap_locked (void *start, size_t length, int prot, int flags, off_t offset) if (start == MFAIL) { munmap (ptr, length); - ftruncate (execfd, offset); + if (ftruncate (execfd, offset)) { /* test avoids a compiler warning */ + } return start; } diff --git a/racket/src/foreign/libffi/src/x86/darwin.S b/racket/src/foreign/libffi/src/x86/darwin.S index 8f0f0707aa..7eba6a5cdf 100644 --- a/racket/src/foreign/libffi/src/x86/darwin.S +++ b/racket/src/foreign/libffi/src/x86/darwin.S @@ -327,6 +327,7 @@ _ffi_closure_raw_SYSV: movl -20(%ebp), %edx jmp .Lrcls_epilogue .LFE3: + .long 0 #endif .section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5