Permalink
Browse files

Ensure that users don't include ffitarget.h directly

  • Loading branch information...
1 parent d578b89 commit 8360bf1cd0aba8db5582266da70467de7e89a57a @atgreen atgreen committed Feb 23, 2012
Showing with 2,871 additions and 713 deletions.
  1. +18 −0 .pc/aix-ibm-xlc/ChangeLog
  2. +9 −0 .pc/aix-ibm-xlc/configure
  3. +9 −0 .pc/aix-ibm-xlc/configure.ac
  4. +18 −0 .pc/alpha/ChangeLog
  5. +18 −0 .pc/amiga/ChangeLog
  6. +9 −0 .pc/amiga/configure
  7. +9 −0 .pc/amiga/configure.ac
  8. +1 −0 .pc/applied-patches
  9. +0 −1 .pc/autoconf-archive-update/Makefile.in
  10. +0 −92 .pc/autoconf-archive-update/acinclude.m4
  11. +10 −1 .pc/autoconf-archive-update/configure
  12. +0 −2 .pc/autoconf-archive-update/include/Makefile.in
  13. +0 −70 .pc/autoconf-archive-update/m4/ax_configure_args.m4
  14. +0 −79 .pc/autoconf-archive-update/m4/ax_gcc_x86_cpuid.m4
  15. +2 −4 .pc/autoconf-archive-update/man/Makefile.in
  16. +0 −2 .pc/autoconf-archive-update/testsuite/Makefile.in
  17. +18 −0 .pc/bad-abi-fix/ChangeLog
  18. +7 −2 .pc/bad-abi-fix/src/prep_cif.c
  19. +18 −0 .pc/darwin-EH-fix/ChangeLog
  20. +18 −0 .pc/darwin11/ChangeLog
  21. +9 −0 .pc/darwin11/configure
  22. +9 −0 .pc/darwin11/configure.ac
  23. +18 −0 .pc/debug-build/ChangeLog
  24. +152 −433 .pc/debug-build/Makefile.in
  25. +9 −0 .pc/debug-build/configure
  26. +9 −0 .pc/debug-build/configure.ac
  27. +18 −0 .pc/ffi_last_abi/ChangeLog
  28. +5 −0 .pc/ffi_last_abi/src/prep_cif.c
  29. +1 −1 .pc/ffi_last_abi/src/x86/ffitarget.h
  30. 0 .pc/ffitarget-include-fix/.timestamp
  31. +48 −0 .pc/ffitarget-include-fix/src/alpha/ffitarget.h
  32. +66 −0 .pc/ffitarget-include-fix/src/arm/ffitarget.h
  33. +50 −0 .pc/ffitarget-include-fix/src/avr32/ffitarget.h
  34. +51 −0 .pc/ffitarget-include-fix/src/cris/ffitarget.h
  35. +57 −0 .pc/ffitarget-include-fix/src/frv/ffitarget.h
  36. +50 −0 .pc/ffitarget-include-fix/src/ia64/ffitarget.h
  37. +48 −0 .pc/ffitarget-include-fix/src/m32r/ffitarget.h
  38. +49 −0 .pc/ffitarget-include-fix/src/m68k/ffitarget.h
  39. +242 −0 .pc/ffitarget-include-fix/src/mips/ffitarget.h
  40. +52 −0 .pc/ffitarget-include-fix/src/moxie/ffitarget.h
  41. +78 −0 .pc/ffitarget-include-fix/src/pa/ffitarget.h
  42. +135 −0 .pc/ffitarget-include-fix/src/powerpc/ffitarget.h
  43. +62 −0 .pc/ffitarget-include-fix/src/s390/ffitarget.h
  44. +49 −0 .pc/ffitarget-include-fix/src/sh/ffitarget.h
  45. +53 −0 .pc/ffitarget-include-fix/src/sh64/ffitarget.h
  46. +68 −0 .pc/ffitarget-include-fix/src/sparc/ffitarget.h
  47. +124 −0 .pc/ffitarget-include-fix/src/x86/ffitarget.h
  48. +18 −0 .pc/fix-grammar/ChangeLog
  49. +18 −0 .pc/fix-ppc32/ChangeLog
  50. +18 −0 .pc/fix-xfails/ChangeLog
  51. +8 −2 .pc/fix-xfails/src/prep_cif.c
  52. +18 −0 .pc/fix_maxopt/ChangeLog
  53. +18 −0 .pc/hpux-mallinfo/ChangeLog
  54. +18 −0 .pc/interix/ChangeLog
  55. +9 −0 .pc/interix/configure
  56. +9 −0 .pc/interix/configure.ac
  57. +18 −0 .pc/ios-fixes/ChangeLog
  58. +18 −0 .pc/ios/ChangeLog
  59. +9 −0 .pc/ios/configure.ac
  60. +18 −0 .pc/irix/ChangeLog
  61. +18 −0 .pc/kfreebsd-mmap/ChangeLog
  62. +9 −0 .pc/kfreebsd-mmap/configure.ac
  63. +18 −0 .pc/ml64-safeseh/ChangeLog
  64. +9 −0 .pc/more-openbsd-mips/configure.ac
  65. +18 −0 .pc/more-openbsd/ChangeLog
  66. +9 −0 .pc/more-openbsd/configure.ac
  67. +18 −0 .pc/msvcc-warning/ChangeLog
  68. +18 −0 .pc/powerpc-ffi-softfloat/ChangeLog
  69. +18 −0 .pc/powerpc-sysv-without-string-ops/ChangeLog
  70. +18 −0 .pc/ppc64-darwin/ChangeLog
  71. +9 −0 .pc/ppc64-darwin/configure
  72. +9 −0 .pc/ppc64-darwin/configure.ac
  73. +18 −0 .pc/remove-debug-code/ChangeLog
  74. +18 −0 .pc/sparc-abi-check/ChangeLog
  75. +18 −0 .pc/sparc-v8-aggregate-returns/ChangeLog
  76. +9 −0 .pc/stand-alone/configure
  77. +9 −0 .pc/stand-alone/configure.ac
  78. +18 −0 .pc/stdcall-x86-closure-fix/ChangeLog
  79. +8 −2 .pc/stdcall-x86-closure-fix/src/prep_cif.c
  80. +36 −0 .pc/stdcall-x86-closure-fix/src/x86/ffi.c
  81. +1 −1 .pc/stdcall-x86-closure-fix/src/x86/ffitarget.h
  82. +9 −0 .pc/ungccify/configure.ac
  83. +18 −0 .pc/unlikely/ChangeLog
  84. +18 −0 .pc/variadic/ChangeLog
  85. +7 −2 .pc/variadic/src/prep_cif.c
  86. +18 −0 .pc/win64-struct-args/ChangeLog
  87. +36 −0 .pc/win64-struct-args/src/x86/ffi.c
  88. +18 −0 .pc/win64-underscore/ChangeLog
  89. +9 −0 .pc/win64-underscore/configure
  90. +9 −0 .pc/win64-underscore/configure.ac
  91. +18 −0 .pc/windows-ce-arm/ChangeLog
  92. +18 −0 .pc/x86_pcrel_test/ChangeLog
  93. +9 −0 .pc/x86_pcrel_test/configure
  94. +9 −0 .pc/x86_pcrel_test/configure.ac
  95. +6 −1 ChangeLog
  96. +387 −0 patches/ffitarget-include-fix
  97. +1 −0 patches/series
  98. +6 −1 src/alpha/ffitarget.h
  99. +7 −2 src/arm/ffitarget.h
  100. +6 −1 src/avr32/ffitarget.h
  101. +6 −1 src/cris/ffitarget.h
  102. +6 −1 src/frv/ffitarget.h
  103. +6 −1 src/ia64/ffitarget.h
  104. +6 −1 src/m32r/ffitarget.h
  105. +6 −1 src/m68k/ffitarget.h
  106. +6 −1 src/mips/ffitarget.h
  107. +5 −1 src/moxie/ffitarget.h
  108. +6 −1 src/pa/ffitarget.h
  109. +8 −2 src/powerpc/ffitarget.h
  110. +6 −1 src/s390/ffitarget.h
  111. +6 −1 src/sh/ffitarget.h
  112. +6 −1 src/sh64/ffitarget.h
  113. +6 −1 src/sparc/ffitarget.h
  114. +4 −0 src/x86/ffitarget.h
View
@@ -1,3 +1,21 @@
+2012-02-10 Kai Tietz <ktietz@redhat.com>
+
+ * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
+ windows target.
+ * configure: Regenerated.
+
+2012-02-08 Kai Tietz <ktietz@redhat.com>
+
+ * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
+ also FFI_THISCALL.
+ * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
+ (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
+ (ffi_prep_closure_loc): Add FFI_THISCALL support.
+ * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
+ * src/x86/win32.S (ffi_closure_THISCALL): New closure code
+ for thiscall-calling convention.
+ * testsuite/libffi.call/closure_thiscall.c: New test.
+
2012-01-28 Kai Tietz <ktietz@redhat.com>
* src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
@@ -12167,6 +12167,15 @@ case "$host" in
x86_64-*-cygwin* | x86_64-*-mingw*)
TARGET=X86_WIN64; TARGETDIR=x86
+ # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+ # We must also check with_cross_host to decide if this is a native
+ # or cross-build and select where to install dlls appropriately.
+ if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
+ else
+ AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
+ fi
;;
x86_64-*-*)
@@ -178,6 +178,15 @@ case "$host" in
x86_64-*-cygwin* | x86_64-*-mingw*)
TARGET=X86_WIN64; TARGETDIR=x86
+ # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+ # We must also check with_cross_host to decide if this is a native
+ # or cross-build and select where to install dlls appropriately.
+ if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
+ else
+ AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
+ fi
;;
x86_64-*-*)
View
@@ -1,3 +1,21 @@
+2012-02-10 Kai Tietz <ktietz@redhat.com>
+
+ * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
+ windows target.
+ * configure: Regenerated.
+
+2012-02-08 Kai Tietz <ktietz@redhat.com>
+
+ * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
+ also FFI_THISCALL.
+ * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
+ (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
+ (ffi_prep_closure_loc): Add FFI_THISCALL support.
+ * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
+ * src/x86/win32.S (ffi_closure_THISCALL): New closure code
+ for thiscall-calling convention.
+ * testsuite/libffi.call/closure_thiscall.c: New test.
+
2012-01-28 Kai Tietz <ktietz@redhat.com>
* src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
View
@@ -1,3 +1,21 @@
+2012-02-10 Kai Tietz <ktietz@redhat.com>
+
+ * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
+ windows target.
+ * configure: Regenerated.
+
+2012-02-08 Kai Tietz <ktietz@redhat.com>
+
+ * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
+ also FFI_THISCALL.
+ * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
+ (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
+ (ffi_prep_closure_loc): Add FFI_THISCALL support.
+ * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
+ * src/x86/win32.S (ffi_closure_THISCALL): New closure code
+ for thiscall-calling convention.
+ * testsuite/libffi.call/closure_thiscall.c: New test.
+
2012-01-28 Kai Tietz <ktietz@redhat.com>
* src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
View
@@ -12178,6 +12178,15 @@ case "$host" in
x86_64-*-cygwin* | x86_64-*-mingw*)
TARGET=X86_WIN64; TARGETDIR=x86
+ # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+ # We must also check with_cross_host to decide if this is a native
+ # or cross-build and select where to install dlls appropriately.
+ if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
+ else
+ AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
+ fi
;;
x86_64-*-*)
View
@@ -186,6 +186,15 @@ case "$host" in
x86_64-*-cygwin* | x86_64-*-mingw*)
TARGET=X86_WIN64; TARGETDIR=x86
+ # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+ # We must also check with_cross_host to decide if this is a native
+ # or cross-build and select where to install dlls appropriately.
+ if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
+ else
+ AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
+ fi
;;
x86_64-*-*)
View
@@ -41,3 +41,4 @@ unlikely
amiga
alpha
autoconf-archive-update
+ffitarget-include-fix
@@ -394,7 +394,6 @@ psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
-sys_symbol_underscore = @sys_symbol_underscore@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
@@ -1,92 +0,0 @@
-# mmap(2) blacklisting. Some platforms provide the mmap library routine
-# but don't support all of the features we need from it.
-AC_DEFUN([AC_FUNC_MMAP_BLACKLIST],
-[
-AC_CHECK_HEADER([sys/mman.h],
- [libffi_header_sys_mman_h=yes], [libffi_header_sys_mman_h=no])
-AC_CHECK_FUNC([mmap], [libffi_func_mmap=yes], [libffi_func_mmap=no])
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
- ac_cv_func_mmap_file=no
- ac_cv_func_mmap_dev_zero=no
- ac_cv_func_mmap_anon=no
-else
- AC_CACHE_CHECK([whether read-only mmap of a plain file works],
- ac_cv_func_mmap_file,
- [# Add a system to this blacklist if
- # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
- # memory area containing the same data that you'd get if you applied
- # read() to the same fd. The only system known to have a problem here
- # is VMS, where text files have record structure.
- case "$host_os" in
- vms* | ultrix*)
- ac_cv_func_mmap_file=no ;;
- *)
- ac_cv_func_mmap_file=yes;;
- esac])
- AC_CACHE_CHECK([whether mmap from /dev/zero works],
- ac_cv_func_mmap_dev_zero,
- [# Add a system to this blacklist if it has mmap() but /dev/zero
- # does not exist, or if mmapping /dev/zero does not give anonymous
- # zeroed pages with both the following properties:
- # 1. If you map N consecutive pages in with one call, and then
- # unmap any subset of those pages, the pages that were not
- # explicitly unmapped remain accessible.
- # 2. If you map two adjacent blocks of memory and then unmap them
- # both at once, they must both go away.
- # Systems known to be in this category are Windows (all variants),
- # VMS, and Darwin.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
- ac_cv_func_mmap_dev_zero=no ;;
- *)
- ac_cv_func_mmap_dev_zero=yes;;
- esac])
-
- # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
- AC_CACHE_CHECK([for MAP_ANON(YMOUS)], ac_cv_decl_map_anon,
- [AC_TRY_COMPILE(
-[#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-],
-[int n = MAP_ANONYMOUS;],
- ac_cv_decl_map_anon=yes,
- ac_cv_decl_map_anon=no)])
-
- if test $ac_cv_decl_map_anon = no; then
- ac_cv_func_mmap_anon=no
- else
- AC_CACHE_CHECK([whether mmap with MAP_ANON(YMOUS) works],
- ac_cv_func_mmap_anon,
- [# Add a system to this blacklist if it has mmap() and MAP_ANON or
- # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
- # doesn't give anonymous zeroed pages with the same properties listed
- # above for use of /dev/zero.
- # Systems known to be in this category are Windows, VMS, and SCO Unix.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | sco* | udk* )
- ac_cv_func_mmap_anon=no ;;
- *)
- ac_cv_func_mmap_anon=yes;;
- esac])
- fi
-fi
-
-if test $ac_cv_func_mmap_file = yes; then
- AC_DEFINE(HAVE_MMAP_FILE, 1,
- [Define if read-only mmap of a plain file works.])
-fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
- AC_DEFINE(HAVE_MMAP_DEV_ZERO, 1,
- [Define if mmap of /dev/zero works.])
-fi
-if test $ac_cv_func_mmap_anon = yes; then
- AC_DEFINE(HAVE_MMAP_ANON, 1,
- [Define if mmap with MAP_ANON(YMOUS) works.])
-fi
-])
@@ -12181,6 +12181,15 @@ case "$host" in
x86_64-*-cygwin* | x86_64-*-mingw*)
TARGET=X86_WIN64; TARGETDIR=x86
+ # All mingw/cygwin/win32 builds require -no-undefined for sharedlib.
+ # We must also check with_cross_host to decide if this is a native
+ # or cross-build and select where to install dlls appropriately.
+ if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ AM_LTLDFLAGS='-no-undefined -bindir "$(toolexeclibdir)"';
+ else
+ AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"';
+ fi
;;
x86_64-*-*)
@@ -13310,7 +13319,7 @@ case "$target" in
$as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
;;
- *-apple-darwin1[10]* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
+ *-apple-darwin1[10]* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
@@ -107,7 +107,6 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
FGREP = @FGREP@
GREP = @GREP@
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
@@ -197,7 +196,6 @@ psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
-sys_symbol_underscore = @sys_symbol_underscore@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
@@ -1,70 +0,0 @@
-# ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_configure_args.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_CONFIGURE_ARGS
-#
-# DESCRIPTION
-#
-# Helper macro for AX_ENABLE_BUILDDIR.
-#
-# The traditional way of starting a subdir-configure is running the script
-# with ${1+"$@"} but since autoconf 2.60 this is broken. Instead we have
-# to rely on eval'ing $ac_configure_args however some old autoconf
-# versions do not provide that. To ensure maximum portability of autoconf
-# extension macros this helper can be AC_REQUIRE'd so that
-# $ac_configure_args will alsways be present.
-#
-# Sadly, the traditional "exec $SHELL" of the enable_builddir macros is
-# spoiled now and must be replaced by "eval + exit $?".
-#
-# Example:
-#
-# AC_DEFUN([AX_ENABLE_SUBDIR],[dnl
-# AC_REQUIRE([AX_CONFIGURE_ARGS])dnl
-# eval $SHELL $ac_configure_args || exit $?
-# ...])
-#
-# LICENSE
-#
-# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 9
-
-AC_DEFUN([AX_CONFIGURE_ARGS],[
- # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
- if test "${ac_configure_args+set}" != "set" ; then
- ac_configure_args=
- for ac_arg in ${1+"[$]@"}; do
- ac_configure_args="$ac_configure_args '$ac_arg'"
- done
- fi
-])
Oops, something went wrong.

0 comments on commit 8360bf1

Please sign in to comment.