Many new patches
This commit is contained in:
30
.pc/aix-ibm-xlc/configure
vendored
30
.pc/aix-ibm-xlc/configure
vendored
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc9.
|
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc10.
|
||||||
#
|
#
|
||||||
# Report bugs to <http://sourceware.org/libffi.html>.
|
# Report bugs to <http://sourceware.org/libffi.html>.
|
||||||
#
|
#
|
||||||
@@ -570,8 +570,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='libffi'
|
PACKAGE_NAME='libffi'
|
||||||
PACKAGE_TARNAME='libffi'
|
PACKAGE_TARNAME='libffi'
|
||||||
PACKAGE_VERSION='3.0.10rc9'
|
PACKAGE_VERSION='3.0.10rc10'
|
||||||
PACKAGE_STRING='libffi 3.0.10rc9'
|
PACKAGE_STRING='libffi 3.0.10rc10'
|
||||||
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
@@ -1367,7 +1367,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures libffi 3.0.10rc9 to adapt to many kinds of systems.
|
\`configure' configures libffi 3.0.10rc10 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -1438,7 +1438,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of libffi 3.0.10rc9:";;
|
short | recursive ) echo "Configuration of libffi 3.0.10rc10:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -1547,7 +1547,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
libffi configure 3.0.10rc9
|
libffi configure 3.0.10rc10
|
||||||
generated by GNU Autoconf 2.68
|
generated by GNU Autoconf 2.68
|
||||||
|
|
||||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
@@ -2148,7 +2148,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by libffi $as_me 3.0.10rc9, which was
|
It was created by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@@ -3081,7 +3081,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='libffi'
|
PACKAGE='libffi'
|
||||||
VERSION='3.0.10rc9'
|
VERSION='3.0.10rc10'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@@ -8295,6 +8295,10 @@ _lt_linker_boilerplate=`cat conftest.err`
|
|||||||
$RM -r conftest*
|
$RM -r conftest*
|
||||||
|
|
||||||
|
|
||||||
|
## CAVEAT EMPTOR:
|
||||||
|
## There is no encapsulation within the following macros, do not change
|
||||||
|
## the running order or otherwise move them around unless you know exactly
|
||||||
|
## what you are doing...
|
||||||
if test -n "$compiler"; then
|
if test -n "$compiler"; then
|
||||||
|
|
||||||
lt_prog_compiler_no_builtin_flag=
|
lt_prog_compiler_no_builtin_flag=
|
||||||
@@ -10845,14 +10849,10 @@ fi
|
|||||||
# before this can be enabled.
|
# before this can be enabled.
|
||||||
hardcode_into_libs=yes
|
hardcode_into_libs=yes
|
||||||
|
|
||||||
# Add ABI-specific directories to the system library path.
|
|
||||||
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
|
|
||||||
|
|
||||||
# Append ld.so.conf contents to the search path
|
# Append ld.so.conf contents to the search path
|
||||||
if test -f /etc/ld.so.conf; then
|
if test -f /etc/ld.so.conf; then
|
||||||
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
||||||
sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
|
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
||||||
@@ -14127,7 +14127,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by libffi $as_me 3.0.10rc9, which was
|
This file was extended by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@@ -14197,7 +14197,7 @@ _ACEOF
|
|||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
libffi config.status 3.0.10rc9
|
libffi config.status 3.0.10rc10
|
||||||
configured by $0, generated by GNU Autoconf 2.68,
|
configured by $0, generated by GNU Autoconf 2.68,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ dnl Process this with autoconf to create configure
|
|||||||
|
|
||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
|
|
||||||
AC_INIT([libffi], [3.0.10rc9], [http://sourceware.org/libffi.html])
|
AC_INIT([libffi], [3.0.10rc10], [http://sourceware.org/libffi.html])
|
||||||
AC_CONFIG_HEADERS([fficonfig.h])
|
AC_CONFIG_HEADERS([fficonfig.h])
|
||||||
|
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
|
|||||||
@@ -25,3 +25,7 @@ msvcc
|
|||||||
fix_maxopt
|
fix_maxopt
|
||||||
fix-ppc32
|
fix-ppc32
|
||||||
darwin-EH-fix
|
darwin-EH-fix
|
||||||
|
more-openbsd
|
||||||
|
more-openbsd-mips
|
||||||
|
minix
|
||||||
|
interix-patch
|
||||||
|
|||||||
@@ -98,7 +98,8 @@
|
|||||||
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
|
|
||||||
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
aggregate return ABI.
|
aggregate return ABI. Flush cache.
|
||||||
|
(ffi_prep_closure_loc): Flush cache.
|
||||||
|
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
|||||||
@@ -125,7 +125,8 @@
|
|||||||
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
|
|
||||||
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
aggregate return ABI.
|
aggregate return ABI. Flush cache.
|
||||||
|
(ffi_prep_closure_loc): Flush cache.
|
||||||
|
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
|||||||
@@ -69,8 +69,10 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
|||||||
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
||||||
mdate-sh missing texinfo.tex
|
mdate-sh missing texinfo.tex
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
|
||||||
$(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
|
|||||||
30
.pc/debug-build/configure
vendored
30
.pc/debug-build/configure
vendored
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc9.
|
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc10.
|
||||||
#
|
#
|
||||||
# Report bugs to <http://sourceware.org/libffi.html>.
|
# Report bugs to <http://sourceware.org/libffi.html>.
|
||||||
#
|
#
|
||||||
@@ -570,8 +570,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='libffi'
|
PACKAGE_NAME='libffi'
|
||||||
PACKAGE_TARNAME='libffi'
|
PACKAGE_TARNAME='libffi'
|
||||||
PACKAGE_VERSION='3.0.10rc9'
|
PACKAGE_VERSION='3.0.10rc10'
|
||||||
PACKAGE_STRING='libffi 3.0.10rc9'
|
PACKAGE_STRING='libffi 3.0.10rc10'
|
||||||
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
@@ -1364,7 +1364,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures libffi 3.0.10rc9 to adapt to many kinds of systems.
|
\`configure' configures libffi 3.0.10rc10 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -1435,7 +1435,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of libffi 3.0.10rc9:";;
|
short | recursive ) echo "Configuration of libffi 3.0.10rc10:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -1544,7 +1544,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
libffi configure 3.0.10rc9
|
libffi configure 3.0.10rc10
|
||||||
generated by GNU Autoconf 2.68
|
generated by GNU Autoconf 2.68
|
||||||
|
|
||||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
@@ -2145,7 +2145,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by libffi $as_me 3.0.10rc9, which was
|
It was created by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@@ -3078,7 +3078,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='libffi'
|
PACKAGE='libffi'
|
||||||
VERSION='3.0.10rc9'
|
VERSION='3.0.10rc10'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@@ -8288,6 +8288,10 @@ _lt_linker_boilerplate=`cat conftest.err`
|
|||||||
$RM -r conftest*
|
$RM -r conftest*
|
||||||
|
|
||||||
|
|
||||||
|
## CAVEAT EMPTOR:
|
||||||
|
## There is no encapsulation within the following macros, do not change
|
||||||
|
## the running order or otherwise move them around unless you know exactly
|
||||||
|
## what you are doing...
|
||||||
if test -n "$compiler"; then
|
if test -n "$compiler"; then
|
||||||
|
|
||||||
lt_prog_compiler_no_builtin_flag=
|
lt_prog_compiler_no_builtin_flag=
|
||||||
@@ -10838,14 +10842,10 @@ fi
|
|||||||
# before this can be enabled.
|
# before this can be enabled.
|
||||||
hardcode_into_libs=yes
|
hardcode_into_libs=yes
|
||||||
|
|
||||||
# Add ABI-specific directories to the system library path.
|
|
||||||
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
|
|
||||||
|
|
||||||
# Append ld.so.conf contents to the search path
|
# Append ld.so.conf contents to the search path
|
||||||
if test -f /etc/ld.so.conf; then
|
if test -f /etc/ld.so.conf; then
|
||||||
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
||||||
sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
|
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
||||||
@@ -14053,7 +14053,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by libffi $as_me 3.0.10rc9, which was
|
This file was extended by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@@ -14123,7 +14123,7 @@ _ACEOF
|
|||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
libffi config.status 3.0.10rc9
|
libffi config.status 3.0.10rc10
|
||||||
configured by $0, generated by GNU Autoconf 2.68,
|
configured by $0, generated by GNU Autoconf 2.68,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ dnl Process this with autoconf to create configure
|
|||||||
|
|
||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
|
|
||||||
AC_INIT([libffi], [3.0.10rc9], [http://sourceware.org/libffi.html])
|
AC_INIT([libffi], [3.0.10rc10], [http://sourceware.org/libffi.html])
|
||||||
AC_CONFIG_HEADERS([fficonfig.h])
|
AC_CONFIG_HEADERS([fficonfig.h])
|
||||||
|
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
|
|||||||
@@ -120,7 +120,8 @@
|
|||||||
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
|
|
||||||
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
aggregate return ABI.
|
aggregate return ABI. Flush cache.
|
||||||
|
(ffi_prep_closure_loc): Flush cache.
|
||||||
|
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,8 @@
|
|||||||
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
|
|
||||||
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
aggregate return ABI.
|
aggregate return ABI. Flush cache.
|
||||||
|
(ffi_prep_closure_loc): Flush cache.
|
||||||
|
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
|||||||
@@ -115,7 +115,8 @@
|
|||||||
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
|
|
||||||
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
aggregate return ABI.
|
aggregate return ABI. Flush cache.
|
||||||
|
(ffi_prep_closure_loc): Flush cache.
|
||||||
|
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
|||||||
30
.pc/fix_maxopt/configure
vendored
30
.pc/fix_maxopt/configure
vendored
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc9.
|
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc10.
|
||||||
#
|
#
|
||||||
# Report bugs to <http://sourceware.org/libffi.html>.
|
# Report bugs to <http://sourceware.org/libffi.html>.
|
||||||
#
|
#
|
||||||
@@ -570,8 +570,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='libffi'
|
PACKAGE_NAME='libffi'
|
||||||
PACKAGE_TARNAME='libffi'
|
PACKAGE_TARNAME='libffi'
|
||||||
PACKAGE_VERSION='3.0.10rc9'
|
PACKAGE_VERSION='3.0.10rc10'
|
||||||
PACKAGE_STRING='libffi 3.0.10rc9'
|
PACKAGE_STRING='libffi 3.0.10rc10'
|
||||||
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
@@ -1367,7 +1367,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures libffi 3.0.10rc9 to adapt to many kinds of systems.
|
\`configure' configures libffi 3.0.10rc10 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -1438,7 +1438,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of libffi 3.0.10rc9:";;
|
short | recursive ) echo "Configuration of libffi 3.0.10rc10:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -1547,7 +1547,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
libffi configure 3.0.10rc9
|
libffi configure 3.0.10rc10
|
||||||
generated by GNU Autoconf 2.68
|
generated by GNU Autoconf 2.68
|
||||||
|
|
||||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
@@ -2148,7 +2148,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by libffi $as_me 3.0.10rc9, which was
|
It was created by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@@ -3081,7 +3081,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='libffi'
|
PACKAGE='libffi'
|
||||||
VERSION='3.0.10rc9'
|
VERSION='3.0.10rc10'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@@ -8295,6 +8295,10 @@ _lt_linker_boilerplate=`cat conftest.err`
|
|||||||
$RM -r conftest*
|
$RM -r conftest*
|
||||||
|
|
||||||
|
|
||||||
|
## CAVEAT EMPTOR:
|
||||||
|
## There is no encapsulation within the following macros, do not change
|
||||||
|
## the running order or otherwise move them around unless you know exactly
|
||||||
|
## what you are doing...
|
||||||
if test -n "$compiler"; then
|
if test -n "$compiler"; then
|
||||||
|
|
||||||
lt_prog_compiler_no_builtin_flag=
|
lt_prog_compiler_no_builtin_flag=
|
||||||
@@ -10845,14 +10849,10 @@ fi
|
|||||||
# before this can be enabled.
|
# before this can be enabled.
|
||||||
hardcode_into_libs=yes
|
hardcode_into_libs=yes
|
||||||
|
|
||||||
# Add ABI-specific directories to the system library path.
|
|
||||||
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
|
|
||||||
|
|
||||||
# Append ld.so.conf contents to the search path
|
# Append ld.so.conf contents to the search path
|
||||||
if test -f /etc/ld.so.conf; then
|
if test -f /etc/ld.so.conf; then
|
||||||
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
||||||
sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
|
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
||||||
@@ -14129,7 +14129,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by libffi $as_me 3.0.10rc9, which was
|
This file was extended by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@@ -14199,7 +14199,7 @@ _ACEOF
|
|||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
libffi config.status 3.0.10rc9
|
libffi config.status 3.0.10rc10
|
||||||
configured by $0, generated by GNU Autoconf 2.68,
|
configured by $0, generated by GNU Autoconf 2.68,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,8 @@
|
|||||||
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
|
|
||||||
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
aggregate return ABI.
|
aggregate return ABI. Flush cache.
|
||||||
|
(ffi_prep_closure_loc): Flush cache.
|
||||||
|
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
|||||||
0
.pc/interix-patch/.timestamp
Normal file
0
.pc/interix-patch/.timestamp
Normal file
615
.pc/interix-patch/src/closures.c
Normal file
615
.pc/interix-patch/src/closures.c
Normal file
@@ -0,0 +1,615 @@
|
|||||||
|
/* -----------------------------------------------------------------------
|
||||||
|
closures.c - Copyright (c) 2007, 2009, 2010 Red Hat, Inc.
|
||||||
|
Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc
|
||||||
|
Copyright (c) 2011 Plausible Labs Cooperative, Inc.
|
||||||
|
|
||||||
|
Code to allocate and deallocate memory for closures.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
``Software''), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
DEALINGS IN THE SOFTWARE.
|
||||||
|
----------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
#if defined __linux__ && !defined _GNU_SOURCE
|
||||||
|
#define _GNU_SOURCE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <ffi.h>
|
||||||
|
#include <ffi_common.h>
|
||||||
|
|
||||||
|
#if !FFI_MMAP_EXEC_WRIT && !FFI_EXEC_TRAMPOLINE_TABLE
|
||||||
|
# if __gnu_linux__
|
||||||
|
/* This macro indicates it may be forbidden to map anonymous memory
|
||||||
|
with both write and execute permission. Code compiled when this
|
||||||
|
option is defined will attempt to map such pages once, but if it
|
||||||
|
fails, it falls back to creating a temporary file in a writable and
|
||||||
|
executable filesystem and mapping pages from it into separate
|
||||||
|
locations in the virtual memory space, one location writable and
|
||||||
|
another executable. */
|
||||||
|
# define FFI_MMAP_EXEC_WRIT 1
|
||||||
|
# define HAVE_MNTENT 1
|
||||||
|
# endif
|
||||||
|
# if defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)
|
||||||
|
/* Windows systems may have Data Execution Protection (DEP) enabled,
|
||||||
|
which requires the use of VirtualMalloc/VirtualFree to alloc/free
|
||||||
|
executable memory. */
|
||||||
|
# define FFI_MMAP_EXEC_WRIT 1
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if FFI_MMAP_EXEC_WRIT && !defined FFI_MMAP_EXEC_SELINUX
|
||||||
|
# ifdef __linux__
|
||||||
|
/* When defined to 1 check for SELinux and if SELinux is active,
|
||||||
|
don't attempt PROT_EXEC|PROT_WRITE mapping at all, as that
|
||||||
|
might cause audit messages. */
|
||||||
|
# define FFI_MMAP_EXEC_SELINUX 1
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if FFI_CLOSURES
|
||||||
|
|
||||||
|
# if FFI_EXEC_TRAMPOLINE_TABLE
|
||||||
|
|
||||||
|
// Per-target implementation; It's unclear what can reasonable be shared between two OS/architecture implementations.
|
||||||
|
|
||||||
|
# elif FFI_MMAP_EXEC_WRIT /* !FFI_EXEC_TRAMPOLINE_TABLE */
|
||||||
|
|
||||||
|
#define USE_LOCKS 1
|
||||||
|
#define USE_DL_PREFIX 1
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#ifndef USE_BUILTIN_FFS
|
||||||
|
#define USE_BUILTIN_FFS 1
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* We need to use mmap, not sbrk. */
|
||||||
|
#define HAVE_MORECORE 0
|
||||||
|
|
||||||
|
/* We could, in theory, support mremap, but it wouldn't buy us anything. */
|
||||||
|
#define HAVE_MREMAP 0
|
||||||
|
|
||||||
|
/* We have no use for this, so save some code and data. */
|
||||||
|
#define NO_MALLINFO 1
|
||||||
|
|
||||||
|
/* We need all allocations to be in regular segments, otherwise we
|
||||||
|
lose track of the corresponding code address. */
|
||||||
|
#define DEFAULT_MMAP_THRESHOLD MAX_SIZE_T
|
||||||
|
|
||||||
|
/* Don't allocate more than a page unless needed. */
|
||||||
|
#define DEFAULT_GRANULARITY ((size_t)malloc_getpagesize)
|
||||||
|
|
||||||
|
#if FFI_CLOSURE_TEST
|
||||||
|
/* Don't release single pages, to avoid a worst-case scenario of
|
||||||
|
continuously allocating and releasing single pages, but release
|
||||||
|
pairs of pages, which should do just as well given that allocations
|
||||||
|
are likely to be small. */
|
||||||
|
#define DEFAULT_TRIM_THRESHOLD ((size_t)malloc_getpagesize)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#ifndef _MSC_VER
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#if !defined(X86_WIN32) && !defined(X86_WIN64)
|
||||||
|
#ifdef HAVE_MNTENT
|
||||||
|
#include <mntent.h>
|
||||||
|
#endif /* HAVE_MNTENT */
|
||||||
|
#include <sys/param.h>
|
||||||
|
#include <pthread.h>
|
||||||
|
|
||||||
|
/* We don't want sys/mman.h to be included after we redefine mmap and
|
||||||
|
dlmunmap. */
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#define LACKS_SYS_MMAN_H 1
|
||||||
|
|
||||||
|
#if FFI_MMAP_EXEC_SELINUX
|
||||||
|
#include <sys/statfs.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
static int selinux_enabled = -1;
|
||||||
|
|
||||||
|
static int
|
||||||
|
selinux_enabled_check (void)
|
||||||
|
{
|
||||||
|
struct statfs sfs;
|
||||||
|
FILE *f;
|
||||||
|
char *buf = NULL;
|
||||||
|
size_t len = 0;
|
||||||
|
|
||||||
|
if (statfs ("/selinux", &sfs) >= 0
|
||||||
|
&& (unsigned int) sfs.f_type == 0xf97cff8cU)
|
||||||
|
return 1;
|
||||||
|
f = fopen ("/proc/mounts", "r");
|
||||||
|
if (f == NULL)
|
||||||
|
return 0;
|
||||||
|
while (getline (&buf, &len, f) >= 0)
|
||||||
|
{
|
||||||
|
char *p = strchr (buf, ' ');
|
||||||
|
if (p == NULL)
|
||||||
|
break;
|
||||||
|
p = strchr (p + 1, ' ');
|
||||||
|
if (p == NULL)
|
||||||
|
break;
|
||||||
|
if (strncmp (p + 1, "selinuxfs ", 10) == 0)
|
||||||
|
{
|
||||||
|
free (buf);
|
||||||
|
fclose (f);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
free (buf);
|
||||||
|
fclose (f);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define is_selinux_enabled() (selinux_enabled >= 0 ? selinux_enabled \
|
||||||
|
: (selinux_enabled = selinux_enabled_check ()))
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define is_selinux_enabled() 0
|
||||||
|
|
||||||
|
#endif /* !FFI_MMAP_EXEC_SELINUX */
|
||||||
|
|
||||||
|
#elif defined (__CYGWIN__)
|
||||||
|
|
||||||
|
#include <sys/mman.h>
|
||||||
|
|
||||||
|
/* Cygwin is Linux-like, but not quite that Linux-like. */
|
||||||
|
#define is_selinux_enabled() 0
|
||||||
|
|
||||||
|
#endif /* !defined(X86_WIN32) && !defined(X86_WIN64) */
|
||||||
|
|
||||||
|
/* Declare all functions defined in dlmalloc.c as static. */
|
||||||
|
static void *dlmalloc(size_t);
|
||||||
|
static void dlfree(void*);
|
||||||
|
static void *dlcalloc(size_t, size_t) MAYBE_UNUSED;
|
||||||
|
static void *dlrealloc(void *, size_t) MAYBE_UNUSED;
|
||||||
|
static void *dlmemalign(size_t, size_t) MAYBE_UNUSED;
|
||||||
|
static void *dlvalloc(size_t) MAYBE_UNUSED;
|
||||||
|
static int dlmallopt(int, int) MAYBE_UNUSED;
|
||||||
|
static size_t dlmalloc_footprint(void) MAYBE_UNUSED;
|
||||||
|
static size_t dlmalloc_max_footprint(void) MAYBE_UNUSED;
|
||||||
|
static void** dlindependent_calloc(size_t, size_t, void**) MAYBE_UNUSED;
|
||||||
|
static void** dlindependent_comalloc(size_t, size_t*, void**) MAYBE_UNUSED;
|
||||||
|
static void *dlpvalloc(size_t) MAYBE_UNUSED;
|
||||||
|
static int dlmalloc_trim(size_t) MAYBE_UNUSED;
|
||||||
|
static size_t dlmalloc_usable_size(void*) MAYBE_UNUSED;
|
||||||
|
static void dlmalloc_stats(void) MAYBE_UNUSED;
|
||||||
|
|
||||||
|
#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX)
|
||||||
|
/* Use these for mmap and munmap within dlmalloc.c. */
|
||||||
|
static void *dlmmap(void *, size_t, int, int, int, off_t);
|
||||||
|
static int dlmunmap(void *, size_t);
|
||||||
|
#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX) */
|
||||||
|
|
||||||
|
#define mmap dlmmap
|
||||||
|
#define munmap dlmunmap
|
||||||
|
|
||||||
|
#include "dlmalloc.c"
|
||||||
|
|
||||||
|
#undef mmap
|
||||||
|
#undef munmap
|
||||||
|
|
||||||
|
#if !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX)
|
||||||
|
|
||||||
|
/* A mutex used to synchronize access to *exec* variables in this file. */
|
||||||
|
static pthread_mutex_t open_temp_exec_file_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
|
/* A file descriptor of a temporary file from which we'll map
|
||||||
|
executable pages. */
|
||||||
|
static int execfd = -1;
|
||||||
|
|
||||||
|
/* The amount of space already allocated from the temporary file. */
|
||||||
|
static size_t execsize = 0;
|
||||||
|
|
||||||
|
/* Open a temporary file name, and immediately unlink it. */
|
||||||
|
static int
|
||||||
|
open_temp_exec_file_name (char *name)
|
||||||
|
{
|
||||||
|
int fd = mkstemp (name);
|
||||||
|
|
||||||
|
if (fd != -1)
|
||||||
|
unlink (name);
|
||||||
|
|
||||||
|
return fd;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Open a temporary file in the named directory. */
|
||||||
|
static int
|
||||||
|
open_temp_exec_file_dir (const char *dir)
|
||||||
|
{
|
||||||
|
static const char suffix[] = "/ffiXXXXXX";
|
||||||
|
int lendir = strlen (dir);
|
||||||
|
char *tempname = __builtin_alloca (lendir + sizeof (suffix));
|
||||||
|
|
||||||
|
if (!tempname)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
memcpy (tempname, dir, lendir);
|
||||||
|
memcpy (tempname + lendir, suffix, sizeof (suffix));
|
||||||
|
|
||||||
|
return open_temp_exec_file_name (tempname);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Open a temporary file in the directory in the named environment
|
||||||
|
variable. */
|
||||||
|
static int
|
||||||
|
open_temp_exec_file_env (const char *envvar)
|
||||||
|
{
|
||||||
|
const char *value = getenv (envvar);
|
||||||
|
|
||||||
|
if (!value)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
return open_temp_exec_file_dir (value);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_MNTENT
|
||||||
|
/* Open a temporary file in an executable and writable mount point
|
||||||
|
listed in the mounts file. Subsequent calls with the same mounts
|
||||||
|
keep searching for mount points in the same file. Providing NULL
|
||||||
|
as the mounts file closes the file. */
|
||||||
|
static int
|
||||||
|
open_temp_exec_file_mnt (const char *mounts)
|
||||||
|
{
|
||||||
|
static const char *last_mounts;
|
||||||
|
static FILE *last_mntent;
|
||||||
|
|
||||||
|
if (mounts != last_mounts)
|
||||||
|
{
|
||||||
|
if (last_mntent)
|
||||||
|
endmntent (last_mntent);
|
||||||
|
|
||||||
|
last_mounts = mounts;
|
||||||
|
|
||||||
|
if (mounts)
|
||||||
|
last_mntent = setmntent (mounts, "r");
|
||||||
|
else
|
||||||
|
last_mntent = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!last_mntent)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
struct mntent mnt;
|
||||||
|
char buf[MAXPATHLEN * 3];
|
||||||
|
|
||||||
|
if (getmntent_r (last_mntent, &mnt, buf, sizeof (buf)) == NULL)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (hasmntopt (&mnt, "ro")
|
||||||
|
|| hasmntopt (&mnt, "noexec")
|
||||||
|
|| access (mnt.mnt_dir, W_OK))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
fd = open_temp_exec_file_dir (mnt.mnt_dir);
|
||||||
|
|
||||||
|
if (fd != -1)
|
||||||
|
return fd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* HAVE_MNTENT */
|
||||||
|
|
||||||
|
/* Instructions to look for a location to hold a temporary file that
|
||||||
|
can be mapped in for execution. */
|
||||||
|
static struct
|
||||||
|
{
|
||||||
|
int (*func)(const char *);
|
||||||
|
const char *arg;
|
||||||
|
int repeat;
|
||||||
|
} open_temp_exec_file_opts[] = {
|
||||||
|
{ open_temp_exec_file_env, "TMPDIR", 0 },
|
||||||
|
{ open_temp_exec_file_dir, "/tmp", 0 },
|
||||||
|
{ open_temp_exec_file_dir, "/var/tmp", 0 },
|
||||||
|
{ open_temp_exec_file_dir, "/dev/shm", 0 },
|
||||||
|
{ open_temp_exec_file_env, "HOME", 0 },
|
||||||
|
#ifdef HAVE_MNTENT
|
||||||
|
{ open_temp_exec_file_mnt, "/etc/mtab", 1 },
|
||||||
|
{ open_temp_exec_file_mnt, "/proc/mounts", 1 },
|
||||||
|
#endif /* HAVE_MNTENT */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Current index into open_temp_exec_file_opts. */
|
||||||
|
static int open_temp_exec_file_opts_idx = 0;
|
||||||
|
|
||||||
|
/* Reset a current multi-call func, then advances to the next entry.
|
||||||
|
If we're at the last, go back to the first and return nonzero,
|
||||||
|
otherwise return zero. */
|
||||||
|
static int
|
||||||
|
open_temp_exec_file_opts_next (void)
|
||||||
|
{
|
||||||
|
if (open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
|
||||||
|
open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func (NULL);
|
||||||
|
|
||||||
|
open_temp_exec_file_opts_idx++;
|
||||||
|
if (open_temp_exec_file_opts_idx
|
||||||
|
== (sizeof (open_temp_exec_file_opts)
|
||||||
|
/ sizeof (*open_temp_exec_file_opts)))
|
||||||
|
{
|
||||||
|
open_temp_exec_file_opts_idx = 0;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Return a file descriptor of a temporary zero-sized file in a
|
||||||
|
writable and exexutable filesystem. */
|
||||||
|
static int
|
||||||
|
open_temp_exec_file (void)
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
fd = open_temp_exec_file_opts[open_temp_exec_file_opts_idx].func
|
||||||
|
(open_temp_exec_file_opts[open_temp_exec_file_opts_idx].arg);
|
||||||
|
|
||||||
|
if (!open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat
|
||||||
|
|| fd == -1)
|
||||||
|
{
|
||||||
|
if (open_temp_exec_file_opts_next ())
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (fd == -1);
|
||||||
|
|
||||||
|
return fd;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Map in a chunk of memory from the temporary exec file into separate
|
||||||
|
locations in the virtual memory address space, one writable and one
|
||||||
|
executable. Returns the address of the writable portion, after
|
||||||
|
storing an offset to the corresponding executable portion at the
|
||||||
|
last word of the requested chunk. */
|
||||||
|
static void *
|
||||||
|
dlmmap_locked (void *start, size_t length, int prot, int flags, off_t offset)
|
||||||
|
{
|
||||||
|
void *ptr;
|
||||||
|
|
||||||
|
if (execfd == -1)
|
||||||
|
{
|
||||||
|
open_temp_exec_file_opts_idx = 0;
|
||||||
|
retry_open:
|
||||||
|
execfd = open_temp_exec_file ();
|
||||||
|
if (execfd == -1)
|
||||||
|
return MFAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
offset = execsize;
|
||||||
|
|
||||||
|
if (ftruncate (execfd, offset + length))
|
||||||
|
return MFAIL;
|
||||||
|
|
||||||
|
flags &= ~(MAP_PRIVATE | MAP_ANONYMOUS);
|
||||||
|
flags |= MAP_SHARED;
|
||||||
|
|
||||||
|
ptr = mmap (NULL, length, (prot & ~PROT_WRITE) | PROT_EXEC,
|
||||||
|
flags, execfd, offset);
|
||||||
|
if (ptr == MFAIL)
|
||||||
|
{
|
||||||
|
if (!offset)
|
||||||
|
{
|
||||||
|
close (execfd);
|
||||||
|
goto retry_open;
|
||||||
|
}
|
||||||
|
ftruncate (execfd, offset);
|
||||||
|
return MFAIL;
|
||||||
|
}
|
||||||
|
else if (!offset
|
||||||
|
&& open_temp_exec_file_opts[open_temp_exec_file_opts_idx].repeat)
|
||||||
|
open_temp_exec_file_opts_next ();
|
||||||
|
|
||||||
|
start = mmap (start, length, prot, flags, execfd, offset);
|
||||||
|
|
||||||
|
if (start == MFAIL)
|
||||||
|
{
|
||||||
|
munmap (ptr, length);
|
||||||
|
ftruncate (execfd, offset);
|
||||||
|
return start;
|
||||||
|
}
|
||||||
|
|
||||||
|
mmap_exec_offset ((char *)start, length) = (char*)ptr - (char*)start;
|
||||||
|
|
||||||
|
execsize += length;
|
||||||
|
|
||||||
|
return start;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Map in a writable and executable chunk of memory if possible.
|
||||||
|
Failing that, fall back to dlmmap_locked. */
|
||||||
|
static void *
|
||||||
|
dlmmap (void *start, size_t length, int prot,
|
||||||
|
int flags, int fd, off_t offset)
|
||||||
|
{
|
||||||
|
void *ptr;
|
||||||
|
|
||||||
|
assert (start == NULL && length % malloc_getpagesize == 0
|
||||||
|
&& prot == (PROT_READ | PROT_WRITE)
|
||||||
|
&& flags == (MAP_PRIVATE | MAP_ANONYMOUS)
|
||||||
|
&& fd == -1 && offset == 0);
|
||||||
|
|
||||||
|
#if FFI_CLOSURE_TEST
|
||||||
|
printf ("mapping in %zi\n", length);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (execfd == -1 && !is_selinux_enabled ())
|
||||||
|
{
|
||||||
|
ptr = mmap (start, length, prot | PROT_EXEC, flags, fd, offset);
|
||||||
|
|
||||||
|
if (ptr != MFAIL || (errno != EPERM && errno != EACCES))
|
||||||
|
/* Cool, no need to mess with separate segments. */
|
||||||
|
return ptr;
|
||||||
|
|
||||||
|
/* If MREMAP_DUP is ever introduced and implemented, try mmap
|
||||||
|
with ((prot & ~PROT_WRITE) | PROT_EXEC) and mremap with
|
||||||
|
MREMAP_DUP and prot at this point. */
|
||||||
|
}
|
||||||
|
|
||||||
|
if (execsize == 0 || execfd == -1)
|
||||||
|
{
|
||||||
|
pthread_mutex_lock (&open_temp_exec_file_mutex);
|
||||||
|
ptr = dlmmap_locked (start, length, prot, flags, offset);
|
||||||
|
pthread_mutex_unlock (&open_temp_exec_file_mutex);
|
||||||
|
|
||||||
|
return ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
return dlmmap_locked (start, length, prot, flags, offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Release memory at the given address, as well as the corresponding
|
||||||
|
executable page if it's separate. */
|
||||||
|
static int
|
||||||
|
dlmunmap (void *start, size_t length)
|
||||||
|
{
|
||||||
|
/* We don't bother decreasing execsize or truncating the file, since
|
||||||
|
we can't quite tell whether we're unmapping the end of the file.
|
||||||
|
We don't expect frequent deallocation anyway. If we did, we
|
||||||
|
could locate pages in the file by writing to the pages being
|
||||||
|
deallocated and checking that the file contents change.
|
||||||
|
Yuck. */
|
||||||
|
msegmentptr seg = segment_holding (gm, start);
|
||||||
|
void *code;
|
||||||
|
|
||||||
|
#if FFI_CLOSURE_TEST
|
||||||
|
printf ("unmapping %zi\n", length);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (seg && (code = add_segment_exec_offset (start, seg)) != start)
|
||||||
|
{
|
||||||
|
int ret = munmap (code, length);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
return munmap (start, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if FFI_CLOSURE_FREE_CODE
|
||||||
|
/* Return segment holding given code address. */
|
||||||
|
static msegmentptr
|
||||||
|
segment_holding_code (mstate m, char* addr)
|
||||||
|
{
|
||||||
|
msegmentptr sp = &m->seg;
|
||||||
|
for (;;) {
|
||||||
|
if (addr >= add_segment_exec_offset (sp->base, sp)
|
||||||
|
&& addr < add_segment_exec_offset (sp->base, sp) + sp->size)
|
||||||
|
return sp;
|
||||||
|
if ((sp = sp->next) == 0)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* !(defined(X86_WIN32) || defined(X86_WIN64) || defined(__OS2__)) || defined (__CYGWIN__) || defined(__INTERIX) */
|
||||||
|
|
||||||
|
/* Allocate a chunk of memory with the given size. Returns a pointer
|
||||||
|
to the writable address, and sets *CODE to the executable
|
||||||
|
corresponding virtual address. */
|
||||||
|
void *
|
||||||
|
ffi_closure_alloc (size_t size, void **code)
|
||||||
|
{
|
||||||
|
void *ptr;
|
||||||
|
|
||||||
|
if (!code)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
ptr = dlmalloc (size);
|
||||||
|
|
||||||
|
if (ptr)
|
||||||
|
{
|
||||||
|
msegmentptr seg = segment_holding (gm, ptr);
|
||||||
|
|
||||||
|
*code = add_segment_exec_offset (ptr, seg);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Release a chunk of memory allocated with ffi_closure_alloc. If
|
||||||
|
FFI_CLOSURE_FREE_CODE is nonzero, the given address can be the
|
||||||
|
writable or the executable address given. Otherwise, only the
|
||||||
|
writable address can be provided here. */
|
||||||
|
void
|
||||||
|
ffi_closure_free (void *ptr)
|
||||||
|
{
|
||||||
|
#if FFI_CLOSURE_FREE_CODE
|
||||||
|
msegmentptr seg = segment_holding_code (gm, ptr);
|
||||||
|
|
||||||
|
if (seg)
|
||||||
|
ptr = sub_segment_exec_offset (ptr, seg);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
dlfree (ptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if FFI_CLOSURE_TEST
|
||||||
|
/* Do some internal sanity testing to make sure allocation and
|
||||||
|
deallocation of pages are working as intended. */
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
void *p[3];
|
||||||
|
#define GET(idx, len) do { p[idx] = dlmalloc (len); printf ("allocated %zi for p[%i]\n", (len), (idx)); } while (0)
|
||||||
|
#define PUT(idx) do { printf ("freeing p[%i]\n", (idx)); dlfree (p[idx]); } while (0)
|
||||||
|
GET (0, malloc_getpagesize / 2);
|
||||||
|
GET (1, 2 * malloc_getpagesize - 64 * sizeof (void*));
|
||||||
|
PUT (1);
|
||||||
|
GET (1, 2 * malloc_getpagesize);
|
||||||
|
GET (2, malloc_getpagesize / 2);
|
||||||
|
PUT (1);
|
||||||
|
PUT (0);
|
||||||
|
PUT (2);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif /* FFI_CLOSURE_TEST */
|
||||||
|
# else /* ! FFI_MMAP_EXEC_WRIT */
|
||||||
|
|
||||||
|
/* On many systems, memory returned by malloc is writable and
|
||||||
|
executable, so just use it. */
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
void *
|
||||||
|
ffi_closure_alloc (size_t size, void **code)
|
||||||
|
{
|
||||||
|
if (!code)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return *code = malloc (size);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
ffi_closure_free (void *ptr)
|
||||||
|
{
|
||||||
|
free (ptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
# endif /* ! FFI_MMAP_EXEC_WRIT */
|
||||||
|
#endif /* FFI_CLOSURES */
|
||||||
@@ -70,7 +70,8 @@
|
|||||||
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
|
|
||||||
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
aggregate return ABI.
|
aggregate return ABI. Flush cache.
|
||||||
|
(ffi_prep_closure_loc): Flush cache.
|
||||||
|
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
|||||||
30
.pc/interix/configure
vendored
30
.pc/interix/configure
vendored
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc9.
|
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc10.
|
||||||
#
|
#
|
||||||
# Report bugs to <http://sourceware.org/libffi.html>.
|
# Report bugs to <http://sourceware.org/libffi.html>.
|
||||||
#
|
#
|
||||||
@@ -570,8 +570,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='libffi'
|
PACKAGE_NAME='libffi'
|
||||||
PACKAGE_TARNAME='libffi'
|
PACKAGE_TARNAME='libffi'
|
||||||
PACKAGE_VERSION='3.0.10rc9'
|
PACKAGE_VERSION='3.0.10rc10'
|
||||||
PACKAGE_STRING='libffi 3.0.10rc9'
|
PACKAGE_STRING='libffi 3.0.10rc10'
|
||||||
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
@@ -1367,7 +1367,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures libffi 3.0.10rc9 to adapt to many kinds of systems.
|
\`configure' configures libffi 3.0.10rc10 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -1438,7 +1438,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of libffi 3.0.10rc9:";;
|
short | recursive ) echo "Configuration of libffi 3.0.10rc10:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -1547,7 +1547,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
libffi configure 3.0.10rc9
|
libffi configure 3.0.10rc10
|
||||||
generated by GNU Autoconf 2.68
|
generated by GNU Autoconf 2.68
|
||||||
|
|
||||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
@@ -2148,7 +2148,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by libffi $as_me 3.0.10rc9, which was
|
It was created by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@@ -3081,7 +3081,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='libffi'
|
PACKAGE='libffi'
|
||||||
VERSION='3.0.10rc9'
|
VERSION='3.0.10rc10'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@@ -8295,6 +8295,10 @@ _lt_linker_boilerplate=`cat conftest.err`
|
|||||||
$RM -r conftest*
|
$RM -r conftest*
|
||||||
|
|
||||||
|
|
||||||
|
## CAVEAT EMPTOR:
|
||||||
|
## There is no encapsulation within the following macros, do not change
|
||||||
|
## the running order or otherwise move them around unless you know exactly
|
||||||
|
## what you are doing...
|
||||||
if test -n "$compiler"; then
|
if test -n "$compiler"; then
|
||||||
|
|
||||||
lt_prog_compiler_no_builtin_flag=
|
lt_prog_compiler_no_builtin_flag=
|
||||||
@@ -10845,14 +10849,10 @@ fi
|
|||||||
# before this can be enabled.
|
# before this can be enabled.
|
||||||
hardcode_into_libs=yes
|
hardcode_into_libs=yes
|
||||||
|
|
||||||
# Add ABI-specific directories to the system library path.
|
|
||||||
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
|
|
||||||
|
|
||||||
# Append ld.so.conf contents to the search path
|
# Append ld.so.conf contents to the search path
|
||||||
if test -f /etc/ld.so.conf; then
|
if test -f /etc/ld.so.conf; then
|
||||||
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
||||||
sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
|
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
||||||
@@ -14129,7 +14129,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by libffi $as_me 3.0.10rc9, which was
|
This file was extended by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@@ -14199,7 +14199,7 @@ _ACEOF
|
|||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
libffi config.status 3.0.10rc9
|
libffi config.status 3.0.10rc10
|
||||||
configured by $0, generated by GNU Autoconf 2.68,
|
configured by $0, generated by GNU Autoconf 2.68,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ dnl Process this with autoconf to create configure
|
|||||||
|
|
||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
|
|
||||||
AC_INIT([libffi], [3.0.10rc9], [http://sourceware.org/libffi.html])
|
AC_INIT([libffi], [3.0.10rc10], [http://sourceware.org/libffi.html])
|
||||||
AC_CONFIG_HEADERS([fficonfig.h])
|
AC_CONFIG_HEADERS([fficonfig.h])
|
||||||
|
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
|
|||||||
@@ -98,7 +98,8 @@
|
|||||||
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
|
|
||||||
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
aggregate return ABI.
|
aggregate return ABI. Flush cache.
|
||||||
|
(ffi_prep_closure_loc): Flush cache.
|
||||||
|
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,8 @@
|
|||||||
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
|
|
||||||
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
aggregate return ABI.
|
aggregate return ABI. Flush cache.
|
||||||
|
(ffi_prep_closure_loc): Flush cache.
|
||||||
|
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
|||||||
@@ -74,8 +74,10 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
|||||||
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
||||||
mdate-sh missing texinfo.tex
|
mdate-sh missing texinfo.tex
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
|
||||||
$(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ dnl Process this with autoconf to create configure
|
|||||||
|
|
||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
|
|
||||||
AC_INIT([libffi], [3.0.10rc9], [http://sourceware.org/libffi.html])
|
AC_INIT([libffi], [3.0.10rc10], [http://sourceware.org/libffi.html])
|
||||||
AC_CONFIG_HEADERS([fficonfig.h])
|
AC_CONFIG_HEADERS([fficonfig.h])
|
||||||
|
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
|
|||||||
@@ -176,6 +176,9 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||||
|
#undef size_t
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
|
#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
|
||||||
#ifdef LIBFFI_ASM
|
#ifdef LIBFFI_ASM
|
||||||
|
|||||||
@@ -85,7 +85,8 @@
|
|||||||
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
|
|
||||||
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
aggregate return ABI.
|
aggregate return ABI. Flush cache.
|
||||||
|
(ffi_prep_closure_loc): Flush cache.
|
||||||
|
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
|||||||
0
.pc/more-openbsd-mips/.timestamp
Normal file
0
.pc/more-openbsd-mips/.timestamp
Normal file
496
.pc/more-openbsd-mips/configure.ac
Normal file
496
.pc/more-openbsd-mips/configure.ac
Normal file
@@ -0,0 +1,496 @@
|
|||||||
|
dnl Process this with autoconf to create configure
|
||||||
|
|
||||||
|
AC_PREREQ(2.63)
|
||||||
|
|
||||||
|
AC_INIT([libffi], [3.0.10rc10], [http://sourceware.org/libffi.html])
|
||||||
|
AC_CONFIG_HEADERS([fficonfig.h])
|
||||||
|
|
||||||
|
AC_CANONICAL_SYSTEM
|
||||||
|
target_alias=${target_alias-$host_alias}
|
||||||
|
|
||||||
|
. ${srcdir}/configure.host
|
||||||
|
|
||||||
|
AX_ENABLE_BUILDDIR
|
||||||
|
|
||||||
|
AM_INIT_AUTOMAKE
|
||||||
|
|
||||||
|
# The same as in boehm-gc and libstdc++. Have to borrow it from there.
|
||||||
|
# We must force CC to /not/ be precious variables; otherwise
|
||||||
|
# the wrong, non-multilib-adjusted value will be used in multilibs.
|
||||||
|
# As a side effect, we have to subst CFLAGS ourselves.
|
||||||
|
# Also save and restore CFLAGS, since AC_PROG_CC will come up with
|
||||||
|
# defaults of its own if none are provided.
|
||||||
|
|
||||||
|
m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
|
||||||
|
m4_define([_AC_ARG_VAR_PRECIOUS],[])
|
||||||
|
save_CFLAGS=$CFLAGS
|
||||||
|
AC_PROG_CC
|
||||||
|
CFLAGS=$save_CFLAGS
|
||||||
|
m4_undefine([_AC_ARG_VAR_PRECIOUS])
|
||||||
|
m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
|
||||||
|
|
||||||
|
AC_SUBST(CFLAGS)
|
||||||
|
|
||||||
|
AM_PROG_AS
|
||||||
|
AM_PROG_CC_C_O
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
|
||||||
|
AX_CC_MAXOPT
|
||||||
|
AX_CFLAGS_WARN_ALL
|
||||||
|
if test "x$GCC" = "xyes"; then
|
||||||
|
CFLAGS="$CFLAGS -fexceptions"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_MAINTAINER_MODE
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS(sys/mman.h)
|
||||||
|
AC_CHECK_FUNCS(mmap)
|
||||||
|
AC_FUNC_MMAP_BLACKLIST
|
||||||
|
|
||||||
|
dnl The -no-testsuite modules omit the test subdir.
|
||||||
|
AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
|
||||||
|
|
||||||
|
TARGETDIR="unknown"
|
||||||
|
case "$host" in
|
||||||
|
alpha*-*-*)
|
||||||
|
TARGET=ALPHA; TARGETDIR=alpha;
|
||||||
|
# Support 128-bit long double, changeable via command-line switch.
|
||||||
|
HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
|
||||||
|
;;
|
||||||
|
|
||||||
|
arm*-*-*)
|
||||||
|
TARGET=ARM; TARGETDIR=arm
|
||||||
|
;;
|
||||||
|
|
||||||
|
amd64-*-freebsd* | amd64-*-openbsd*)
|
||||||
|
TARGET=X86_64; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
|
||||||
|
amd64-*-freebsd*)
|
||||||
|
TARGET=X86_64; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
|
||||||
|
avr32*-*-*)
|
||||||
|
TARGET=AVR32; TARGETDIR=avr32
|
||||||
|
;;
|
||||||
|
|
||||||
|
cris-*-*)
|
||||||
|
TARGET=LIBFFI_CRIS; TARGETDIR=cris
|
||||||
|
;;
|
||||||
|
|
||||||
|
frv-*-*)
|
||||||
|
TARGET=FRV; TARGETDIR=frv
|
||||||
|
;;
|
||||||
|
|
||||||
|
hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
|
||||||
|
TARGET=PA_LINUX; TARGETDIR=pa
|
||||||
|
;;
|
||||||
|
hppa*64-*-hpux*)
|
||||||
|
TARGET=PA64_HPUX; TARGETDIR=pa
|
||||||
|
;;
|
||||||
|
hppa*-*-hpux*)
|
||||||
|
TARGET=PA_HPUX; TARGETDIR=pa
|
||||||
|
;;
|
||||||
|
|
||||||
|
i?86-*-freebsd* | i?86-*-openbsd*)
|
||||||
|
TARGET=X86_FREEBSD; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
|
||||||
|
TARGET=X86_WIN32; 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
|
||||||
|
;;
|
||||||
|
i?86-*-darwin*)
|
||||||
|
TARGET=X86_DARWIN; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
i?86-*-solaris2.1[[0-9]]*)
|
||||||
|
TARGET=X86_64; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
i?86-*-*)
|
||||||
|
TARGET=X86; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
|
||||||
|
ia64*-*-*)
|
||||||
|
TARGET=IA64; TARGETDIR=ia64
|
||||||
|
;;
|
||||||
|
|
||||||
|
m32r*-*-*)
|
||||||
|
TARGET=M32R; TARGETDIR=m32r
|
||||||
|
;;
|
||||||
|
|
||||||
|
m68k-*-*)
|
||||||
|
TARGET=M68K; TARGETDIR=m68k
|
||||||
|
;;
|
||||||
|
|
||||||
|
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||||
|
TARGET=MIPS; TARGETDIR=mips
|
||||||
|
;;
|
||||||
|
mips*-*-linux*)
|
||||||
|
# Support 128-bit long double for NewABI.
|
||||||
|
HAVE_LONG_DOUBLE='defined(__mips64)'
|
||||||
|
TARGET=MIPS; TARGETDIR=mips
|
||||||
|
;;
|
||||||
|
|
||||||
|
powerpc*-*-linux* | powerpc-*-sysv*)
|
||||||
|
TARGET=POWERPC; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
powerpc-*-beos*)
|
||||||
|
TARGET=POWERPC; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
powerpc-*-darwin* | powerpc64-*-darwin*)
|
||||||
|
TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
powerpc-*-aix* | rs6000-*-aix*)
|
||||||
|
TARGET=POWERPC_AIX; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
powerpc-*-freebsd* | powerpc-*-openbsd*)
|
||||||
|
TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
powerpc64-*-freebsd*)
|
||||||
|
TARGET=POWERPC; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
powerpc*-*-rtems*)
|
||||||
|
TARGET=POWERPC; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
|
||||||
|
s390-*-* | s390x-*-*)
|
||||||
|
TARGET=S390; TARGETDIR=s390
|
||||||
|
;;
|
||||||
|
|
||||||
|
sh-*-* | sh[[34]]*-*-*)
|
||||||
|
TARGET=SH; TARGETDIR=sh
|
||||||
|
;;
|
||||||
|
sh64-*-* | sh5*-*-*)
|
||||||
|
TARGET=SH64; TARGETDIR=sh64
|
||||||
|
;;
|
||||||
|
|
||||||
|
sparc*-*-*)
|
||||||
|
TARGET=SPARC; TARGETDIR=sparc
|
||||||
|
;;
|
||||||
|
|
||||||
|
x86_64-*-darwin*)
|
||||||
|
TARGET=X86_DARWIN; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
|
||||||
|
x86_64-*-cygwin* | x86_64-*-mingw*)
|
||||||
|
TARGET=X86_WIN64; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
|
||||||
|
x86_64-*-*)
|
||||||
|
TARGET=X86_64; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
AC_SUBST(AM_RUNTESTFLAGS)
|
||||||
|
AC_SUBST(AM_LTLDFLAGS)
|
||||||
|
|
||||||
|
if test $TARGETDIR = unknown; then
|
||||||
|
AC_MSG_ERROR(["libffi has not been ported to $host."])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
|
||||||
|
AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
|
||||||
|
AM_CONDITIONAL(X86, test x$TARGET = xX86)
|
||||||
|
AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
|
||||||
|
AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
|
||||||
|
AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
|
||||||
|
AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
|
||||||
|
AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
|
||||||
|
AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
|
||||||
|
AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
|
||||||
|
AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
|
||||||
|
AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
|
||||||
|
AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
|
||||||
|
AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
|
||||||
|
AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
|
||||||
|
AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
|
||||||
|
AM_CONDITIONAL(ARM, test x$TARGET = xARM)
|
||||||
|
AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
|
||||||
|
AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
|
||||||
|
AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
|
||||||
|
AM_CONDITIONAL(S390, test x$TARGET = xS390)
|
||||||
|
AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
|
||||||
|
AM_CONDITIONAL(SH, test x$TARGET = xSH)
|
||||||
|
AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
|
||||||
|
AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
|
||||||
|
AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
|
||||||
|
AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
|
||||||
|
|
||||||
|
AC_HEADER_STDC
|
||||||
|
AC_CHECK_FUNCS(memcpy)
|
||||||
|
AC_FUNC_ALLOCA
|
||||||
|
|
||||||
|
AC_CHECK_SIZEOF(double)
|
||||||
|
AC_CHECK_SIZEOF(long double)
|
||||||
|
|
||||||
|
# Also AC_SUBST this variable for ffi.h.
|
||||||
|
if test -z "$HAVE_LONG_DOUBLE"; then
|
||||||
|
HAVE_LONG_DOUBLE=0
|
||||||
|
if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
|
||||||
|
if test $ac_cv_sizeof_long_double != 0; then
|
||||||
|
HAVE_LONG_DOUBLE=1
|
||||||
|
AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST(HAVE_LONG_DOUBLE)
|
||||||
|
|
||||||
|
AC_C_BIGENDIAN
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([assembler .cfi pseudo-op support],
|
||||||
|
libffi_cv_as_cfi_pseudo_op, [
|
||||||
|
libffi_cv_as_cfi_pseudo_op=unknown
|
||||||
|
AC_TRY_COMPILE([asm (".cfi_startproc\n\t.cfi_endproc");],,
|
||||||
|
[libffi_cv_as_cfi_pseudo_op=yes],
|
||||||
|
[libffi_cv_as_cfi_pseudo_op=no])
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_as_cfi_pseudo_op" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_CFI_PSEUDO_OP, 1,
|
||||||
|
[Define if your assembler supports .cfi_* directives.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x$TARGET = xSPARC; then
|
||||||
|
AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
|
||||||
|
libffi_cv_as_sparc_ua_pcrel, [
|
||||||
|
save_CFLAGS="$CFLAGS"
|
||||||
|
save_LDFLAGS="$LDFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -fpic"
|
||||||
|
LDFLAGS="$LDFLAGS -shared"
|
||||||
|
AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
|
||||||
|
[libffi_cv_as_sparc_ua_pcrel=yes],
|
||||||
|
[libffi_cv_as_sparc_ua_pcrel=no])
|
||||||
|
CFLAGS="$save_CFLAGS"
|
||||||
|
LDFLAGS="$save_LDFLAGS"])
|
||||||
|
if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
|
||||||
|
[Define if your assembler and linker support unaligned PC relative relocs.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([assembler .register pseudo-op support],
|
||||||
|
libffi_cv_as_register_pseudo_op, [
|
||||||
|
libffi_cv_as_register_pseudo_op=unknown
|
||||||
|
# Check if we have .register
|
||||||
|
AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
|
||||||
|
[libffi_cv_as_register_pseudo_op=yes],
|
||||||
|
[libffi_cv_as_register_pseudo_op=no])
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
|
||||||
|
[Define if your assembler supports .register.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
|
||||||
|
AC_CACHE_CHECK([assembler supports pc related relocs],
|
||||||
|
libffi_cv_as_x86_pcrel, [
|
||||||
|
libffi_cv_as_x86_pcrel=no
|
||||||
|
echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
|
||||||
|
if $CC $CFLAGS -c conftest.s > /dev/null; then
|
||||||
|
libffi_cv_as_x86_pcrel=yes
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_as_x86_pcrel" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_X86_PCREL, 1,
|
||||||
|
[Define if your assembler supports PC relative relocs.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([assembler .ascii pseudo-op support],
|
||||||
|
libffi_cv_as_ascii_pseudo_op, [
|
||||||
|
libffi_cv_as_ascii_pseudo_op=unknown
|
||||||
|
# Check if we have .ascii
|
||||||
|
AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
|
||||||
|
[libffi_cv_as_ascii_pseudo_op=yes],
|
||||||
|
[libffi_cv_as_ascii_pseudo_op=no])
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
|
||||||
|
[Define if your assembler supports .ascii.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([assembler .string pseudo-op support],
|
||||||
|
libffi_cv_as_string_pseudo_op, [
|
||||||
|
libffi_cv_as_string_pseudo_op=unknown
|
||||||
|
# Check if we have .string
|
||||||
|
AC_TRY_COMPILE([asm (".string \\"string\\"");],,
|
||||||
|
[libffi_cv_as_string_pseudo_op=yes],
|
||||||
|
[libffi_cv_as_string_pseudo_op=no])
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
|
||||||
|
[Define if your assembler supports .string.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x$TARGET = xX86_WIN64; then
|
||||||
|
LT_SYS_SYMBOL_USCORE
|
||||||
|
if test "x$sys_symbol_underscore" = xyes; then
|
||||||
|
AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
FFI_EXEC_TRAMPOLINE_TABLE=0
|
||||||
|
case "$target" in
|
||||||
|
*arm*-apple-darwin*)
|
||||||
|
FFI_EXEC_TRAMPOLINE_TABLE=1
|
||||||
|
AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
|
||||||
|
[Cannot use PROT_EXEC on this target, so, we revert to
|
||||||
|
alternative means])
|
||||||
|
;;
|
||||||
|
*-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
|
||||||
|
AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
|
||||||
|
[Cannot use malloc on this target, so, we revert to
|
||||||
|
alternative means])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
|
||||||
|
AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
|
||||||
|
|
||||||
|
if test x$TARGET = xX86_64; then
|
||||||
|
AC_CACHE_CHECK([assembler supports unwind section type],
|
||||||
|
libffi_cv_as_x86_64_unwind_section_type, [
|
||||||
|
libffi_cv_as_x86_64_unwind_section_type=yes
|
||||||
|
echo '.section .eh_frame,"a",@unwind' > conftest.s
|
||||||
|
if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
|
||||||
|
libffi_cv_as_x86_64_unwind_section_type=no
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
|
||||||
|
[Define if your assembler supports unwind section type.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$GCC" = "xyes"; then
|
||||||
|
AC_CACHE_CHECK([whether .eh_frame section should be read-only],
|
||||||
|
libffi_cv_ro_eh_frame, [
|
||||||
|
libffi_cv_ro_eh_frame=no
|
||||||
|
echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
|
||||||
|
if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
|
||||||
|
if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
|
||||||
|
libffi_cv_ro_eh_frame=yes
|
||||||
|
elif grep '.section.*eh_frame.*#alloc' conftest.c \
|
||||||
|
| grep -v '#write' > /dev/null; then
|
||||||
|
libffi_cv_ro_eh_frame=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rm -f conftest.*
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_ro_eh_frame" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_RO_EH_FRAME, 1,
|
||||||
|
[Define if .eh_frame sections should be read-only.])
|
||||||
|
AC_DEFINE(EH_FRAME_FLAGS, "a",
|
||||||
|
[Define to the flags needed for the .section .eh_frame directive. ])
|
||||||
|
else
|
||||||
|
AC_DEFINE(EH_FRAME_FLAGS, "aw",
|
||||||
|
[Define to the flags needed for the .section .eh_frame directive. ])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
|
||||||
|
libffi_cv_hidden_visibility_attribute, [
|
||||||
|
echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
|
||||||
|
libffi_cv_hidden_visibility_attribute=no
|
||||||
|
if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
|
||||||
|
if grep '\.hidden.*foo' conftest.s >/dev/null; then
|
||||||
|
libffi_cv_hidden_visibility_attribute=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rm -f conftest.*
|
||||||
|
])
|
||||||
|
if test $libffi_cv_hidden_visibility_attribute = yes; then
|
||||||
|
AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
|
||||||
|
[Define if __attribute__((visibility("hidden"))) is supported.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AH_BOTTOM([
|
||||||
|
#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
|
||||||
|
#ifdef LIBFFI_ASM
|
||||||
|
#define FFI_HIDDEN(name) .hidden name
|
||||||
|
#else
|
||||||
|
#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#ifdef LIBFFI_ASM
|
||||||
|
#define FFI_HIDDEN(name)
|
||||||
|
#else
|
||||||
|
#define FFI_HIDDEN
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_SUBST(TARGET)
|
||||||
|
AC_SUBST(TARGETDIR)
|
||||||
|
|
||||||
|
AC_SUBST(SHELL)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(debug,
|
||||||
|
[ --enable-debug debugging mode],
|
||||||
|
if test "$enable_debug" = "yes"; then
|
||||||
|
AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
|
||||||
|
fi)
|
||||||
|
AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(structs,
|
||||||
|
[ --disable-structs omit code for struct support],
|
||||||
|
if test "$enable_structs" = "no"; then
|
||||||
|
AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
|
||||||
|
fi)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(raw-api,
|
||||||
|
[ --disable-raw-api make the raw api unavailable],
|
||||||
|
if test "$enable_raw_api" = "no"; then
|
||||||
|
AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
|
||||||
|
fi)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(purify-safety,
|
||||||
|
[ --enable-purify-safety purify-safe mode],
|
||||||
|
if test "$enable_purify_safety" = "yes"; then
|
||||||
|
AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
|
||||||
|
fi)
|
||||||
|
|
||||||
|
# These variables are only ever used when we cross-build to X86_WIN32.
|
||||||
|
# And we only support this with GCC, so...
|
||||||
|
if test x"$GCC" != x"no"; then
|
||||||
|
if test -n "$with_cross_host" &&
|
||||||
|
test x"$with_cross_host" != x"no"; then
|
||||||
|
toolexecdir='$(exec_prefix)/$(target_alias)'
|
||||||
|
toolexeclibdir='$(toolexecdir)/lib'
|
||||||
|
else
|
||||||
|
toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
|
||||||
|
toolexeclibdir='$(libdir)'
|
||||||
|
fi
|
||||||
|
multi_os_directory=`$CC -print-multi-os-directory`
|
||||||
|
case $multi_os_directory in
|
||||||
|
.) ;; # Avoid trailing /.
|
||||||
|
*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
|
||||||
|
esac
|
||||||
|
AC_SUBST(toolexecdir)
|
||||||
|
AC_SUBST(toolexeclibdir)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "${multilib}" = "yes"; then
|
||||||
|
multilib_arg="--enable-multilib"
|
||||||
|
else
|
||||||
|
multilib_arg=
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
|
||||||
|
AC_CONFIG_COMMANDS(src, [
|
||||||
|
test -d src || mkdir src
|
||||||
|
test -d src/$TARGETDIR || mkdir src/$TARGETDIR
|
||||||
|
], [TARGETDIR="$TARGETDIR"])
|
||||||
|
|
||||||
|
AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
|
||||||
|
|
||||||
|
AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
|
||||||
|
|
||||||
|
AC_OUTPUT
|
||||||
1032
.pc/more-openbsd-mips/src/mips/ffi.c
Normal file
1032
.pc/more-openbsd-mips/src/mips/ffi.c
Normal file
File diff suppressed because it is too large
Load Diff
242
.pc/more-openbsd-mips/src/mips/ffitarget.h
Normal file
242
.pc/more-openbsd-mips/src/mips/ffitarget.h
Normal file
@@ -0,0 +1,242 @@
|
|||||||
|
/* -----------------------------------------------------------------*-C-*-
|
||||||
|
ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
|
||||||
|
Target configuration macros for MIPS.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
``Software''), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
#ifndef LIBFFI_TARGET_H
|
||||||
|
#define LIBFFI_TARGET_H
|
||||||
|
|
||||||
|
#ifdef linux
|
||||||
|
# include <asm/sgidefs.h>
|
||||||
|
#elif defined(__rtems__)
|
||||||
|
/*
|
||||||
|
* Subprogram calling convention - copied from sgidefs.h
|
||||||
|
*/
|
||||||
|
#define _MIPS_SIM_ABI32 1
|
||||||
|
#define _MIPS_SIM_NABI32 2
|
||||||
|
#define _MIPS_SIM_ABI64 3
|
||||||
|
#else
|
||||||
|
# include <sgidefs.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
# ifndef _ABIN32
|
||||||
|
# define _ABIN32 _MIPS_SIM_NABI32
|
||||||
|
# endif
|
||||||
|
# ifndef _ABI64
|
||||||
|
# define _ABI64 _MIPS_SIM_ABI64
|
||||||
|
# endif
|
||||||
|
# ifndef _ABIO32
|
||||||
|
# define _ABIO32 _MIPS_SIM_ABI32
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#if !defined(_MIPS_SIM)
|
||||||
|
# error -- something is very wrong --
|
||||||
|
#else
|
||||||
|
# if (_MIPS_SIM==_ABIN32 && defined(_ABIN32)) || (_MIPS_SIM==_ABI64 && defined(_ABI64))
|
||||||
|
# define FFI_MIPS_N32
|
||||||
|
# else
|
||||||
|
# if (_MIPS_SIM==_ABIO32 && defined(_ABIO32))
|
||||||
|
# define FFI_MIPS_O32
|
||||||
|
# else
|
||||||
|
# error -- this is an unsupported platform --
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FFI_MIPS_O32
|
||||||
|
/* O32 stack frames have 32bit integer args */
|
||||||
|
# define FFI_SIZEOF_ARG 4
|
||||||
|
#else
|
||||||
|
/* N32 and N64 frames have 64bit integer args */
|
||||||
|
# define FFI_SIZEOF_ARG 8
|
||||||
|
# if _MIPS_SIM == _ABIN32
|
||||||
|
# define FFI_SIZEOF_JAVA_RAW 4
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FFI_FLAG_BITS 2
|
||||||
|
|
||||||
|
/* SGI's strange assembler requires that we multiply by 4 rather
|
||||||
|
than shift left by FFI_FLAG_BITS */
|
||||||
|
|
||||||
|
#define FFI_ARGS_D FFI_TYPE_DOUBLE
|
||||||
|
#define FFI_ARGS_F FFI_TYPE_FLOAT
|
||||||
|
#define FFI_ARGS_DD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_DOUBLE
|
||||||
|
#define FFI_ARGS_FF FFI_TYPE_FLOAT * 4 + FFI_TYPE_FLOAT
|
||||||
|
#define FFI_ARGS_FD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_FLOAT
|
||||||
|
#define FFI_ARGS_DF FFI_TYPE_FLOAT * 4 + FFI_TYPE_DOUBLE
|
||||||
|
|
||||||
|
/* Needed for N32 structure returns */
|
||||||
|
#define FFI_TYPE_SMALLSTRUCT FFI_TYPE_UINT8
|
||||||
|
#define FFI_TYPE_SMALLSTRUCT2 FFI_TYPE_SINT8
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* The SGI assembler can't handle this.. */
|
||||||
|
#define FFI_TYPE_STRUCT_DD (( FFI_ARGS_DD ) << 4) + FFI_TYPE_STRUCT
|
||||||
|
/* (and so on) */
|
||||||
|
#else
|
||||||
|
/* ...so we calculate these by hand! */
|
||||||
|
#define FFI_TYPE_STRUCT_D 61
|
||||||
|
#define FFI_TYPE_STRUCT_F 45
|
||||||
|
#define FFI_TYPE_STRUCT_DD 253
|
||||||
|
#define FFI_TYPE_STRUCT_FF 173
|
||||||
|
#define FFI_TYPE_STRUCT_FD 237
|
||||||
|
#define FFI_TYPE_STRUCT_DF 189
|
||||||
|
#define FFI_TYPE_STRUCT_SMALL 93
|
||||||
|
#define FFI_TYPE_STRUCT_SMALL2 109
|
||||||
|
|
||||||
|
/* and for n32 soft float, add 16 * 2^4 */
|
||||||
|
#define FFI_TYPE_STRUCT_D_SOFT 317
|
||||||
|
#define FFI_TYPE_STRUCT_F_SOFT 301
|
||||||
|
#define FFI_TYPE_STRUCT_DD_SOFT 509
|
||||||
|
#define FFI_TYPE_STRUCT_FF_SOFT 429
|
||||||
|
#define FFI_TYPE_STRUCT_FD_SOFT 493
|
||||||
|
#define FFI_TYPE_STRUCT_DF_SOFT 445
|
||||||
|
#define FFI_TYPE_STRUCT_SOFT 16
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef LIBFFI_ASM
|
||||||
|
#define v0 $2
|
||||||
|
#define v1 $3
|
||||||
|
#define a0 $4
|
||||||
|
#define a1 $5
|
||||||
|
#define a2 $6
|
||||||
|
#define a3 $7
|
||||||
|
#define a4 $8
|
||||||
|
#define a5 $9
|
||||||
|
#define a6 $10
|
||||||
|
#define a7 $11
|
||||||
|
#define t0 $8
|
||||||
|
#define t1 $9
|
||||||
|
#define t2 $10
|
||||||
|
#define t3 $11
|
||||||
|
#define t4 $12
|
||||||
|
#define t5 $13
|
||||||
|
#define t6 $14
|
||||||
|
#define t7 $15
|
||||||
|
#define t8 $24
|
||||||
|
#define t9 $25
|
||||||
|
#define ra $31
|
||||||
|
|
||||||
|
#ifdef FFI_MIPS_O32
|
||||||
|
# define REG_L lw
|
||||||
|
# define REG_S sw
|
||||||
|
# define SUBU subu
|
||||||
|
# define ADDU addu
|
||||||
|
# define SRL srl
|
||||||
|
# define LI li
|
||||||
|
#else /* !FFI_MIPS_O32 */
|
||||||
|
# define REG_L ld
|
||||||
|
# define REG_S sd
|
||||||
|
# define SUBU dsubu
|
||||||
|
# define ADDU daddu
|
||||||
|
# define SRL dsrl
|
||||||
|
# define LI dli
|
||||||
|
# if (_MIPS_SIM==_ABI64)
|
||||||
|
# define LA dla
|
||||||
|
# define EH_FRAME_ALIGN 3
|
||||||
|
# define FDE_ADDR_BYTES .8byte
|
||||||
|
# else
|
||||||
|
# define LA la
|
||||||
|
# define EH_FRAME_ALIGN 2
|
||||||
|
# define FDE_ADDR_BYTES .4byte
|
||||||
|
# endif /* _MIPS_SIM==_ABI64 */
|
||||||
|
#endif /* !FFI_MIPS_O32 */
|
||||||
|
#else /* !LIBFFI_ASM */
|
||||||
|
# ifdef __GNUC__
|
||||||
|
# ifdef FFI_MIPS_O32
|
||||||
|
/* O32 stack frames have 32bit integer args */
|
||||||
|
typedef unsigned int ffi_arg __attribute__((__mode__(__SI__)));
|
||||||
|
typedef signed int ffi_sarg __attribute__((__mode__(__SI__)));
|
||||||
|
#else
|
||||||
|
/* N32 and N64 frames have 64bit integer args */
|
||||||
|
typedef unsigned int ffi_arg __attribute__((__mode__(__DI__)));
|
||||||
|
typedef signed int ffi_sarg __attribute__((__mode__(__DI__)));
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# ifdef FFI_MIPS_O32
|
||||||
|
/* O32 stack frames have 32bit integer args */
|
||||||
|
typedef __uint32_t ffi_arg;
|
||||||
|
typedef __int32_t ffi_sarg;
|
||||||
|
# else
|
||||||
|
/* N32 and N64 frames have 64bit integer args */
|
||||||
|
typedef __uint64_t ffi_arg;
|
||||||
|
typedef __int64_t ffi_sarg;
|
||||||
|
# endif
|
||||||
|
# endif /* __GNUC__ */
|
||||||
|
|
||||||
|
typedef enum ffi_abi {
|
||||||
|
FFI_FIRST_ABI = 0,
|
||||||
|
FFI_O32,
|
||||||
|
FFI_N32,
|
||||||
|
FFI_N64,
|
||||||
|
FFI_O32_SOFT_FLOAT,
|
||||||
|
FFI_N32_SOFT_FLOAT,
|
||||||
|
FFI_N64_SOFT_FLOAT,
|
||||||
|
FFI_LAST_ABI,
|
||||||
|
|
||||||
|
#ifdef FFI_MIPS_O32
|
||||||
|
#ifdef __mips_soft_float
|
||||||
|
FFI_DEFAULT_ABI = FFI_O32_SOFT_FLOAT
|
||||||
|
#else
|
||||||
|
FFI_DEFAULT_ABI = FFI_O32
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
# if _MIPS_SIM==_ABI64
|
||||||
|
# ifdef __mips_soft_float
|
||||||
|
FFI_DEFAULT_ABI = FFI_N64_SOFT_FLOAT
|
||||||
|
# else
|
||||||
|
FFI_DEFAULT_ABI = FFI_N64
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# ifdef __mips_soft_float
|
||||||
|
FFI_DEFAULT_ABI = FFI_N32_SOFT_FLOAT
|
||||||
|
# else
|
||||||
|
FFI_DEFAULT_ABI = FFI_N32
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
} ffi_abi;
|
||||||
|
|
||||||
|
#define FFI_EXTRA_CIF_FIELDS unsigned rstruct_flag
|
||||||
|
#endif /* !LIBFFI_ASM */
|
||||||
|
|
||||||
|
/* ---- Definitions for closures ----------------------------------------- */
|
||||||
|
|
||||||
|
#if defined(FFI_MIPS_O32)
|
||||||
|
#define FFI_CLOSURES 1
|
||||||
|
#define FFI_TRAMPOLINE_SIZE 20
|
||||||
|
#else
|
||||||
|
/* N32/N64. */
|
||||||
|
# define FFI_CLOSURES 1
|
||||||
|
#if _MIPS_SIM==_ABI64
|
||||||
|
#define FFI_TRAMPOLINE_SIZE 52
|
||||||
|
#else
|
||||||
|
#define FFI_TRAMPOLINE_SIZE 20
|
||||||
|
#endif
|
||||||
|
#endif /* FFI_MIPS_O32 */
|
||||||
|
#define FFI_NATIVE_RAW_API 0
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
0
.pc/more-openbsd/.timestamp
Normal file
0
.pc/more-openbsd/.timestamp
Normal file
4595
.pc/more-openbsd/ChangeLog
Normal file
4595
.pc/more-openbsd/ChangeLog
Normal file
File diff suppressed because it is too large
Load Diff
17191
.pc/more-openbsd/configure
vendored
Executable file
17191
.pc/more-openbsd/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
496
.pc/more-openbsd/configure.ac
Normal file
496
.pc/more-openbsd/configure.ac
Normal file
@@ -0,0 +1,496 @@
|
|||||||
|
dnl Process this with autoconf to create configure
|
||||||
|
|
||||||
|
AC_PREREQ(2.63)
|
||||||
|
|
||||||
|
AC_INIT([libffi], [3.0.10rc10], [http://sourceware.org/libffi.html])
|
||||||
|
AC_CONFIG_HEADERS([fficonfig.h])
|
||||||
|
|
||||||
|
AC_CANONICAL_SYSTEM
|
||||||
|
target_alias=${target_alias-$host_alias}
|
||||||
|
|
||||||
|
. ${srcdir}/configure.host
|
||||||
|
|
||||||
|
AX_ENABLE_BUILDDIR
|
||||||
|
|
||||||
|
AM_INIT_AUTOMAKE
|
||||||
|
|
||||||
|
# The same as in boehm-gc and libstdc++. Have to borrow it from there.
|
||||||
|
# We must force CC to /not/ be precious variables; otherwise
|
||||||
|
# the wrong, non-multilib-adjusted value will be used in multilibs.
|
||||||
|
# As a side effect, we have to subst CFLAGS ourselves.
|
||||||
|
# Also save and restore CFLAGS, since AC_PROG_CC will come up with
|
||||||
|
# defaults of its own if none are provided.
|
||||||
|
|
||||||
|
m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
|
||||||
|
m4_define([_AC_ARG_VAR_PRECIOUS],[])
|
||||||
|
save_CFLAGS=$CFLAGS
|
||||||
|
AC_PROG_CC
|
||||||
|
CFLAGS=$save_CFLAGS
|
||||||
|
m4_undefine([_AC_ARG_VAR_PRECIOUS])
|
||||||
|
m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
|
||||||
|
|
||||||
|
AC_SUBST(CFLAGS)
|
||||||
|
|
||||||
|
AM_PROG_AS
|
||||||
|
AM_PROG_CC_C_O
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
|
||||||
|
AX_CC_MAXOPT
|
||||||
|
AX_CFLAGS_WARN_ALL
|
||||||
|
if test "x$GCC" = "xyes"; then
|
||||||
|
CFLAGS="$CFLAGS -fexceptions"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_MAINTAINER_MODE
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS(sys/mman.h)
|
||||||
|
AC_CHECK_FUNCS(mmap)
|
||||||
|
AC_FUNC_MMAP_BLACKLIST
|
||||||
|
|
||||||
|
dnl The -no-testsuite modules omit the test subdir.
|
||||||
|
AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
|
||||||
|
|
||||||
|
TARGETDIR="unknown"
|
||||||
|
case "$host" in
|
||||||
|
alpha*-*-*)
|
||||||
|
TARGET=ALPHA; TARGETDIR=alpha;
|
||||||
|
# Support 128-bit long double, changeable via command-line switch.
|
||||||
|
HAVE_LONG_DOUBLE='defined(__LONG_DOUBLE_128__)'
|
||||||
|
;;
|
||||||
|
|
||||||
|
arm*-*-*)
|
||||||
|
TARGET=ARM; TARGETDIR=arm
|
||||||
|
;;
|
||||||
|
|
||||||
|
amd64-*-freebsd* | amd64-*-openbsd*)
|
||||||
|
TARGET=X86_64; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
|
||||||
|
amd64-*-freebsd*)
|
||||||
|
TARGET=X86_64; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
|
||||||
|
avr32*-*-*)
|
||||||
|
TARGET=AVR32; TARGETDIR=avr32
|
||||||
|
;;
|
||||||
|
|
||||||
|
cris-*-*)
|
||||||
|
TARGET=LIBFFI_CRIS; TARGETDIR=cris
|
||||||
|
;;
|
||||||
|
|
||||||
|
frv-*-*)
|
||||||
|
TARGET=FRV; TARGETDIR=frv
|
||||||
|
;;
|
||||||
|
|
||||||
|
hppa*-*-linux* | parisc*-*-linux*)
|
||||||
|
TARGET=PA_LINUX; TARGETDIR=pa
|
||||||
|
;;
|
||||||
|
hppa*64-*-hpux*)
|
||||||
|
TARGET=PA64_HPUX; TARGETDIR=pa
|
||||||
|
;;
|
||||||
|
hppa*-*-hpux*)
|
||||||
|
TARGET=PA_HPUX; TARGETDIR=pa
|
||||||
|
;;
|
||||||
|
|
||||||
|
i?86-*-freebsd* | i?86-*-openbsd*)
|
||||||
|
TARGET=X86_FREEBSD; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
i?86-win32* | i?86-*-cygwin* | i?86-*-mingw* | i?86-*-os2* | i?86-*-interix*)
|
||||||
|
TARGET=X86_WIN32; 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
|
||||||
|
;;
|
||||||
|
i?86-*-darwin*)
|
||||||
|
TARGET=X86_DARWIN; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
i?86-*-solaris2.1[[0-9]]*)
|
||||||
|
TARGET=X86_64; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
i?86-*-*)
|
||||||
|
TARGET=X86; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
|
||||||
|
ia64*-*-*)
|
||||||
|
TARGET=IA64; TARGETDIR=ia64
|
||||||
|
;;
|
||||||
|
|
||||||
|
m32r*-*-*)
|
||||||
|
TARGET=M32R; TARGETDIR=m32r
|
||||||
|
;;
|
||||||
|
|
||||||
|
m68k-*-*)
|
||||||
|
TARGET=M68K; TARGETDIR=m68k
|
||||||
|
;;
|
||||||
|
|
||||||
|
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||||
|
TARGET=MIPS; TARGETDIR=mips
|
||||||
|
;;
|
||||||
|
mips*-*-linux*)
|
||||||
|
# Support 128-bit long double for NewABI.
|
||||||
|
HAVE_LONG_DOUBLE='defined(__mips64)'
|
||||||
|
TARGET=MIPS; TARGETDIR=mips
|
||||||
|
;;
|
||||||
|
|
||||||
|
powerpc*-*-linux* | powerpc-*-sysv*)
|
||||||
|
TARGET=POWERPC; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
powerpc-*-beos*)
|
||||||
|
TARGET=POWERPC; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
powerpc-*-darwin* | powerpc64-*-darwin*)
|
||||||
|
TARGET=POWERPC_DARWIN; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
powerpc-*-aix* | rs6000-*-aix*)
|
||||||
|
TARGET=POWERPC_AIX; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
powerpc-*-freebsd*)
|
||||||
|
TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
powerpc64-*-freebsd*)
|
||||||
|
TARGET=POWERPC; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
powerpc*-*-rtems*)
|
||||||
|
TARGET=POWERPC; TARGETDIR=powerpc
|
||||||
|
;;
|
||||||
|
|
||||||
|
s390-*-* | s390x-*-*)
|
||||||
|
TARGET=S390; TARGETDIR=s390
|
||||||
|
;;
|
||||||
|
|
||||||
|
sh-*-* | sh[[34]]*-*-*)
|
||||||
|
TARGET=SH; TARGETDIR=sh
|
||||||
|
;;
|
||||||
|
sh64-*-* | sh5*-*-*)
|
||||||
|
TARGET=SH64; TARGETDIR=sh64
|
||||||
|
;;
|
||||||
|
|
||||||
|
sparc*-*-*)
|
||||||
|
TARGET=SPARC; TARGETDIR=sparc
|
||||||
|
;;
|
||||||
|
|
||||||
|
x86_64-*-darwin*)
|
||||||
|
TARGET=X86_DARWIN; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
|
||||||
|
x86_64-*-cygwin* | x86_64-*-mingw*)
|
||||||
|
TARGET=X86_WIN64; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
|
||||||
|
x86_64-*-*)
|
||||||
|
TARGET=X86_64; TARGETDIR=x86
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
AC_SUBST(AM_RUNTESTFLAGS)
|
||||||
|
AC_SUBST(AM_LTLDFLAGS)
|
||||||
|
|
||||||
|
if test $TARGETDIR = unknown; then
|
||||||
|
AC_MSG_ERROR(["libffi has not been ported to $host."])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(MIPS, test x$TARGET = xMIPS)
|
||||||
|
AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
|
||||||
|
AM_CONDITIONAL(X86, test x$TARGET = xX86)
|
||||||
|
AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
|
||||||
|
AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
|
||||||
|
AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
|
||||||
|
AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
|
||||||
|
AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
|
||||||
|
AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
|
||||||
|
AM_CONDITIONAL(M32R, test x$TARGET = xM32R)
|
||||||
|
AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
|
||||||
|
AM_CONDITIONAL(MOXIE, test x$TARGET = xMOXIE)
|
||||||
|
AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
|
||||||
|
AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
|
||||||
|
AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
|
||||||
|
AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
|
||||||
|
AM_CONDITIONAL(ARM, test x$TARGET = xARM)
|
||||||
|
AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
|
||||||
|
AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
|
||||||
|
AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
|
||||||
|
AM_CONDITIONAL(S390, test x$TARGET = xS390)
|
||||||
|
AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
|
||||||
|
AM_CONDITIONAL(SH, test x$TARGET = xSH)
|
||||||
|
AM_CONDITIONAL(SH64, test x$TARGET = xSH64)
|
||||||
|
AM_CONDITIONAL(PA_LINUX, test x$TARGET = xPA_LINUX)
|
||||||
|
AM_CONDITIONAL(PA_HPUX, test x$TARGET = xPA_HPUX)
|
||||||
|
AM_CONDITIONAL(PA64_HPUX, test x$TARGET = xPA64_HPUX)
|
||||||
|
|
||||||
|
AC_HEADER_STDC
|
||||||
|
AC_CHECK_FUNCS(memcpy)
|
||||||
|
AC_FUNC_ALLOCA
|
||||||
|
|
||||||
|
AC_CHECK_SIZEOF(double)
|
||||||
|
AC_CHECK_SIZEOF(long double)
|
||||||
|
|
||||||
|
# Also AC_SUBST this variable for ffi.h.
|
||||||
|
if test -z "$HAVE_LONG_DOUBLE"; then
|
||||||
|
HAVE_LONG_DOUBLE=0
|
||||||
|
if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
|
||||||
|
if test $ac_cv_sizeof_long_double != 0; then
|
||||||
|
HAVE_LONG_DOUBLE=1
|
||||||
|
AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the long double type and it is bigger than a double])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST(HAVE_LONG_DOUBLE)
|
||||||
|
|
||||||
|
AC_C_BIGENDIAN
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([assembler .cfi pseudo-op support],
|
||||||
|
libffi_cv_as_cfi_pseudo_op, [
|
||||||
|
libffi_cv_as_cfi_pseudo_op=unknown
|
||||||
|
AC_TRY_COMPILE([asm (".cfi_startproc\n\t.cfi_endproc");],,
|
||||||
|
[libffi_cv_as_cfi_pseudo_op=yes],
|
||||||
|
[libffi_cv_as_cfi_pseudo_op=no])
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_as_cfi_pseudo_op" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_CFI_PSEUDO_OP, 1,
|
||||||
|
[Define if your assembler supports .cfi_* directives.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x$TARGET = xSPARC; then
|
||||||
|
AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
|
||||||
|
libffi_cv_as_sparc_ua_pcrel, [
|
||||||
|
save_CFLAGS="$CFLAGS"
|
||||||
|
save_LDFLAGS="$LDFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -fpic"
|
||||||
|
LDFLAGS="$LDFLAGS -shared"
|
||||||
|
AC_TRY_LINK([asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");],,
|
||||||
|
[libffi_cv_as_sparc_ua_pcrel=yes],
|
||||||
|
[libffi_cv_as_sparc_ua_pcrel=no])
|
||||||
|
CFLAGS="$save_CFLAGS"
|
||||||
|
LDFLAGS="$save_LDFLAGS"])
|
||||||
|
if test "x$libffi_cv_as_sparc_ua_pcrel" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
|
||||||
|
[Define if your assembler and linker support unaligned PC relative relocs.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([assembler .register pseudo-op support],
|
||||||
|
libffi_cv_as_register_pseudo_op, [
|
||||||
|
libffi_cv_as_register_pseudo_op=unknown
|
||||||
|
# Check if we have .register
|
||||||
|
AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
|
||||||
|
[libffi_cv_as_register_pseudo_op=yes],
|
||||||
|
[libffi_cv_as_register_pseudo_op=no])
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
|
||||||
|
[Define if your assembler supports .register.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
|
||||||
|
AC_CACHE_CHECK([assembler supports pc related relocs],
|
||||||
|
libffi_cv_as_x86_pcrel, [
|
||||||
|
libffi_cv_as_x86_pcrel=no
|
||||||
|
echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
|
||||||
|
if $CC $CFLAGS -c conftest.s > /dev/null; then
|
||||||
|
libffi_cv_as_x86_pcrel=yes
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_as_x86_pcrel" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_X86_PCREL, 1,
|
||||||
|
[Define if your assembler supports PC relative relocs.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([assembler .ascii pseudo-op support],
|
||||||
|
libffi_cv_as_ascii_pseudo_op, [
|
||||||
|
libffi_cv_as_ascii_pseudo_op=unknown
|
||||||
|
# Check if we have .ascii
|
||||||
|
AC_TRY_COMPILE([asm (".ascii \\"string\\"");],,
|
||||||
|
[libffi_cv_as_ascii_pseudo_op=yes],
|
||||||
|
[libffi_cv_as_ascii_pseudo_op=no])
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_ASCII_PSEUDO_OP, 1,
|
||||||
|
[Define if your assembler supports .ascii.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([assembler .string pseudo-op support],
|
||||||
|
libffi_cv_as_string_pseudo_op, [
|
||||||
|
libffi_cv_as_string_pseudo_op=unknown
|
||||||
|
# Check if we have .string
|
||||||
|
AC_TRY_COMPILE([asm (".string \\"string\\"");],,
|
||||||
|
[libffi_cv_as_string_pseudo_op=yes],
|
||||||
|
[libffi_cv_as_string_pseudo_op=no])
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_as_string_pseudo_op" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_STRING_PSEUDO_OP, 1,
|
||||||
|
[Define if your assembler supports .string.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x$TARGET = xX86_WIN64; then
|
||||||
|
LT_SYS_SYMBOL_USCORE
|
||||||
|
if test "x$sys_symbol_underscore" = xyes; then
|
||||||
|
AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
FFI_EXEC_TRAMPOLINE_TABLE=0
|
||||||
|
case "$target" in
|
||||||
|
*arm*-apple-darwin*)
|
||||||
|
FFI_EXEC_TRAMPOLINE_TABLE=1
|
||||||
|
AC_DEFINE(FFI_EXEC_TRAMPOLINE_TABLE, 1,
|
||||||
|
[Cannot use PROT_EXEC on this target, so, we revert to
|
||||||
|
alternative means])
|
||||||
|
;;
|
||||||
|
*-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
|
||||||
|
AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
|
||||||
|
[Cannot use malloc on this target, so, we revert to
|
||||||
|
alternative means])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
|
||||||
|
AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
|
||||||
|
|
||||||
|
if test x$TARGET = xX86_64; then
|
||||||
|
AC_CACHE_CHECK([assembler supports unwind section type],
|
||||||
|
libffi_cv_as_x86_64_unwind_section_type, [
|
||||||
|
libffi_cv_as_x86_64_unwind_section_type=yes
|
||||||
|
echo '.section .eh_frame,"a",@unwind' > conftest.s
|
||||||
|
if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
|
||||||
|
libffi_cv_as_x86_64_unwind_section_type=no
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_AS_X86_64_UNWIND_SECTION_TYPE, 1,
|
||||||
|
[Define if your assembler supports unwind section type.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$GCC" = "xyes"; then
|
||||||
|
AC_CACHE_CHECK([whether .eh_frame section should be read-only],
|
||||||
|
libffi_cv_ro_eh_frame, [
|
||||||
|
libffi_cv_ro_eh_frame=no
|
||||||
|
echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
|
||||||
|
if $CC $CFLAGS -S -fpic -fexceptions -o conftest.s conftest.c > /dev/null 2>&1; then
|
||||||
|
if grep '.section.*eh_frame.*"a"' conftest.s > /dev/null; then
|
||||||
|
libffi_cv_ro_eh_frame=yes
|
||||||
|
elif grep '.section.*eh_frame.*#alloc' conftest.c \
|
||||||
|
| grep -v '#write' > /dev/null; then
|
||||||
|
libffi_cv_ro_eh_frame=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rm -f conftest.*
|
||||||
|
])
|
||||||
|
if test "x$libffi_cv_ro_eh_frame" = xyes; then
|
||||||
|
AC_DEFINE(HAVE_RO_EH_FRAME, 1,
|
||||||
|
[Define if .eh_frame sections should be read-only.])
|
||||||
|
AC_DEFINE(EH_FRAME_FLAGS, "a",
|
||||||
|
[Define to the flags needed for the .section .eh_frame directive. ])
|
||||||
|
else
|
||||||
|
AC_DEFINE(EH_FRAME_FLAGS, "aw",
|
||||||
|
[Define to the flags needed for the .section .eh_frame directive. ])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
|
||||||
|
libffi_cv_hidden_visibility_attribute, [
|
||||||
|
echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1 ; }' > conftest.c
|
||||||
|
libffi_cv_hidden_visibility_attribute=no
|
||||||
|
if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
|
||||||
|
if grep '\.hidden.*foo' conftest.s >/dev/null; then
|
||||||
|
libffi_cv_hidden_visibility_attribute=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rm -f conftest.*
|
||||||
|
])
|
||||||
|
if test $libffi_cv_hidden_visibility_attribute = yes; then
|
||||||
|
AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
|
||||||
|
[Define if __attribute__((visibility("hidden"))) is supported.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AH_BOTTOM([
|
||||||
|
#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
|
||||||
|
#ifdef LIBFFI_ASM
|
||||||
|
#define FFI_HIDDEN(name) .hidden name
|
||||||
|
#else
|
||||||
|
#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#ifdef LIBFFI_ASM
|
||||||
|
#define FFI_HIDDEN(name)
|
||||||
|
#else
|
||||||
|
#define FFI_HIDDEN
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_SUBST(TARGET)
|
||||||
|
AC_SUBST(TARGETDIR)
|
||||||
|
|
||||||
|
AC_SUBST(SHELL)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(debug,
|
||||||
|
[ --enable-debug debugging mode],
|
||||||
|
if test "$enable_debug" = "yes"; then
|
||||||
|
AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.])
|
||||||
|
fi)
|
||||||
|
AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes")
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(structs,
|
||||||
|
[ --disable-structs omit code for struct support],
|
||||||
|
if test "$enable_structs" = "no"; then
|
||||||
|
AC_DEFINE(FFI_NO_STRUCTS, 1, [Define this is you do not want support for aggregate types.])
|
||||||
|
fi)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(raw-api,
|
||||||
|
[ --disable-raw-api make the raw api unavailable],
|
||||||
|
if test "$enable_raw_api" = "no"; then
|
||||||
|
AC_DEFINE(FFI_NO_RAW_API, 1, [Define this is you do not want support for the raw API.])
|
||||||
|
fi)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(purify-safety,
|
||||||
|
[ --enable-purify-safety purify-safe mode],
|
||||||
|
if test "$enable_purify_safety" = "yes"; then
|
||||||
|
AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
|
||||||
|
fi)
|
||||||
|
|
||||||
|
# These variables are only ever used when we cross-build to X86_WIN32.
|
||||||
|
# And we only support this with GCC, so...
|
||||||
|
if test x"$GCC" != x"no"; then
|
||||||
|
if test -n "$with_cross_host" &&
|
||||||
|
test x"$with_cross_host" != x"no"; then
|
||||||
|
toolexecdir='$(exec_prefix)/$(target_alias)'
|
||||||
|
toolexeclibdir='$(toolexecdir)/lib'
|
||||||
|
else
|
||||||
|
toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
|
||||||
|
toolexeclibdir='$(libdir)'
|
||||||
|
fi
|
||||||
|
multi_os_directory=`$CC -print-multi-os-directory`
|
||||||
|
case $multi_os_directory in
|
||||||
|
.) ;; # Avoid trailing /.
|
||||||
|
*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
|
||||||
|
esac
|
||||||
|
AC_SUBST(toolexecdir)
|
||||||
|
AC_SUBST(toolexeclibdir)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "${multilib}" = "yes"; then
|
||||||
|
multilib_arg="--enable-multilib"
|
||||||
|
else
|
||||||
|
multilib_arg=
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
|
||||||
|
AC_CONFIG_COMMANDS(src, [
|
||||||
|
test -d src || mkdir src
|
||||||
|
test -d src/$TARGETDIR || mkdir src/$TARGETDIR
|
||||||
|
], [TARGETDIR="$TARGETDIR"])
|
||||||
|
|
||||||
|
AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
|
||||||
|
|
||||||
|
AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile libffi.pc)
|
||||||
|
|
||||||
|
AC_OUTPUT
|
||||||
@@ -73,8 +73,10 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
|||||||
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
||||||
mdate-sh missing texinfo.tex
|
mdate-sh missing texinfo.tex
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
|
||||||
$(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
|
|||||||
@@ -81,7 +81,8 @@
|
|||||||
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
|
|
||||||
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
aggregate return ABI.
|
aggregate return ABI. Flush cache.
|
||||||
|
(ffi_prep_closure_loc): Flush cache.
|
||||||
|
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
|||||||
30
.pc/ppc64-darwin/configure
vendored
30
.pc/ppc64-darwin/configure
vendored
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc9.
|
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc10.
|
||||||
#
|
#
|
||||||
# Report bugs to <http://sourceware.org/libffi.html>.
|
# Report bugs to <http://sourceware.org/libffi.html>.
|
||||||
#
|
#
|
||||||
@@ -570,8 +570,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='libffi'
|
PACKAGE_NAME='libffi'
|
||||||
PACKAGE_TARNAME='libffi'
|
PACKAGE_TARNAME='libffi'
|
||||||
PACKAGE_VERSION='3.0.10rc9'
|
PACKAGE_VERSION='3.0.10rc10'
|
||||||
PACKAGE_STRING='libffi 3.0.10rc9'
|
PACKAGE_STRING='libffi 3.0.10rc10'
|
||||||
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
@@ -1367,7 +1367,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures libffi 3.0.10rc9 to adapt to many kinds of systems.
|
\`configure' configures libffi 3.0.10rc10 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -1438,7 +1438,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of libffi 3.0.10rc9:";;
|
short | recursive ) echo "Configuration of libffi 3.0.10rc10:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -1547,7 +1547,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
libffi configure 3.0.10rc9
|
libffi configure 3.0.10rc10
|
||||||
generated by GNU Autoconf 2.68
|
generated by GNU Autoconf 2.68
|
||||||
|
|
||||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
@@ -2148,7 +2148,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by libffi $as_me 3.0.10rc9, which was
|
It was created by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@@ -3081,7 +3081,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='libffi'
|
PACKAGE='libffi'
|
||||||
VERSION='3.0.10rc9'
|
VERSION='3.0.10rc10'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@@ -8295,6 +8295,10 @@ _lt_linker_boilerplate=`cat conftest.err`
|
|||||||
$RM -r conftest*
|
$RM -r conftest*
|
||||||
|
|
||||||
|
|
||||||
|
## CAVEAT EMPTOR:
|
||||||
|
## There is no encapsulation within the following macros, do not change
|
||||||
|
## the running order or otherwise move them around unless you know exactly
|
||||||
|
## what you are doing...
|
||||||
if test -n "$compiler"; then
|
if test -n "$compiler"; then
|
||||||
|
|
||||||
lt_prog_compiler_no_builtin_flag=
|
lt_prog_compiler_no_builtin_flag=
|
||||||
@@ -10845,14 +10849,10 @@ fi
|
|||||||
# before this can be enabled.
|
# before this can be enabled.
|
||||||
hardcode_into_libs=yes
|
hardcode_into_libs=yes
|
||||||
|
|
||||||
# Add ABI-specific directories to the system library path.
|
|
||||||
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
|
|
||||||
|
|
||||||
# Append ld.so.conf contents to the search path
|
# Append ld.so.conf contents to the search path
|
||||||
if test -f /etc/ld.so.conf; then
|
if test -f /etc/ld.so.conf; then
|
||||||
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
||||||
sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
|
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
||||||
@@ -14129,7 +14129,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by libffi $as_me 3.0.10rc9, which was
|
This file was extended by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@@ -14199,7 +14199,7 @@ _ACEOF
|
|||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
libffi config.status 3.0.10rc9
|
libffi config.status 3.0.10rc10
|
||||||
configured by $0, generated by GNU Autoconf 2.68,
|
configured by $0, generated by GNU Autoconf 2.68,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ dnl Process this with autoconf to create configure
|
|||||||
|
|
||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
|
|
||||||
AC_INIT([libffi], [3.0.10rc9], [http://sourceware.org/libffi.html])
|
AC_INIT([libffi], [3.0.10rc10], [http://sourceware.org/libffi.html])
|
||||||
AC_CONFIG_HEADERS([fficonfig.h])
|
AC_CONFIG_HEADERS([fficonfig.h])
|
||||||
|
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
|
|||||||
@@ -93,7 +93,8 @@
|
|||||||
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
|
|
||||||
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
aggregate return ABI.
|
aggregate return ABI. Flush cache.
|
||||||
|
(ffi_prep_closure_loc): Flush cache.
|
||||||
|
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
/* -----------------------------------------------------------------------
|
/* -----------------------------------------------------------------------
|
||||||
ffi.c - Copyright (c) 1996, 2003, 2004, 2007, 2008 Red Hat, Inc.
|
ffi.c - Copyright (c) 1996, 2003, 2004, 2007, 2008 Red Hat, Inc.
|
||||||
|
Copyright (c) 2011 Anthony Green
|
||||||
|
|
||||||
SPARC Foreign Function Interface
|
SPARC Foreign Function Interface
|
||||||
|
|
||||||
@@ -431,6 +432,10 @@ void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
|
|||||||
call_struct[5] = 0x01000000; /* nop */
|
call_struct[5] = 0x01000000; /* nop */
|
||||||
call_struct[6] = 0x81c7e008; /* ret */
|
call_struct[6] = 0x81c7e008; /* ret */
|
||||||
call_struct[7] = 0xbe100017; /* mov %l7, %i7 */
|
call_struct[7] = 0xbe100017; /* mov %l7, %i7 */
|
||||||
|
asm volatile ("iflush %0; iflush %0+8; iflush %0+16; iflush %0+24" : :
|
||||||
|
"r" (call_struct) : "memory");
|
||||||
|
/* SPARC v8 requires 5 instructions for flush to be visible */
|
||||||
|
asm volatile ("nop; nop; nop; nop; nop");
|
||||||
ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes,
|
ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes,
|
||||||
cif->flags, rvalue, call_struct);
|
cif->flags, rvalue, call_struct);
|
||||||
ffi_closure_free(call_struct);
|
ffi_closure_free(call_struct);
|
||||||
@@ -463,7 +468,6 @@ void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
|
|||||||
FFI_ASSERT(0);
|
FFI_ASSERT(0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -506,13 +510,13 @@ ffi_prep_closure_loc (ffi_closure* closure,
|
|||||||
closure->fun = fun;
|
closure->fun = fun;
|
||||||
closure->user_data = user_data;
|
closure->user_data = user_data;
|
||||||
|
|
||||||
/* Flush the Icache. FIXME: alignment isn't certain, assume 8 bytes */
|
/* Flush the Icache. closure is 8 bytes aligned. */
|
||||||
#ifdef SPARC64
|
#ifdef SPARC64
|
||||||
asm volatile ("flush %0" : : "r" (closure) : "memory");
|
asm volatile ("flush %0; flush %0+8" : : "r" (closure) : "memory");
|
||||||
asm volatile ("flush %0" : : "r" (((char *) closure) + 8) : "memory");
|
|
||||||
#else
|
#else
|
||||||
asm volatile ("iflush %0" : : "r" (closure) : "memory");
|
asm volatile ("iflush %0; iflush %0+8" : : "r" (closure) : "memory");
|
||||||
asm volatile ("iflush %0" : : "r" (((char *) closure) + 8) : "memory");
|
/* SPARC v8 requires 5 instructions for flush to be visible */
|
||||||
|
asm volatile ("nop; nop; nop; nop; nop");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return FFI_OK;
|
return FFI_OK;
|
||||||
|
|||||||
@@ -75,8 +75,10 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
|||||||
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
||||||
mdate-sh missing texinfo.tex
|
mdate-sh missing texinfo.tex
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
|
||||||
$(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ dnl Process this with autoconf to create configure
|
|||||||
|
|
||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
|
|
||||||
AC_INIT([libffi], [3.0.10rc9], [http://sourceware.org/libffi.html])
|
AC_INIT([libffi], [3.0.10rc10], [http://sourceware.org/libffi.html])
|
||||||
AC_CONFIG_HEADERS([fficonfig.h])
|
AC_CONFIG_HEADERS([fficonfig.h])
|
||||||
|
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
|
|||||||
8436
.pc/win64-underscore/aclocal.m4
vendored
8436
.pc/win64-underscore/aclocal.m4
vendored
File diff suppressed because it is too large
Load Diff
30
.pc/win64-underscore/configure
vendored
30
.pc/win64-underscore/configure
vendored
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc9.
|
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc10.
|
||||||
#
|
#
|
||||||
# Report bugs to <http://sourceware.org/libffi.html>.
|
# Report bugs to <http://sourceware.org/libffi.html>.
|
||||||
#
|
#
|
||||||
@@ -570,8 +570,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='libffi'
|
PACKAGE_NAME='libffi'
|
||||||
PACKAGE_TARNAME='libffi'
|
PACKAGE_TARNAME='libffi'
|
||||||
PACKAGE_VERSION='3.0.10rc9'
|
PACKAGE_VERSION='3.0.10rc10'
|
||||||
PACKAGE_STRING='libffi 3.0.10rc9'
|
PACKAGE_STRING='libffi 3.0.10rc10'
|
||||||
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
@@ -1366,7 +1366,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures libffi 3.0.10rc9 to adapt to many kinds of systems.
|
\`configure' configures libffi 3.0.10rc10 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -1437,7 +1437,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of libffi 3.0.10rc9:";;
|
short | recursive ) echo "Configuration of libffi 3.0.10rc10:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -1546,7 +1546,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
libffi configure 3.0.10rc9
|
libffi configure 3.0.10rc10
|
||||||
generated by GNU Autoconf 2.68
|
generated by GNU Autoconf 2.68
|
||||||
|
|
||||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
@@ -2147,7 +2147,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by libffi $as_me 3.0.10rc9, which was
|
It was created by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@@ -3080,7 +3080,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='libffi'
|
PACKAGE='libffi'
|
||||||
VERSION='3.0.10rc9'
|
VERSION='3.0.10rc10'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@@ -8294,6 +8294,10 @@ _lt_linker_boilerplate=`cat conftest.err`
|
|||||||
$RM -r conftest*
|
$RM -r conftest*
|
||||||
|
|
||||||
|
|
||||||
|
## CAVEAT EMPTOR:
|
||||||
|
## There is no encapsulation within the following macros, do not change
|
||||||
|
## the running order or otherwise move them around unless you know exactly
|
||||||
|
## what you are doing...
|
||||||
if test -n "$compiler"; then
|
if test -n "$compiler"; then
|
||||||
|
|
||||||
lt_prog_compiler_no_builtin_flag=
|
lt_prog_compiler_no_builtin_flag=
|
||||||
@@ -10844,14 +10848,10 @@ fi
|
|||||||
# before this can be enabled.
|
# before this can be enabled.
|
||||||
hardcode_into_libs=yes
|
hardcode_into_libs=yes
|
||||||
|
|
||||||
# Add ABI-specific directories to the system library path.
|
|
||||||
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
|
|
||||||
|
|
||||||
# Append ld.so.conf contents to the search path
|
# Append ld.so.conf contents to the search path
|
||||||
if test -f /etc/ld.so.conf; then
|
if test -f /etc/ld.so.conf; then
|
||||||
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
||||||
sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
|
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
||||||
@@ -14071,7 +14071,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by libffi $as_me 3.0.10rc9, which was
|
This file was extended by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@@ -14141,7 +14141,7 @@ _ACEOF
|
|||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
libffi config.status 3.0.10rc9
|
libffi config.status 3.0.10rc10
|
||||||
configured by $0, generated by GNU Autoconf 2.68,
|
configured by $0, generated by GNU Autoconf 2.68,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ dnl Process this with autoconf to create configure
|
|||||||
|
|
||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
|
|
||||||
AC_INIT([libffi], [3.0.10rc9], [http://sourceware.org/libffi.html])
|
AC_INIT([libffi], [3.0.10rc10], [http://sourceware.org/libffi.html])
|
||||||
AC_CONFIG_HEADERS([fficonfig.h])
|
AC_CONFIG_HEADERS([fficonfig.h])
|
||||||
|
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
|
|||||||
30
.pc/x86_pcrel_test/configure
vendored
30
.pc/x86_pcrel_test/configure
vendored
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc9.
|
# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc10.
|
||||||
#
|
#
|
||||||
# Report bugs to <http://sourceware.org/libffi.html>.
|
# Report bugs to <http://sourceware.org/libffi.html>.
|
||||||
#
|
#
|
||||||
@@ -570,8 +570,8 @@ MAKEFLAGS=
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='libffi'
|
PACKAGE_NAME='libffi'
|
||||||
PACKAGE_TARNAME='libffi'
|
PACKAGE_TARNAME='libffi'
|
||||||
PACKAGE_VERSION='3.0.10rc9'
|
PACKAGE_VERSION='3.0.10rc10'
|
||||||
PACKAGE_STRING='libffi 3.0.10rc9'
|
PACKAGE_STRING='libffi 3.0.10rc10'
|
||||||
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
@@ -1367,7 +1367,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures libffi 3.0.10rc9 to adapt to many kinds of systems.
|
\`configure' configures libffi 3.0.10rc10 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -1438,7 +1438,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of libffi 3.0.10rc9:";;
|
short | recursive ) echo "Configuration of libffi 3.0.10rc10:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -1547,7 +1547,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
libffi configure 3.0.10rc9
|
libffi configure 3.0.10rc10
|
||||||
generated by GNU Autoconf 2.68
|
generated by GNU Autoconf 2.68
|
||||||
|
|
||||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
@@ -2148,7 +2148,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by libffi $as_me 3.0.10rc9, which was
|
It was created by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@@ -3081,7 +3081,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='libffi'
|
PACKAGE='libffi'
|
||||||
VERSION='3.0.10rc9'
|
VERSION='3.0.10rc10'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@@ -8295,6 +8295,10 @@ _lt_linker_boilerplate=`cat conftest.err`
|
|||||||
$RM -r conftest*
|
$RM -r conftest*
|
||||||
|
|
||||||
|
|
||||||
|
## CAVEAT EMPTOR:
|
||||||
|
## There is no encapsulation within the following macros, do not change
|
||||||
|
## the running order or otherwise move them around unless you know exactly
|
||||||
|
## what you are doing...
|
||||||
if test -n "$compiler"; then
|
if test -n "$compiler"; then
|
||||||
|
|
||||||
lt_prog_compiler_no_builtin_flag=
|
lt_prog_compiler_no_builtin_flag=
|
||||||
@@ -10845,14 +10849,10 @@ fi
|
|||||||
# before this can be enabled.
|
# before this can be enabled.
|
||||||
hardcode_into_libs=yes
|
hardcode_into_libs=yes
|
||||||
|
|
||||||
# Add ABI-specific directories to the system library path.
|
|
||||||
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
|
|
||||||
|
|
||||||
# Append ld.so.conf contents to the search path
|
# Append ld.so.conf contents to the search path
|
||||||
if test -f /etc/ld.so.conf; then
|
if test -f /etc/ld.so.conf; then
|
||||||
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
||||||
sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
|
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
||||||
@@ -14127,7 +14127,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by libffi $as_me 3.0.10rc9, which was
|
This file was extended by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@@ -14197,7 +14197,7 @@ _ACEOF
|
|||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
libffi config.status 3.0.10rc9
|
libffi config.status 3.0.10rc10
|
||||||
configured by $0, generated by GNU Autoconf 2.68,
|
configured by $0, generated by GNU Autoconf 2.68,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ dnl Process this with autoconf to create configure
|
|||||||
|
|
||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
|
|
||||||
AC_INIT([libffi], [3.0.10rc9], [http://sourceware.org/libffi.html])
|
AC_INIT([libffi], [3.0.10rc10], [http://sourceware.org/libffi.html])
|
||||||
AC_CONFIG_HEADERS([fficonfig.h])
|
AC_CONFIG_HEADERS([fficonfig.h])
|
||||||
|
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
|
2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
|
||||||
|
|
||||||
|
* configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
|
||||||
|
* configure: Rebuilt.
|
||||||
|
|
||||||
2011-07-11 Andrew Haley <aph@redhat.com>
|
2011-07-11 Andrew Haley <aph@redhat.com>
|
||||||
|
|
||||||
* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
|
* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
|
||||||
@@ -130,7 +135,8 @@
|
|||||||
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
|
|
||||||
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
aggregate return ABI.
|
aggregate return ABI. Flush cache.
|
||||||
|
(ffi_prep_closure_loc): Flush cache.
|
||||||
|
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
|
|||||||
@@ -73,8 +73,10 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
|||||||
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
||||||
mdate-sh missing texinfo.tex
|
mdate-sh missing texinfo.tex
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
|
||||||
$(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
|
|||||||
8436
aclocal.m4
vendored
8436
aclocal.m4
vendored
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@ dnl Process this with autoconf to create configure
|
|||||||
|
|
||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
|
|
||||||
AC_INIT([libffi], [3.0.10rc9], [http://sourceware.org/libffi.html])
|
AC_INIT([libffi], [3.0.10rc10], [http://sourceware.org/libffi.html])
|
||||||
AC_CONFIG_HEADERS([fficonfig.h])
|
AC_CONFIG_HEADERS([fficonfig.h])
|
||||||
|
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
@@ -83,7 +83,7 @@ case "$host" in
|
|||||||
TARGET=FRV; TARGETDIR=frv
|
TARGET=FRV; TARGETDIR=frv
|
||||||
;;
|
;;
|
||||||
|
|
||||||
hppa*-*-linux* | parisc*-*-linux*)
|
hppa*-*-linux* | parisc*-*-linux* | hppa*-*-openbsd*)
|
||||||
TARGET=PA_LINUX; TARGETDIR=pa
|
TARGET=PA_LINUX; TARGETDIR=pa
|
||||||
;;
|
;;
|
||||||
hppa*64-*-hpux*)
|
hppa*64-*-hpux*)
|
||||||
@@ -133,7 +133,7 @@ case "$host" in
|
|||||||
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||||
TARGET=MIPS; TARGETDIR=mips
|
TARGET=MIPS; TARGETDIR=mips
|
||||||
;;
|
;;
|
||||||
mips*-*-linux*)
|
mips*-*-linux* | mips*-*-openbsd*)
|
||||||
# Support 128-bit long double for NewABI.
|
# Support 128-bit long double for NewABI.
|
||||||
HAVE_LONG_DOUBLE='defined(__mips64)'
|
HAVE_LONG_DOUBLE='defined(__mips64)'
|
||||||
TARGET=MIPS; TARGETDIR=mips
|
TARGET=MIPS; TARGETDIR=mips
|
||||||
@@ -151,7 +151,7 @@ case "$host" in
|
|||||||
powerpc-*-aix* | rs6000-*-aix*)
|
powerpc-*-aix* | rs6000-*-aix*)
|
||||||
TARGET=POWERPC_AIX; TARGETDIR=powerpc
|
TARGET=POWERPC_AIX; TARGETDIR=powerpc
|
||||||
;;
|
;;
|
||||||
powerpc-*-freebsd*)
|
powerpc-*-freebsd* | powerpc-*-openbsd*)
|
||||||
TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
|
TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
|
||||||
;;
|
;;
|
||||||
powerpc64-*-freebsd*)
|
powerpc64-*-freebsd*)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
This is /home/green/libffi/doc/libffi.info, produced by makeinfo
|
This is ../libffi/doc/libffi.info, produced by makeinfo version 4.13
|
||||||
version 4.13 from /home/green/libffi/doc/libffi.texi.
|
from ../libffi/doc/libffi.texi.
|
||||||
|
|
||||||
This manual is for Libffi, a portable foreign-function interface
|
This manual is for Libffi, a portable foreign-function interface
|
||||||
library.
|
library.
|
||||||
@@ -575,19 +575,19 @@ Index
|
|||||||
|
|
||||||
|
|
||||||
Tag Table:
|
Tag Table:
|
||||||
Node: Top724
|
Node: Top706
|
||||||
Node: Introduction1466
|
Node: Introduction1448
|
||||||
Node: Using libffi3102
|
Node: Using libffi3084
|
||||||
Node: The Basics3588
|
Node: The Basics3570
|
||||||
Node: Simple Example6374
|
Node: Simple Example6356
|
||||||
Node: Types7401
|
Node: Types7383
|
||||||
Node: Primitive Types7684
|
Node: Primitive Types7666
|
||||||
Node: Structures9504
|
Node: Structures9486
|
||||||
Node: Type Example10364
|
Node: Type Example10346
|
||||||
Node: Multiple ABIs11587
|
Node: Multiple ABIs11569
|
||||||
Node: The Closure API11958
|
Node: The Closure API11940
|
||||||
Node: Closure Example14902
|
Node: Closure Example14884
|
||||||
Node: Missing Features16461
|
Node: Missing Features16443
|
||||||
Node: Index16954
|
Node: Index16936
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@set UPDATED 14 February 2008
|
@set UPDATED 22 August 2011
|
||||||
@set UPDATED-MONTH February 2008
|
@set UPDATED-MONTH August 2011
|
||||||
@set EDITION 3.0.8
|
@set EDITION 3.0.10rc10
|
||||||
@set VERSION 3.0.8
|
@set VERSION 3.0.10rc10
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@set UPDATED 14 February 2008
|
@set UPDATED 22 August 2011
|
||||||
@set UPDATED-MONTH February 2008
|
@set UPDATED-MONTH August 2011
|
||||||
@set EDITION 3.0.8
|
@set EDITION 3.0.10rc10
|
||||||
@set VERSION 3.0.8
|
@set VERSION 3.0.10rc10
|
||||||
|
|||||||
@@ -179,6 +179,9 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||||
|
#undef size_t
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
|
#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
|
||||||
#ifdef LIBFFI_ASM
|
#ifdef LIBFFI_ASM
|
||||||
|
|||||||
@@ -39,8 +39,10 @@ subdir = include
|
|||||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||||
$(srcdir)/ffi.h.in
|
$(srcdir)/ffi.h.in
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
|
||||||
$(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
@@ -104,7 +106,6 @@ ECHO_N = @ECHO_N@
|
|||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
|
|
||||||
FGREP = @FGREP@
|
FGREP = @FGREP@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
|
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
|
||||||
@@ -194,7 +195,6 @@ psdir = @psdir@
|
|||||||
sbindir = @sbindir@
|
sbindir = @sbindir@
|
||||||
sharedstatedir = @sharedstatedir@
|
sharedstatedir = @sharedstatedir@
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
sys_symbol_underscore = @sys_symbol_underscore@
|
|
||||||
sysconfdir = @sysconfdir@
|
sysconfdir = @sysconfdir@
|
||||||
target = @target@
|
target = @target@
|
||||||
target_alias = @target_alias@
|
target_alias = @target_alias@
|
||||||
|
|||||||
@@ -37,8 +37,10 @@ target_triplet = @target@
|
|||||||
subdir = man
|
subdir = man
|
||||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
|
||||||
$(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
@@ -102,7 +104,6 @@ ECHO_N = @ECHO_N@
|
|||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
|
|
||||||
FGREP = @FGREP@
|
FGREP = @FGREP@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
|
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
|
||||||
@@ -192,7 +193,6 @@ psdir = @psdir@
|
|||||||
sbindir = @sbindir@
|
sbindir = @sbindir@
|
||||||
sharedstatedir = @sharedstatedir@
|
sharedstatedir = @sharedstatedir@
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
sys_symbol_underscore = @sys_symbol_underscore@
|
|
||||||
sysconfdir = @sysconfdir@
|
sysconfdir = @sysconfdir@
|
||||||
target = @target@
|
target = @target@
|
||||||
target_alias = @target_alias@
|
target_alias = @target_alias@
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ Index: libffi/Makefile.in
|
|||||||
subdir = .
|
subdir = .
|
||||||
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
||||||
$(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
|
$(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
|
||||||
@@ -484,7 +489,7 @@ nodist_libffi_la_SOURCES = $(am__append_
|
@@ -486,7 +491,7 @@ nodist_libffi_la_SOURCES = $(am__append_
|
||||||
$(am__append_24) $(am__append_25)
|
$(am__append_24) $(am__append_25)
|
||||||
libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
|
libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
|
||||||
nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
|
nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
|
||||||
|
|||||||
13
patches/interix-patch
Normal file
13
patches/interix-patch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
Index: libffi/src/closures.c
|
||||||
|
===================================================================
|
||||||
|
--- libffi.orig/src/closures.c
|
||||||
|
+++ libffi/src/closures.c
|
||||||
|
@@ -172,7 +172,7 @@ selinux_enabled_check (void)
|
||||||
|
|
||||||
|
#endif /* !FFI_MMAP_EXEC_SELINUX */
|
||||||
|
|
||||||
|
-#elif defined (__CYGWIN__)
|
||||||
|
+#elif defined (__CYGWIN__) || defined(__INTERIX)
|
||||||
|
|
||||||
|
#include <sys/mman.h>
|
||||||
|
|
||||||
20
patches/ios
20
patches/ios
@@ -149,7 +149,7 @@ Index: libffi/Makefile.in
|
|||||||
subdir = .
|
subdir = .
|
||||||
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
||||||
$(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
|
$(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
|
||||||
@@ -140,16 +141,17 @@ am_libffi_la_OBJECTS = src/debug.lo src/
|
@@ -142,16 +143,17 @@ am_libffi_la_OBJECTS = src/debug.lo src/
|
||||||
@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
|
@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
|
||||||
@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
|
@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
|
||||||
@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
|
@ARM_TRUE@am__objects_16 = src/arm/sysv.lo src/arm/ffi.lo
|
||||||
@@ -176,7 +176,7 @@ Index: libffi/Makefile.in
|
|||||||
nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
|
nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
|
||||||
$(am__objects_3) $(am__objects_4) $(am__objects_5) \
|
$(am__objects_3) $(am__objects_4) $(am__objects_5) \
|
||||||
$(am__objects_6) $(am__objects_7) $(am__objects_8) \
|
$(am__objects_6) $(am__objects_7) $(am__objects_8) \
|
||||||
@@ -158,17 +160,17 @@ nodist_libffi_la_OBJECTS = $(am__objects
|
@@ -160,17 +162,17 @@ nodist_libffi_la_OBJECTS = $(am__objects
|
||||||
$(am__objects_15) $(am__objects_16) $(am__objects_17) \
|
$(am__objects_15) $(am__objects_16) $(am__objects_17) \
|
||||||
$(am__objects_18) $(am__objects_19) $(am__objects_20) \
|
$(am__objects_18) $(am__objects_19) $(am__objects_20) \
|
||||||
$(am__objects_21) $(am__objects_22) $(am__objects_23) \
|
$(am__objects_21) $(am__objects_22) $(am__objects_23) \
|
||||||
@@ -198,7 +198,7 @@ Index: libffi/Makefile.in
|
|||||||
$(am__objects_4) $(am__objects_5) $(am__objects_6) \
|
$(am__objects_4) $(am__objects_5) $(am__objects_6) \
|
||||||
$(am__objects_7) $(am__objects_8) $(am__objects_9) \
|
$(am__objects_7) $(am__objects_8) $(am__objects_9) \
|
||||||
$(am__objects_10) $(am__objects_11) $(am__objects_12) \
|
$(am__objects_10) $(am__objects_11) $(am__objects_12) \
|
||||||
@@ -176,8 +178,8 @@ am__objects_27 = $(am__objects_1) $(am__
|
@@ -178,8 +180,8 @@ am__objects_27 = $(am__objects_1) $(am__
|
||||||
$(am__objects_16) $(am__objects_17) $(am__objects_18) \
|
$(am__objects_16) $(am__objects_17) $(am__objects_18) \
|
||||||
$(am__objects_19) $(am__objects_20) $(am__objects_21) \
|
$(am__objects_19) $(am__objects_20) $(am__objects_21) \
|
||||||
$(am__objects_22) $(am__objects_23) $(am__objects_24) \
|
$(am__objects_22) $(am__objects_23) $(am__objects_24) \
|
||||||
@@ -209,7 +209,7 @@ Index: libffi/Makefile.in
|
|||||||
libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
|
libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
|
||||||
$(nodist_libffi_convenience_la_OBJECTS)
|
$(nodist_libffi_convenience_la_OBJECTS)
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@
|
DEFAULT_INCLUDES = -I.@am__isrc@
|
||||||
@@ -295,6 +297,7 @@ ECHO_N = @ECHO_N@
|
@@ -297,6 +299,7 @@ ECHO_N = @ECHO_N@
|
||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
@@ -217,7 +217,7 @@ Index: libffi/Makefile.in
|
|||||||
FGREP = @FGREP@
|
FGREP = @FGREP@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
|
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
|
||||||
@@ -384,6 +387,7 @@ psdir = @psdir@
|
@@ -386,6 +389,7 @@ psdir = @psdir@
|
||||||
sbindir = @sbindir@
|
sbindir = @sbindir@
|
||||||
sharedstatedir = @sharedstatedir@
|
sharedstatedir = @sharedstatedir@
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
@@ -225,7 +225,7 @@ Index: libffi/Makefile.in
|
|||||||
sysconfdir = @sysconfdir@
|
sysconfdir = @sysconfdir@
|
||||||
target = @target@
|
target = @target@
|
||||||
target_alias = @target_alias@
|
target_alias = @target_alias@
|
||||||
@@ -397,37 +401,34 @@ top_builddir = @top_builddir@
|
@@ -399,37 +403,34 @@ top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
AUTOMAKE_OPTIONS = foreign subdir-objects
|
AUTOMAKE_OPTIONS = foreign subdir-objects
|
||||||
SUBDIRS = include testsuite man
|
SUBDIRS = include testsuite man
|
||||||
@@ -291,7 +291,7 @@ Index: libffi/Makefile.in
|
|||||||
|
|
||||||
info_TEXINFOS = doc/libffi.texi
|
info_TEXINFOS = doc/libffi.texi
|
||||||
|
|
||||||
@@ -486,10 +487,10 @@ nodist_libffi_la_SOURCES = $(am__append_
|
@@ -488,10 +489,10 @@ nodist_libffi_la_SOURCES = $(am__append_
|
||||||
$(am__append_15) $(am__append_16) $(am__append_17) \
|
$(am__append_15) $(am__append_16) $(am__append_17) \
|
||||||
$(am__append_18) $(am__append_19) $(am__append_20) \
|
$(am__append_18) $(am__append_19) $(am__append_20) \
|
||||||
$(am__append_21) $(am__append_22) $(am__append_23) \
|
$(am__append_21) $(am__append_22) $(am__append_23) \
|
||||||
@@ -304,7 +304,7 @@ Index: libffi/Makefile.in
|
|||||||
libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
|
libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS)
|
||||||
AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
|
AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
|
||||||
AM_CCASFLAGS = $(AM_CPPFLAGS)
|
AM_CCASFLAGS = $(AM_CPPFLAGS)
|
||||||
@@ -725,6 +726,8 @@ src/arm/sysv.lo: src/arm/$(am__dirstamp)
|
@@ -727,6 +728,8 @@ src/arm/sysv.lo: src/arm/$(am__dirstamp)
|
||||||
src/arm/$(DEPDIR)/$(am__dirstamp)
|
src/arm/$(DEPDIR)/$(am__dirstamp)
|
||||||
src/arm/ffi.lo: src/arm/$(am__dirstamp) \
|
src/arm/ffi.lo: src/arm/$(am__dirstamp) \
|
||||||
src/arm/$(DEPDIR)/$(am__dirstamp)
|
src/arm/$(DEPDIR)/$(am__dirstamp)
|
||||||
@@ -313,7 +313,7 @@ Index: libffi/Makefile.in
|
|||||||
src/avr32/$(am__dirstamp):
|
src/avr32/$(am__dirstamp):
|
||||||
@$(MKDIR_P) src/avr32
|
@$(MKDIR_P) src/avr32
|
||||||
@: > src/avr32/$(am__dirstamp)
|
@: > src/avr32/$(am__dirstamp)
|
||||||
@@ -812,6 +815,8 @@ mostlyclean-compile:
|
@@ -814,6 +817,8 @@ mostlyclean-compile:
|
||||||
-rm -f src/arm/ffi.lo
|
-rm -f src/arm/ffi.lo
|
||||||
-rm -f src/arm/sysv.$(OBJEXT)
|
-rm -f src/arm/sysv.$(OBJEXT)
|
||||||
-rm -f src/arm/sysv.lo
|
-rm -f src/arm/sysv.lo
|
||||||
@@ -322,7 +322,7 @@ Index: libffi/Makefile.in
|
|||||||
-rm -f src/avr32/ffi.$(OBJEXT)
|
-rm -f src/avr32/ffi.$(OBJEXT)
|
||||||
-rm -f src/avr32/ffi.lo
|
-rm -f src/avr32/ffi.lo
|
||||||
-rm -f src/avr32/sysv.$(OBJEXT)
|
-rm -f src/avr32/sysv.$(OBJEXT)
|
||||||
@@ -930,6 +935,7 @@ distclean-compile:
|
@@ -932,6 +937,7 @@ distclean-compile:
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/osf.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/sysv.Plo@am__quote@
|
||||||
|
|||||||
1560
patches/more-openbsd
Normal file
1560
patches/more-openbsd
Normal file
File diff suppressed because it is too large
Load Diff
43
patches/more-openbsd-mips
Normal file
43
patches/more-openbsd-mips
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
Index: libffi/configure.ac
|
||||||
|
===================================================================
|
||||||
|
--- libffi.orig/configure.ac
|
||||||
|
+++ libffi/configure.ac
|
||||||
|
@@ -133,7 +133,7 @@ case "$host" in
|
||||||
|
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||||
|
TARGET=MIPS; TARGETDIR=mips
|
||||||
|
;;
|
||||||
|
- mips*-*-linux*)
|
||||||
|
+ mips*-*-linux* | mips*-*-openbsd*)
|
||||||
|
# Support 128-bit long double for NewABI.
|
||||||
|
HAVE_LONG_DOUBLE='defined(__mips64)'
|
||||||
|
TARGET=MIPS; TARGETDIR=mips
|
||||||
|
Index: libffi/src/mips/ffi.c
|
||||||
|
===================================================================
|
||||||
|
--- libffi.orig/src/mips/ffi.c
|
||||||
|
+++ libffi/src/mips/ffi.c
|
||||||
|
@@ -38,7 +38,11 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef USE__BUILTIN___CLEAR_CACHE
|
||||||
|
-#include <sys/cachectl.h>
|
||||||
|
+# if defined(__OpenBSD__)
|
||||||
|
+# include <mips64/sysarch.h>
|
||||||
|
+# else
|
||||||
|
+# include <sys/cachectl.h>
|
||||||
|
+# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FFI_DEBUG
|
||||||
|
Index: libffi/src/mips/ffitarget.h
|
||||||
|
===================================================================
|
||||||
|
--- libffi.orig/src/mips/ffitarget.h
|
||||||
|
+++ libffi/src/mips/ffitarget.h
|
||||||
|
@@ -36,7 +36,7 @@
|
||||||
|
#define _MIPS_SIM_ABI32 1
|
||||||
|
#define _MIPS_SIM_NABI32 2
|
||||||
|
#define _MIPS_SIM_ABI64 3
|
||||||
|
-#else
|
||||||
|
+#elif !defined(__OpenBSD__)
|
||||||
|
# include <sgidefs.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ Index: libffi/Makefile.in
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- libffi.orig/Makefile.in
|
--- libffi.orig/Makefile.in
|
||||||
+++ libffi/Makefile.in
|
+++ libffi/Makefile.in
|
||||||
@@ -426,7 +426,8 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
|
@@ -428,7 +428,8 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change
|
||||||
src/frv/ffitarget.h src/dlmalloc.c src/moxie/ffi.c \
|
src/frv/ffitarget.h src/dlmalloc.c src/moxie/ffi.c \
|
||||||
src/moxie/eabi.S libtool-version ChangeLog.libffi \
|
src/moxie/eabi.S libtool-version ChangeLog.libffi \
|
||||||
m4/libtool.m4 m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 \
|
m4/libtool.m4 m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 \
|
||||||
|
|||||||
@@ -25,3 +25,8 @@ msvcc
|
|||||||
fix_maxopt
|
fix_maxopt
|
||||||
fix-ppc32
|
fix-ppc32
|
||||||
darwin-EH-fix
|
darwin-EH-fix
|
||||||
|
more-openbsd
|
||||||
|
more-openbsd-mips
|
||||||
|
minix
|
||||||
|
|
||||||
|
interix-patch
|
||||||
|
|||||||
@@ -18,15 +18,16 @@ Index: libffi/src/sparc/ffi.c
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- libffi.orig/src/sparc/ffi.c
|
--- libffi.orig/src/sparc/ffi.c
|
||||||
+++ libffi/src/sparc/ffi.c
|
+++ libffi/src/sparc/ffi.c
|
||||||
@@ -1,5 +1,6 @@
|
@@ -1,6 +1,6 @@
|
||||||
/* -----------------------------------------------------------------------
|
/* -----------------------------------------------------------------------
|
||||||
- ffi.c - Copyright (c) 1996, 2003, 2004, 2007, 2008 Red Hat, Inc.
|
- ffi.c - Copyright (c) 1996, 2003, 2004, 2007, 2008 Red Hat, Inc.
|
||||||
|
- Copyright (c) 2011 Anthony Green
|
||||||
+ ffi.c - Copyright (c) 2011 Anthony Green
|
+ ffi.c - Copyright (c) 2011 Anthony Green
|
||||||
+ Copyright (c) 1996, 2003-2004, 2007-2008 Red Hat, Inc.
|
+ Copyright (c) 1996, 2003-2004, 2007-2008 Red Hat, Inc.
|
||||||
|
|
||||||
SPARC Foreign Function Interface
|
SPARC Foreign Function Interface
|
||||||
|
|
||||||
@@ -485,7 +486,8 @@ ffi_prep_closure_loc (ffi_closure* closu
|
@@ -489,7 +489,8 @@ ffi_prep_closure_loc (ffi_closure* closu
|
||||||
#ifdef SPARC64
|
#ifdef SPARC64
|
||||||
/* Trampoline address is equal to the closure address. We take advantage
|
/* Trampoline address is equal to the closure address. We take advantage
|
||||||
of that to reduce the trampoline size by 8 bytes. */
|
of that to reduce the trampoline size by 8 bytes. */
|
||||||
@@ -36,7 +37,7 @@ Index: libffi/src/sparc/ffi.c
|
|||||||
fn = (unsigned long) ffi_closure_v9;
|
fn = (unsigned long) ffi_closure_v9;
|
||||||
tramp[0] = 0x83414000; /* rd %pc, %g1 */
|
tramp[0] = 0x83414000; /* rd %pc, %g1 */
|
||||||
tramp[1] = 0xca586010; /* ldx [%g1+16], %g5 */
|
tramp[1] = 0xca586010; /* ldx [%g1+16], %g5 */
|
||||||
@@ -494,7 +496,8 @@ ffi_prep_closure_loc (ffi_closure* closu
|
@@ -498,7 +499,8 @@ ffi_prep_closure_loc (ffi_closure* closu
|
||||||
*((unsigned long *) &tramp[4]) = fn;
|
*((unsigned long *) &tramp[4]) = fn;
|
||||||
#else
|
#else
|
||||||
unsigned long ctx = (unsigned long) codeloc;
|
unsigned long ctx = (unsigned long) codeloc;
|
||||||
|
|||||||
@@ -2,14 +2,15 @@ Index: libffi/ChangeLog
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- libffi.orig/ChangeLog
|
--- libffi.orig/ChangeLog
|
||||||
+++ libffi/ChangeLog
|
+++ libffi/ChangeLog
|
||||||
@@ -33,6 +33,11 @@
|
@@ -33,6 +33,12 @@
|
||||||
|
|
||||||
* configure: Regenerate.
|
* configure: Regenerate.
|
||||||
|
|
||||||
+2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
+2011-02-08 Ginn Chen <ginn.chen@oracle.com>
|
||||||
+
|
+
|
||||||
+ * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
+ * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
|
||||||
+ aggregate return ABI.
|
+ aggregate return ABI. Flush cache.
|
||||||
|
+ (ffi_prep_closure_loc): Flush cache.
|
||||||
+
|
+
|
||||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||||
|
|
||||||
@@ -18,7 +19,14 @@ Index: libffi/src/sparc/ffi.c
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- libffi.orig/src/sparc/ffi.c
|
--- libffi.orig/src/sparc/ffi.c
|
||||||
+++ libffi/src/sparc/ffi.c
|
+++ libffi/src/sparc/ffi.c
|
||||||
@@ -406,8 +406,46 @@ void ffi_call(ffi_cif *cif, void (*fn)(v
|
@@ -1,5 +1,6 @@
|
||||||
|
/* -----------------------------------------------------------------------
|
||||||
|
ffi.c - Copyright (c) 1996, 2003, 2004, 2007, 2008 Red Hat, Inc.
|
||||||
|
+ Copyright (c) 2011 Anthony Green
|
||||||
|
|
||||||
|
SPARC Foreign Function Interface
|
||||||
|
|
||||||
|
@@ -406,8 +407,50 @@ void ffi_call(ffi_cif *cif, void (*fn)(v
|
||||||
/* We don't yet support calling 32bit code from 64bit */
|
/* We don't yet support calling 32bit code from 64bit */
|
||||||
FFI_ASSERT(0);
|
FFI_ASSERT(0);
|
||||||
#else
|
#else
|
||||||
@@ -49,6 +57,10 @@ Index: libffi/src/sparc/ffi.c
|
|||||||
+ call_struct[5] = 0x01000000; /* nop */
|
+ call_struct[5] = 0x01000000; /* nop */
|
||||||
+ call_struct[6] = 0x81c7e008; /* ret */
|
+ call_struct[6] = 0x81c7e008; /* ret */
|
||||||
+ call_struct[7] = 0xbe100017; /* mov %l7, %i7 */
|
+ call_struct[7] = 0xbe100017; /* mov %l7, %i7 */
|
||||||
|
+ asm volatile ("iflush %0; iflush %0+8; iflush %0+16; iflush %0+24" : :
|
||||||
|
+ "r" (call_struct) : "memory");
|
||||||
|
+ /* SPARC v8 requires 5 instructions for flush to be visible */
|
||||||
|
+ asm volatile ("nop; nop; nop; nop; nop");
|
||||||
+ ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes,
|
+ ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes,
|
||||||
+ cif->flags, rvalue, call_struct);
|
+ cif->flags, rvalue, call_struct);
|
||||||
+ ffi_closure_free(call_struct);
|
+ ffi_closure_free(call_struct);
|
||||||
@@ -67,3 +79,30 @@ Index: libffi/src/sparc/ffi.c
|
|||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case FFI_V9:
|
case FFI_V9:
|
||||||
|
@@ -425,7 +468,6 @@ void ffi_call(ffi_cif *cif, void (*fn)(v
|
||||||
|
FFI_ASSERT(0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -468,13 +510,13 @@ ffi_prep_closure_loc (ffi_closure* closu
|
||||||
|
closure->fun = fun;
|
||||||
|
closure->user_data = user_data;
|
||||||
|
|
||||||
|
- /* Flush the Icache. FIXME: alignment isn't certain, assume 8 bytes */
|
||||||
|
+ /* Flush the Icache. closure is 8 bytes aligned. */
|
||||||
|
#ifdef SPARC64
|
||||||
|
- asm volatile ("flush %0" : : "r" (closure) : "memory");
|
||||||
|
- asm volatile ("flush %0" : : "r" (((char *) closure) + 8) : "memory");
|
||||||
|
+ asm volatile ("flush %0; flush %0+8" : : "r" (closure) : "memory");
|
||||||
|
#else
|
||||||
|
- asm volatile ("iflush %0" : : "r" (closure) : "memory");
|
||||||
|
- asm volatile ("iflush %0" : : "r" (((char *) closure) + 8) : "memory");
|
||||||
|
+ asm volatile ("iflush %0; iflush %0+8" : : "r" (closure) : "memory");
|
||||||
|
+ /* SPARC v8 requires 5 instructions for flush to be visible */
|
||||||
|
+ asm volatile ("nop; nop; nop; nop; nop");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return FFI_OK;
|
||||||
|
|||||||
@@ -696,7 +696,7 @@ Index: libffi/configure
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
-# Generated by GNU Autoconf 2.68 for libffi 3.0.9.
|
-# Generated by GNU Autoconf 2.68 for libffi 3.0.9.
|
||||||
+# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc9.
|
+# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc10.
|
||||||
#
|
#
|
||||||
-# Report bugs to <http://gcc.gnu.org/bugs.html>.
|
-# Report bugs to <http://gcc.gnu.org/bugs.html>.
|
||||||
+# Report bugs to <http://sourceware.org/libffi.html>.
|
+# Report bugs to <http://sourceware.org/libffi.html>.
|
||||||
@@ -719,8 +719,8 @@ Index: libffi/configure
|
|||||||
-PACKAGE_VERSION='3.0.9'
|
-PACKAGE_VERSION='3.0.9'
|
||||||
-PACKAGE_STRING='libffi 3.0.9'
|
-PACKAGE_STRING='libffi 3.0.9'
|
||||||
-PACKAGE_BUGREPORT='http://gcc.gnu.org/bugs.html'
|
-PACKAGE_BUGREPORT='http://gcc.gnu.org/bugs.html'
|
||||||
+PACKAGE_VERSION='3.0.10rc9'
|
+PACKAGE_VERSION='3.0.10rc10'
|
||||||
+PACKAGE_STRING='libffi 3.0.10rc9'
|
+PACKAGE_STRING='libffi 3.0.10rc10'
|
||||||
+PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
+PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
@@ -755,7 +755,7 @@ Index: libffi/configure
|
|||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
-\`configure' configures libffi 3.0.9 to adapt to many kinds of systems.
|
-\`configure' configures libffi 3.0.9 to adapt to many kinds of systems.
|
||||||
+\`configure' configures libffi 3.0.10rc9 to adapt to many kinds of systems.
|
+\`configure' configures libffi 3.0.10rc10 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@@ -764,7 +764,7 @@ Index: libffi/configure
|
|||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
- short | recursive ) echo "Configuration of libffi 3.0.9:";;
|
- short | recursive ) echo "Configuration of libffi 3.0.9:";;
|
||||||
+ short | recursive ) echo "Configuration of libffi 3.0.10rc9:";;
|
+ short | recursive ) echo "Configuration of libffi 3.0.10rc10:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@@ -790,7 +790,7 @@ Index: libffi/configure
|
|||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
-libffi configure 3.0.9
|
-libffi configure 3.0.9
|
||||||
+libffi configure 3.0.10rc9
|
+libffi configure 3.0.10rc10
|
||||||
generated by GNU Autoconf 2.68
|
generated by GNU Autoconf 2.68
|
||||||
|
|
||||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
@@ -812,7 +812,7 @@ Index: libffi/configure
|
|||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
-It was created by libffi $as_me 3.0.9, which was
|
-It was created by libffi $as_me 3.0.9, which was
|
||||||
+It was created by libffi $as_me 3.0.10rc9, which was
|
+It was created by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@@ -866,7 +866,7 @@ Index: libffi/configure
|
|||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='libffi'
|
PACKAGE='libffi'
|
||||||
- VERSION='3.0.9'
|
- VERSION='3.0.9'
|
||||||
+ VERSION='3.0.10rc9'
|
+ VERSION='3.0.10rc10'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@@ -878,6 +878,33 @@ Index: libffi/configure
|
|||||||
# By default we simply use the C compiler to build assembly code.
|
# By default we simply use the C compiler to build assembly code.
|
||||||
|
|
||||||
test "${CCAS+set}" = set || CCAS=$CC
|
test "${CCAS+set}" = set || CCAS=$CC
|
||||||
|
@@ -8326,6 +8288,10 @@ _lt_linker_boilerplate=`cat conftest.err
|
||||||
|
$RM -r conftest*
|
||||||
|
|
||||||
|
|
||||||
|
+## CAVEAT EMPTOR:
|
||||||
|
+## There is no encapsulation within the following macros, do not change
|
||||||
|
+## the running order or otherwise move them around unless you know exactly
|
||||||
|
+## what you are doing...
|
||||||
|
if test -n "$compiler"; then
|
||||||
|
|
||||||
|
lt_prog_compiler_no_builtin_flag=
|
||||||
|
@@ -10876,14 +10842,10 @@ fi
|
||||||
|
# before this can be enabled.
|
||||||
|
hardcode_into_libs=yes
|
||||||
|
|
||||||
|
- # Add ABI-specific directories to the system library path.
|
||||||
|
- sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
|
||||||
|
-
|
||||||
|
# Append ld.so.conf contents to the search path
|
||||||
|
if test -f /etc/ld.so.conf; then
|
||||||
|
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
|
||||||
|
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
|
||||||
|
-
|
||||||
|
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# We used to test for /lib/ld.so.1 and disable shared libraries on
|
||||||
@@ -11865,6 +11827,7 @@ CC="$lt_save_CC"
|
@@ -11865,6 +11827,7 @@ CC="$lt_save_CC"
|
||||||
|
|
||||||
|
|
||||||
@@ -976,7 +1003,7 @@ Index: libffi/configure
|
|||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
-This file was extended by libffi $as_me 3.0.9, which was
|
-This file was extended by libffi $as_me 3.0.9, which was
|
||||||
+This file was extended by libffi $as_me 3.0.10rc9, which was
|
+This file was extended by libffi $as_me 3.0.10rc10, which was
|
||||||
generated by GNU Autoconf 2.68. Invocation command line was
|
generated by GNU Autoconf 2.68. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@@ -992,7 +1019,7 @@ Index: libffi/configure
|
|||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
-libffi config.status 3.0.9
|
-libffi config.status 3.0.9
|
||||||
+libffi config.status 3.0.10rc9
|
+libffi config.status 3.0.10rc10
|
||||||
configured by $0, generated by GNU Autoconf 2.68,
|
configured by $0, generated by GNU Autoconf 2.68,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
@@ -1056,7 +1083,7 @@ Index: libffi/configure.ac
|
|||||||
+AC_PREREQ(2.63)
|
+AC_PREREQ(2.63)
|
||||||
|
|
||||||
-AC_INIT([libffi], [3.0.9], [http://gcc.gnu.org/bugs.html])
|
-AC_INIT([libffi], [3.0.9], [http://gcc.gnu.org/bugs.html])
|
||||||
+AC_INIT([libffi], [3.0.10rc9], [http://sourceware.org/libffi.html])
|
+AC_INIT([libffi], [3.0.10rc10], [http://sourceware.org/libffi.html])
|
||||||
AC_CONFIG_HEADERS([fficonfig.h])
|
AC_CONFIG_HEADERS([fficonfig.h])
|
||||||
|
|
||||||
-AM_ENABLE_MULTILIB(, ..)
|
-AM_ENABLE_MULTILIB(, ..)
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ Index: libffi/Makefile.in
|
|||||||
subdir = .
|
subdir = .
|
||||||
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
||||||
$(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
|
$(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \
|
||||||
@@ -490,7 +488,7 @@ nodist_libffi_la_SOURCES = $(am__append_
|
@@ -492,7 +490,7 @@ nodist_libffi_la_SOURCES = $(am__append_
|
||||||
$(am__append_24) $(am__append_25) $(am__append_26)
|
$(am__append_24) $(am__append_25) $(am__append_26)
|
||||||
libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
|
libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
|
||||||
nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
|
nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
|
||||||
|
|||||||
@@ -94,9 +94,9 @@ Index: libffi/aclocal.m4
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- libffi.orig/aclocal.m4
|
--- libffi.orig/aclocal.m4
|
||||||
+++ libffi/aclocal.m4
|
+++ libffi/aclocal.m4
|
||||||
@@ -8450,6 +8450,817 @@ m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_L
|
@@ -19,6 +19,817 @@ You have another version of autoconf. I
|
||||||
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
|
If you have problems, you may need to regenerate the build system entirely.
|
||||||
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
|
To do so, use the procedure documented by the package, typically `autoreconf'.])])
|
||||||
|
|
||||||
+# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
|
+# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
|
||||||
+#
|
+#
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ selinux_enabled_check (void)
|
|||||||
|
|
||||||
#endif /* !FFI_MMAP_EXEC_SELINUX */
|
#endif /* !FFI_MMAP_EXEC_SELINUX */
|
||||||
|
|
||||||
#elif defined (__CYGWIN__)
|
#elif defined (__CYGWIN__) || defined(__INTERIX)
|
||||||
|
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
|
|
||||||
|
|||||||
@@ -38,8 +38,12 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef USE__BUILTIN___CLEAR_CACHE
|
#ifndef USE__BUILTIN___CLEAR_CACHE
|
||||||
|
# if defined(__OpenBSD__)
|
||||||
|
# include <mips64/sysarch.h>
|
||||||
|
# else
|
||||||
# include <sys/cachectl.h>
|
# include <sys/cachectl.h>
|
||||||
# endif
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef FFI_DEBUG
|
#ifdef FFI_DEBUG
|
||||||
# define FFI_MIPS_STOP_HERE() ffi_stop_here()
|
# define FFI_MIPS_STOP_HERE() ffi_stop_here()
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
#define _MIPS_SIM_ABI32 1
|
#define _MIPS_SIM_ABI32 1
|
||||||
#define _MIPS_SIM_NABI32 2
|
#define _MIPS_SIM_NABI32 2
|
||||||
#define _MIPS_SIM_ABI64 3
|
#define _MIPS_SIM_ABI64 3
|
||||||
#else
|
#elif !defined(__OpenBSD__)
|
||||||
# include <sgidefs.h>
|
# include <sgidefs.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -432,6 +432,10 @@ void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
|
|||||||
call_struct[5] = 0x01000000; /* nop */
|
call_struct[5] = 0x01000000; /* nop */
|
||||||
call_struct[6] = 0x81c7e008; /* ret */
|
call_struct[6] = 0x81c7e008; /* ret */
|
||||||
call_struct[7] = 0xbe100017; /* mov %l7, %i7 */
|
call_struct[7] = 0xbe100017; /* mov %l7, %i7 */
|
||||||
|
asm volatile ("iflush %0; iflush %0+8; iflush %0+16; iflush %0+24" : :
|
||||||
|
"r" (call_struct) : "memory");
|
||||||
|
/* SPARC v8 requires 5 instructions for flush to be visible */
|
||||||
|
asm volatile ("nop; nop; nop; nop; nop");
|
||||||
ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes,
|
ffi_call_v8(ffi_prep_args_v8, &ecif, cif->bytes,
|
||||||
cif->flags, rvalue, call_struct);
|
cif->flags, rvalue, call_struct);
|
||||||
ffi_closure_free(call_struct);
|
ffi_closure_free(call_struct);
|
||||||
@@ -464,7 +468,6 @@ void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
|
|||||||
FFI_ASSERT(0);
|
FFI_ASSERT(0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -509,13 +512,13 @@ ffi_prep_closure_loc (ffi_closure* closure,
|
|||||||
closure->fun = fun;
|
closure->fun = fun;
|
||||||
closure->user_data = user_data;
|
closure->user_data = user_data;
|
||||||
|
|
||||||
/* Flush the Icache. FIXME: alignment isn't certain, assume 8 bytes */
|
/* Flush the Icache. closure is 8 bytes aligned. */
|
||||||
#ifdef SPARC64
|
#ifdef SPARC64
|
||||||
asm volatile ("flush %0" : : "r" (closure) : "memory");
|
asm volatile ("flush %0; flush %0+8" : : "r" (closure) : "memory");
|
||||||
asm volatile ("flush %0" : : "r" (((char *) closure) + 8) : "memory");
|
|
||||||
#else
|
#else
|
||||||
asm volatile ("iflush %0" : : "r" (closure) : "memory");
|
asm volatile ("iflush %0; iflush %0+8" : : "r" (closure) : "memory");
|
||||||
asm volatile ("iflush %0" : : "r" (((char *) closure) + 8) : "memory");
|
/* SPARC v8 requires 5 instructions for flush to be visible */
|
||||||
|
asm volatile ("nop; nop; nop; nop; nop");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return FFI_OK;
|
return FFI_OK;
|
||||||
|
|||||||
@@ -37,8 +37,10 @@ target_triplet = @target@
|
|||||||
subdir = testsuite
|
subdir = testsuite
|
||||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
|
||||||
$(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
@@ -79,7 +81,6 @@ ECHO_N = @ECHO_N@
|
|||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
|
|
||||||
FGREP = @FGREP@
|
FGREP = @FGREP@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
|
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
|
||||||
@@ -169,7 +170,6 @@ psdir = @psdir@
|
|||||||
sbindir = @sbindir@
|
sbindir = @sbindir@
|
||||||
sharedstatedir = @sharedstatedir@
|
sharedstatedir = @sharedstatedir@
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
sys_symbol_underscore = @sys_symbol_underscore@
|
|
||||||
sysconfdir = @sysconfdir@
|
sysconfdir = @sysconfdir@
|
||||||
target = @target@
|
target = @target@
|
||||||
target_alias = @target_alias@
|
target_alias = @target_alias@
|
||||||
|
|||||||
Reference in New Issue
Block a user