Makefile.am


Log

Author Commit Date CI Message
Clément Chigot 80912f2f 2022-09-01T14:47:16 Makefile: enable target overridings. (#661) This patch allows target to provide extra files enabling the override of Makefile rules. This patch is not needed for libffi itself but only for GCC on AIX. The t-aix file which is here empty will be replaced in GCC repository. We cannot include GCC version directly here because it has no sense for a standalone libffi. Co-authored-by: Clement <clement.chigot@atos.net>
zhangwenlong f259a6f6 2022-05-25T09:31:08 Support loongarch64 (#678) * update config.{guess,sub} * Support loongarch64 Co-Authored-By: Cheng Lulu <chenglulu@loongson.cn> Co-Authored-By: Xi Ruoyao <xry111@mengyan1223.wang> Co-Authored-By: Xu Hao Co-Authored-By: Zhang Wenlong <zhangwenlong@loongson.cn> Co-Authored-By: Pan Xuefeng <panxuefeng@loongson.cn> Co-authored-by: panxuefeng <panxuefeng@loongson.cn> Co-authored-by: Cheng Lulu <chenglulu@loongson.cn> Co-authored-by: Xi Ruoyao <xry111@mengyan1223.wang>
Jules Maselbas 0f2dd369 2021-09-22T21:39:56 Makefile: Add missing kvx/asm.h to dist headers (#660) The header kvx/asm.h is required to build libffi and is missing from the dist tarball. Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu>
Madhavan T. Venkataraman 9ba55921 2021-03-05T10:07:30 Static tramp v5 (#624) * Static Trampolines Closure Trampoline Security Issue ================================= Currently, the trampoline code used in libffi is not statically defined in a source file (except for MACH). The trampoline is either pre-defined machine code in a data buffer. Or, it is generated at runtime. In order to execute a trampoline, it needs to be placed in a page with executable permissions. Executable data pages are attack surfaces for attackers who may try to inject their own code into the page and contrive to have it executed. The security settings in a system may prevent various tricks used in user land to write code into a page and to have it executed somehow. On such systems, libffi trampolines would not be able to run. Static Trampoline ================= To solve this problem, the trampoline code needs to be defined statically in a source file, compiled and placed in the text segment so it can be mapped and executed naturally without any tricks. However, the trampoline needs to be able to access the closure pointer at runtime. PC-relative data referencing ============================ The solution implemented in this patch set uses PC-relative data references. The trampoline is mapped in a code page. Adjacent to the code page, a data page is mapped that contains the parameters of the trampoline: - the closure pointer - pointer to the ABI handler to jump to The trampoline code uses an offset relative to its current PC to access its data. Some architectures support PC-relative data references in the ISA itself. E.g., X64 supports RIP-relative references. For others, the PC has to somehow be loaded into a general purpose register to do PC-relative data referencing. To do this, we need to define a get_pc() kind of function and call it to load the PC in a desired register. There are two cases: 1. The call instruction pushes the return address on the stack. In this case, get_pc() will extract the return address from the stack and load it in the desired register and return. 2. The call instruction stores the return address in a designated register. In this case, get_pc() will copy the return address to the desired register and return. Either way, the PC next to the call instruction is obtained. Scratch register ================ In order to do its job, the trampoline code would need to use a scratch register. Depending on the ABI, there may not be a register available for scratch. This problem needs to be solved so that all ABIs will work. The trampoline will save two values on the stack: - the closure pointer - the original value of the scratch register This is what the stack will look like: sp before trampoline ------> -------------------- | closure pointer | -------------------- | scratch register | sp after trampoline -------> -------------------- The ABI handler can do the following as needed by the ABI: - the closure pointer can be loaded in a desired register - the scratch register can be restored to its original value - the stack pointer can be restored to its original value (the value when the trampoline was invoked) To do this, I have defined prolog code for each ABI handler. The legacy trampoline jumps to the ABI handler directly. But the static trampoline defined in this patch jumps tp the prolog code which performs the above actions before jumping to the ABI handler. Trampoline Table ================ In order to reduce the trampoline memory footprint, the trampoline code would be defined as a code array in the text segment. This array would be mapped into the address space of the caller. The mapping would, therefore, contain a trampoline table. Adjacent to the trampoline table mapping, there will be a data mapping that contains a parameter table, one parameter block for each trampoline. The parameter block will contain: - a pointer to the closure - a pointer to the ABI handler The static trampoline code would finally look like this: - Make space on the stack for the closure and the scratch register by moving the stack pointer down - Store the original value of the scratch register on the stack - Using PC-relative reference, get the closure pointer - Store the closure pointer on the stack - Using PC-relative reference, get the ABI handler pointer - Jump to the ABI handler Mapping size ============ The size of the code mapping that contains the trampoline table needs to be determined on a per architecture basis. If a particular architecture supports multiple base page sizes, then the largest supported base page size needs to be chosen. E.g., we choose 16K for ARM64. Trampoline allocation and free ============================== Static trampolines are allocated in ffi_closure_alloc() and freed in ffi_closure_free(). Normally, applications use these functions. But there are some cases out there where the user of libffi allocates and manages its own closure memory. In such cases, static trampolines cannot be used. These will fall back to using legacy trampolines. The user has to make sure that the memory is executable. ffi_closure structure ===================== I did not want to make any changes to the size of the closure structure for this feature to guarantee compatibility. But the opaque static trampoline handle needs to be stored in the closure. I have defined it as follows: - char tramp[FFI_TRAMPOLINE_SIZE]; + union { + char tramp[FFI_TRAMPOLINE_SIZE]; + void *ftramp; + }; If static trampolines are used, then tramp[] is not needed to store a dynamic trampoline. That space can be reused to store the handle. Hence, the union. Architecture Support ==================== Support has been added for x64, i386, aarch64 and arm. Support for other architectures can be added very easily in the future. OS Support ========== Support has been added for Linux. Support for other OSes can be added very easily. Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com> * x86: Support for Static Trampolines - Define the arch-specific initialization function ffi_tramp_arch () that returns trampoline size information to common code. - Define the trampoline code mapping and data mapping sizes. - Define the trampoline code table statically. Define two tables, actually, one with CET and one without. - Introduce a tiny prolog for each ABI handling function. The ABI handlers addressed are: - ffi_closure_unix64 - ffi_closure_unix64_sse - ffi_closure_win64 The prolog functions are called: - ffi_closure_unix64_alt - ffi_closure_unix64_sse_alt - ffi_closure_win64_alt The legacy trampoline jumps to the ABI handler. The static trampoline jumps to the prolog function. The prolog function uses the information provided by the static trampoline, sets things up for the ABI handler and then jumps to the ABI handler. - Call ffi_tramp_set_parms () in ffi_prep_closure_loc () to initialize static trampoline parameters. Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com> * i386: Support for Static Trampolines - Define the arch-specific initialization function ffi_tramp_arch () that returns trampoline size information to common code. - Define the trampoline code table statically. Define two tables, actually, one with CET and one without. - Define the trampoline code table statically. - Introduce a tiny prolog for each ABI handling function. The ABI handlers addressed are: - ffi_closure_i386 - ffi_closure_STDCALL - ffi_closure_REGISTER The prolog functions are called: - ffi_closure_i386_alt - ffi_closure_STDCALL_alt - ffi_closure_REGISTER_alt The legacy trampoline jumps to the ABI handler. The static trampoline jumps to the prolog function. The prolog function uses the information provided by the static trampoline, sets things up for the ABI handler and then jumps to the ABI handler. - Call ffi_tramp_set_parms () in ffi_prep_closure_loc () to initialize static trampoline parameters. Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com> * arm64: Support for Static Trampolines - Define the arch-specific initialization function ffi_tramp_arch () that returns trampoline size information to common code. - Define the trampoline code mapping and data mapping sizes. - Define the trampoline code table statically. - Introduce a tiny prolog for each ABI handling function. The ABI handlers addressed are: - ffi_closure_SYSV - ffi_closure_SYSV_V The prolog functions are called: - ffi_closure_SYSV_alt - ffi_closure_SYSV_V_alt The legacy trampoline jumps to the ABI handler. The static trampoline jumps to the prolog function. The prolog function uses the information provided by the static trampoline, sets things up for the ABI handler and then jumps to the ABI handler. - Call ffi_tramp_set_parms () in ffi_prep_closure_loc () to initialize static trampoline parameters. Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com> * arm: Support for Static Trampolines - Define the arch-specific initialization function ffi_tramp_arch () that returns trampoline size information to common code. - Define the trampoline code mapping and data mapping sizes. - Define the trampoline code table statically. - Introduce a tiny prolog for each ABI handling function. The ABI handlers addressed are: - ffi_closure_SYSV - ffi_closure_VFP The prolog functions are called: - ffi_closure_SYSV_alt - ffi_closure_VFP_alt The legacy trampoline jumps to the ABI handler. The static trampoline jumps to the prolog function. The prolog function uses the information provided by the static trampoline, sets things up for the ABI handler and then jumps to the ABI handler. - Call ffi_tramp_set_parms () in ffi_prep_closure_loc () to initialize static trampoline parameters. Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Ma Jun fbd1de85 2020-06-29T08:02:20 Add support for csky
M. Herdiansyah 0027b072 2020-06-11T19:40:24 Makefile: increase compatibility with bmake (#551)
Yann Sionneau 5e6ca054 2020-05-01T13:59:11 Add support for Kalray KVX architecture (#559)
hjl-tools 78556561 2020-02-21T19:08:06 x86: Add indirect branch tracking support (#540) Intel Control-flow Enforcement Technology (CET): https://software.intel.com/en-us/articles/intel-sdm contains shadow stack (SHSTK) and indirect branch tracking (IBT). When CET is enabled, ELF object files must be marked with .note.gnu.property section. When Intel CET is enabled, include <cet.h> in assembly codes to mark Intel CET support. Also when IBT is enabled, all indirect branch targets must start with ENDBR instruction and notrack prefix can be used to disable IBT on indirect branch. <cet.h> defines _CET_ENDBR which can be used in assembly codes for ENDBR instruction. If <cet.h> isn't included, define _CET_ENDBR as empty so that _CET_ENDBR can be used in assembly codes. Trampoline must be enlarged to add ENDBR instruction unconditionally, which is NOP on non-CET processors. This is required regardless if libffi is enabled with CET since libffi.so will be marked in legacy bitmap, but trampoline won't. Update library version for larger FFI_TRAMPOLINE_SIZE. This fixed: https://github.com/libffi/libffi/issues/474 Tested with $ CC="gcc -Wl,-z,cet-report=error -fcf-protection" CXX="g++ -Wl,-z,cet-report=error -fcf-protection" .../configure on Linux CET machines in i686, x32 and x86-64 modes.
Anthony Green 8e3935fa 2019-11-22T12:42:26 Manual clean-ups, and include the PDF in the source distribution.
Anthony Green 6f734f8a 2019-11-18T15:13:16 Adapt for new old ChangeLog file
Anthony Green 290bc316 2019-10-26T10:13:20 Add make_sunver.pl to distribution.
Anthony Green ca112537 2019-10-26T07:26:30 Add missing build script, make_sunver.pl.
Anthony Green 90fb8978 2019-10-24T06:24:14 Strip build status from README.md at 'make dist' time.
Anthony Green 1d605944 2019-10-24T05:25:11 Add missing dist files.
Paul Monson c2a68590 2019-08-07T11:57:45 fix mingw build and crashing bugs for Python Windows ARM64 (#496) * fix mingw build and crashing bugs for Python Windows ARM64 * Fix issues found in PR review
Paul Monson db5706ff 2019-04-26T04:58:58 add support for 32-bit ARM on Windows (#477) * add support for 32-bit ARM on Windows * fix mismatched brace in appveyor.yml * remove arm platform from appveyor.yml for now * fix arm build * fix typo * fix assembler names * try Visual Studio 2017 * add windows arm32 to .appveyor.yml * update README.md
Anthony Green 8f47ec40 2018-03-27T05:35:35 Don't set AM_MAKEFLAGS
Anthony Green f3c2729e 2018-03-23T11:47:29 Add libffi.map.in to extra dist files
Anthony Green d1689dd3 2018-03-13T09:24:37 Fix travis badge. Add REAME.md to dist files
Stef O'Rear 3840d49a 2018-03-11T05:55:15 New RISC-V port (#281) * Add RISC-V support This patch adds support for the RISC-V architecture (https://riscv.org). This patch has been tested using QEMU user-mode emulation and GCC 7.2.0 in the following configurations: * -march=rv32imac -mabi=ilp32 * -march=rv32g -mabi=ilp32d * -march=rv64imac -mabi=lp64 * -march=rv64g -mabi=lp64d The ABI currently can be found at https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md . * Add RISC-V to README * RISC-V: fix configure.host
Sergei Trofimovich cd5e9f8b 2017-11-05T13:56:42 Makefile.am: add 'src/s390/internal.h' to source tarball commit 2f530de168e0253ac06e044c832132c496e8788b ("s390: Reorganize assembly") introduced new header (similar to other arches) but did not add it to source tarball. As a result build from 'make dist' tarballs failed as: ``` ../src/s390/ffi.c:34:10: fatal error: internal.h: No such file or directory #include "internal.h" ^~~~~~~~~~~~ ``` To fix it the change adds file to 'Makefile.am'. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Tom Tromey 9f1f8741 2017-10-01T20:25:50 Merge pull request #319 from angerman/patch-5 Adds `local.exp` to DISTCLEANFILES
Moritz Angermann 6cf0dea7 2017-10-02T10:20:16 Change CLEANFILES to DISTCLEANFILES
Tom Tromey dca078f4 2017-10-01T20:19:53 Merge pull request #316 from angerman/patch-2 Add `configure.host` and `libtool-version` to the `EXTRA_DIST` files
Moritz Angermann bccba9a3 2017-10-01T12:48:17 Merged
Moritz Angermann 6b6df1a7 2017-10-01T12:37:53 Adds `local.exp` to CLEANFILES With #315, #316, #317, #318 and this patch, running ``` AM_DISTCHECK_CONFIGURE_FLAGS=--disable-docs make distcheck ``` should complete successfully.
Moritz Angermann 59d65d74 2017-10-01T12:23:31 Include `libtool-version` in the EXTRA_DIST files.
Moritz Angermann 4c6aa78d 2017-10-01T11:32:41 Add src/x86/asmnames.h to noinst_HEADERS In eaa59755fcbb692a8cb763c7f9f24a350aadbd30, macros from `unix64.S` were extracted into `asmnames.h` to be used with `win64.S` as well. As such these are required by `unix64.S`, which fails to build without them.
Moritz Angermann a1e6ccb6 2017-10-01T11:28:40 Add `configure.host` to the `EXTRA_DIST` files When running `make dist`, `configure.host` would not result in the distribution tarball, however `configure` would try to read it, and as such the tarball would not be buildable.
Richard Henderson c02c3414 2016-03-03T13:51:44 Use ELF symbol versioning At the same time, we must bump the (major) ABI version. This needed to be done anyway due to ABI breakage in the AArch64 port (see 12cf89ee and the corresponding GCC PR70024).
Tom Tromey 6dd5fd5a 2016-02-22T15:34:39 fix documentation building An earlier patch added --disable-docs, but went too far, making it impossible to build the docs. It turns out that Automake seemingly has a bug preventing the conditional build of an info file. So, this patch works around the bug by putting the info_TEXINFOS rule into a new doc/Makefile.am. Tested by building with and without --disable-docs and looking for the existence of doc/libffi.info.
Havard Graff fa7a2571 2015-05-12T10:45:13 Add configure-option to disable building docs
Richard Henderson 9f112619 2014-11-22T20:02:43 x86: Best guess at update for Darwin
Richard Henderson 5d69d57a 2014-11-13T13:50:39 configure: Move target source selection into configure.host This eliminates the AM_CONDITIONAL ugliness, which eliminates just a bit of extra boilerplate for a new target. At the same time, properly categorize the EXTRA_DIST files into SOURCES and HEADERS, for the generation of ctags.
Richard Henderson 2b27890b 2014-10-24T16:10:48 sparc: Rewrite everything It's impossible to call between v8 and v9 ABIs, because of the stack bias in the v9 ABI. So let's not pretend it's just not implemented yet. Split the v9 code out to a separate file. The register windows prevent ffi_call from setting up the entire stack frame the assembly, but we needn't make an indirect call back to prep_args.
Richard Henderson a4b785ea 2014-10-17T02:07:32 arm: Rewrite ffi_closure Move the push of the argument registers into ffi_closure_SYSV, reducing the size of the trampoline.
Richard Henderson b21ec1ce 2014-11-05T10:15:25 x86: Rewrite closures Move everything into sysv.S, removing win32.S and freebsd.S. Handle all abis with a single ffi_closure_inner function. Move complexity of the raw THISCALL trampoline into assembly instead of the trampoline itself. Only push the context for the REGISTER abi; let the rest receive it in a register.
Richard Henderson 99db4d42 2014-10-23T14:12:18 win64: Rewrite It's way too different from the 32-bit ABIs with which it is currently associated. As seen from all of the existing XFAILs.
Sebastian Macke 0f316ab7 2014-09-27T00:19:15 Add OpenRISC support This patch adds support for the OpenRISC architecture. (http://opencores.org/or1k/Main_Page) This patch has been tested under Linux with QEMU-user emulation support. - 32 Bit - big endian - delayed instructions This is the only available configuration under Linux. The description of the ABI can be found on the official website. Is passes the testsuite except of the unwindtest_ffi_call.cc testcase, which seems to be a problem of gcc and not libffi. Some testcases of the gcc testsuite still fail. Signed-off-by: Sebastian Macke <sebastian@macke.de>
Anthony Green 0c2251a4 2014-05-11T10:22:30 Support versions of git older than 1.8.5
Josh Triplett f0c8a315 2014-03-24T22:14:26 Compile win32.S on FreeBSD
Josh Triplett b2d610e0 2014-03-21T11:10:13 Compile win32.S on 32-bit Darwin as well
Ryan VanderMeulen 46c5d3c3 2014-03-16T21:16:08 Change double quotes in Makefile.am to single quotes. This was originally done in PR #84, except the change was made to Makefile.in instead of Makefile.am and was therefore reverted the next time the files were regenerated.
Anthony Green d948d0a7 2014-03-16T10:53:48 Merge pull request #98 from joshtriplett/unconfigure.host Merge configure.host into configure.ac
Josh Triplett a86bd318 2014-03-16T06:58:59 Merge configure.host into configure.ac configure.host only has a single entry, and shows no signs of needing more added.
Josh Triplett 1c68c072 2014-03-16T06:11:58 Generate ChangeLog from git in make dist Archive the existing ChangeLog to ChangeLog.libffi-3.1
Josh Triplett e1911f78 2014-03-16T03:25:53 Add support for stdcall, thiscall, and fastcall on non-Windows x86-32 Linux supports the stdcall calling convention, either via functions explicitly declared with the stdcall attribute, or via code compiled with -mrtd which effectively makes stdcall the default. This introduces FFI_STDCALL, FFI_THISCALL, and FFI_FASTCALL on non-Windows x86-32 platforms, as non-default calling conventions.
Anthony Green 634a475e 2014-03-01T18:37:29 Update Makefile for new darwin scripts
Anthony Green a04e30ba 2014-02-28T17:20:59 Add missing -DFFI_DEBUG flag
Anthony Green 7ea67773 2013-11-30T20:58:31 Remove build-ios from Makefile Conflicts: ChangeLog
Anthony Green 3dc3f32c 2013-12-05T16:23:25 Undo iOS ARM64 changes.
Anthony Green d4b931c1 2013-11-30T20:58:31 Remove build-ios from Makefile
Alan Modra ab79d6e2 2013-11-21T06:12:35 This separates the 32-bit sysv/linux/bsd code from the 64-bit linux code, and makes it possible to link code compiled with different options to those used to compile libffi. For example, a -mlong-double-128 libffi can be used with -mlong-double-64 code. Using the return value area as a place to pass parameters wasn't such a good idea, causing a failure of cls_ulonglong.c. I didn't see this when running the mainline gcc libffi testsuite because that version of the test is inferior to the upstreamm libffi test. Using NUM_FPR_ARG_REGISTERS rather than NUM_FPR_ARG_REGISTERS64 meant that a parameter save area could be allocated before it was strictly necessary. Wrong but harmless. Found when splitting apart ffi.c into 32-bit and 64-bit support.
Alan Modra ac753688 2013-11-21T06:12:35 This separates the 32-bit sysv/linux/bsd code from the 64-bit linux code, and makes it possible to link code compiled with different options to those used to compile libffi. For example, a -mlong-double-128 libffi can be used with -mlong-double-64 code. Using the return value area as a place to pass parameters wasn't such a good idea, causing a failure of cls_ulonglong.c. I didn't see this when running the mainline gcc libffi testsuite because that version of the test is inferior to the upstreamm libffi test. Using NUM_FPR_ARG_REGISTERS rather than NUM_FPR_ARG_REGISTERS64 meant that a parameter save area could be allocated before it was strictly necessary. Wrong but harmless. Found when splitting apart ffi.c into 32-bit and 64-bit support.
Anthony Green c2422174 2013-11-02T14:08:23 Merge pull request #45 from foss-for-synopsys-dwc-arc-processors/arc_support arc: Fix build error
Anthony Green c265b4ca 2013-11-02T14:08:23 Merge pull request #45 from foss-for-synopsys-dwc-arc-processors/arc_support arc: Fix build error
Sandra Loosemore 16b93a21 2013-10-15T15:33:59 Add nios2 port.
Anthony Green d2fcbcdf 2013-10-08T06:27:46 Add m88k and VAX support. Update some configury bits.
Mischa Jonker d918d478 2013-07-08T15:51:36 arc: Fix build error One part of the patch for ARC support was missing in the upstreamed version. Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Anthony Green f88118b3 2013-07-02T15:51:27 Revert "Merge pull request #36 from abergmeier/emscripten_fix" This reverts commit 6a4d901dde7b3f87984c563505717cde3113d16e, reversing changes made to b50a13b9c07ec09af4b9697e482acdad571e6961.
Anthony Green 6a4d901d 2013-07-02T12:12:34 Merge pull request #36 from abergmeier/emscripten_fix Fixes for building with Emscripten
Mischa Jonker b082e150 2013-06-10T16:19:33 Add ARC support This adds support for the ARC architecture to libffi. DesignWare ARC is a family of processors from Synopsys, Inc. This patch has been tested on a little-endian system and passes the testsuite. Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Andreas Bergmeier 587002c0 2013-04-19T17:12:24 Enable disabling of libtool on platforms where it does not work (e.g. LLVM). Build libraries normally then.
Anthony Green 215763d0 2013-03-16T07:57:35 Update configury.
Anthony Green 2fb527a0 2013-03-16T07:46:38 Add Meta processor support
Anthony Green f308faf1 2013-02-11T14:25:13 Add moxie support. Release 3.0.12.
Anthony Green 7aab825c 2013-02-08T13:26:21 Add missing files to dist
Anthony Green ed6ae950 2013-02-07T16:43:36 Add libtool-ldflags. Define toolexeclibdir for non-GCC builds.
Anthony Green f7cd61e9 2013-02-06T17:38:04 Fix pkgconfig install bits
Anthony Green aeb8719a 2013-01-21T07:37:30 New microblaze support
Anthony Green 40860245 2013-01-21T07:37:30 New microblaze support
Anthony Green 20cae32b 2013-01-21T07:07:38 Xtensa support
Anthony Green ea7f8440 2013-01-04T09:09:32 remove gcc-ism
Anthony Green 335f419a 2013-01-02T06:30:03 Merge pull request #23 from rurban/master cygwin/mingw shared libs need libtool LDFLAGS = -no-undefined
Anthony Green 8bad679a 2013-01-02T08:28:35 New stand-alone patch
Anthony Green 981c32ee 2013-01-02T07:34:03 Merge with GCC. Eliminate quilt bits.
Anthony Green f680b598 2012-11-06T16:00:40 Add missing aarch64 configury bits
Anthony Green 9c00a3f6 2012-10-12T16:46:06 TILE-Gx/TILEPro support
Reini Urban 6d6f7110 2012-07-07T12:42:00 cygwin/mingw shared libs need libtool LDFLAGS = -no-undefined otherwise only static libs are created.
Anthony Green 213ed15c 2012-04-27T01:34:15 Add blackfin supprt from Alexandre Keunecke.
Anthony Green 7e0a412c 2012-04-11T22:47:44 Update files to ship
Anthony Green 3f502306 2012-04-06T20:34:51 mend
Peter Rosin 0a1ab12a 2012-03-30T08:14:08 Various MSVC-related changes.
Anthony Green 6a6e7f86 2011-11-12T16:20:42 Fix kfreebsd
Anthony Green c411f140 2011-11-12T07:32:36 Fix ax_enable_builddir macro on BSD systems
Anthony Green 3d56106b 2011-11-12T07:20:24 Rebase
Anthony Green 8c01954c 2011-09-06T14:26:32 Build assembly files with debug info
Anthony Green ee6696fd 2011-08-23T12:30:29 3.0.11-rc1. soname bump.
Anthony Green 3b7efa4e 2011-08-15T13:25:13 Revert remove-debug-code patch temporarily (for ARM Fedora release)
Anthony Green d72c49e5 2011-02-13T11:41:05 Add missing msvcc.sh
Anthony Green 7c7c9f32 2011-02-12T09:29:29 ungccify parts of the build
Anthony Green 17d9e9e6 2011-02-11T12:23:20 Use newer autotools. Only build debug.c when --enable-debug.
Anthony Green 0cad4386 2011-02-09T06:11:46 Add ChangeLog entry. Fix copyright headers.
Anthony Green 1106229a 2011-02-08T19:20:09 Add iOS support
Anthony Green 2db72615 2010-11-21T10:50:56 Rebase
Landon Fuller c71480ea 2010-09-19T09:02:05 Update automake/autoconf to conditionally build src/arm/trampoline.S if FFI_EXEC_TRAMPOLINE_TABLE is enabled.
Anthony Green 00d0b59c 2010-08-05T14:56:53 Fix debug build for windows
Anthony Green 3f5b1375 2010-07-12T14:39:18 rebase
Anthony Green 9dc9a293 2010-04-13T10:33:52 Rebase to latest GCC sources
Anthony Green c3042afa 2010-01-01T08:08:02 Reset quilt patches post 3.0.9 merge with GCC