|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
fbd1de85
|
2020-06-29T08:02:20
|
|
Add support for csky
|
|
0027b072
|
2020-06-11T19:40:24
|
|
Makefile: increase compatibility with bmake (#551)
|
|
5e6ca054
|
2020-05-01T13:59:11
|
|
Add support for Kalray KVX architecture (#559)
|
|
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.
|
|
8e3935fa
|
2019-11-22T12:42:26
|
|
Manual clean-ups, and include the PDF in the source distribution.
|
|
6f734f8a
|
2019-11-18T15:13:16
|
|
Adapt for new old ChangeLog file
|
|
290bc316
|
2019-10-26T10:13:20
|
|
Add make_sunver.pl to distribution.
|
|
ca112537
|
2019-10-26T07:26:30
|
|
Add missing build script, make_sunver.pl.
|
|
90fb8978
|
2019-10-24T06:24:14
|
|
Strip build status from README.md at 'make dist' time.
|
|
1d605944
|
2019-10-24T05:25:11
|
|
Add missing dist files.
|
|
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
|
|
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
|
|
8f47ec40
|
2018-03-27T05:35:35
|
|
Don't set AM_MAKEFLAGS
|
|
f3c2729e
|
2018-03-23T11:47:29
|
|
Add libffi.map.in to extra dist files
|
|
d1689dd3
|
2018-03-13T09:24:37
|
|
Fix travis badge. Add REAME.md to dist files
|
|
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
|
|
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>
|
|
9f1f8741
|
2017-10-01T20:25:50
|
|
Merge pull request #319 from angerman/patch-5
Adds `local.exp` to DISTCLEANFILES
|
|
6cf0dea7
|
2017-10-02T10:20:16
|
|
Change CLEANFILES to DISTCLEANFILES
|
|
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
|
|
bccba9a3
|
2017-10-01T12:48:17
|
|
Merged
|
|
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.
|
|
59d65d74
|
2017-10-01T12:23:31
|
|
Include `libtool-version` in the EXTRA_DIST files.
|
|
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.
|
|
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.
|
|
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).
|
|
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.
|
|
fa7a2571
|
2015-05-12T10:45:13
|
|
Add configure-option to disable building docs
|
|
9f112619
|
2014-11-22T20:02:43
|
|
x86: Best guess at update for Darwin
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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>
|
|
0c2251a4
|
2014-05-11T10:22:30
|
|
Support versions of git older than 1.8.5
|
|
f0c8a315
|
2014-03-24T22:14:26
|
|
Compile win32.S on FreeBSD
|
|
b2d610e0
|
2014-03-21T11:10:13
|
|
Compile win32.S on 32-bit Darwin as well
|
|
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.
|
|
d948d0a7
|
2014-03-16T10:53:48
|
|
Merge pull request #98 from joshtriplett/unconfigure.host
Merge configure.host into configure.ac
|
|
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.
|
|
1c68c072
|
2014-03-16T06:11:58
|
|
Generate ChangeLog from git in make dist
Archive the existing ChangeLog to ChangeLog.libffi-3.1
|
|
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.
|
|
634a475e
|
2014-03-01T18:37:29
|
|
Update Makefile for new darwin scripts
|
|
a04e30ba
|
2014-02-28T17:20:59
|
|
Add missing -DFFI_DEBUG flag
|
|
7ea67773
|
2013-11-30T20:58:31
|
|
Remove build-ios from Makefile
Conflicts:
ChangeLog
|
|
3dc3f32c
|
2013-12-05T16:23:25
|
|
Undo iOS ARM64 changes.
|
|
d4b931c1
|
2013-11-30T20:58:31
|
|
Remove build-ios from Makefile
|
|
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.
|
|
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.
|
|
c2422174
|
2013-11-02T14:08:23
|
|
Merge pull request #45 from foss-for-synopsys-dwc-arc-processors/arc_support
arc: Fix build error
|
|
c265b4ca
|
2013-11-02T14:08:23
|
|
Merge pull request #45 from foss-for-synopsys-dwc-arc-processors/arc_support
arc: Fix build error
|
|
16b93a21
|
2013-10-15T15:33:59
|
|
Add nios2 port.
|
|
d2fcbcdf
|
2013-10-08T06:27:46
|
|
Add m88k and VAX support. Update some configury bits.
|
|
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>
|
|
f88118b3
|
2013-07-02T15:51:27
|
|
Revert "Merge pull request #36 from abergmeier/emscripten_fix"
This reverts commit 6a4d901dde7b3f87984c563505717cde3113d16e, reversing
changes made to b50a13b9c07ec09af4b9697e482acdad571e6961.
|
|
6a4d901d
|
2013-07-02T12:12:34
|
|
Merge pull request #36 from abergmeier/emscripten_fix
Fixes for building with Emscripten
|
|
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>
|
|
587002c0
|
2013-04-19T17:12:24
|
|
Enable disabling of libtool on platforms where it does not work (e.g. LLVM).
Build libraries normally then.
|
|
215763d0
|
2013-03-16T07:57:35
|
|
Update configury.
|
|
2fb527a0
|
2013-03-16T07:46:38
|
|
Add Meta processor support
|
|
f308faf1
|
2013-02-11T14:25:13
|
|
Add moxie support. Release 3.0.12.
|
|
7aab825c
|
2013-02-08T13:26:21
|
|
Add missing files to dist
|
|
ed6ae950
|
2013-02-07T16:43:36
|
|
Add libtool-ldflags. Define toolexeclibdir for non-GCC builds.
|
|
f7cd61e9
|
2013-02-06T17:38:04
|
|
Fix pkgconfig install bits
|
|
aeb8719a
|
2013-01-21T07:37:30
|
|
New microblaze support
|
|
40860245
|
2013-01-21T07:37:30
|
|
New microblaze support
|
|
20cae32b
|
2013-01-21T07:07:38
|
|
Xtensa support
|
|
ea7f8440
|
2013-01-04T09:09:32
|
|
remove gcc-ism
|
|
335f419a
|
2013-01-02T06:30:03
|
|
Merge pull request #23 from rurban/master
cygwin/mingw shared libs need libtool LDFLAGS = -no-undefined
|
|
8bad679a
|
2013-01-02T08:28:35
|
|
New stand-alone patch
|
|
981c32ee
|
2013-01-02T07:34:03
|
|
Merge with GCC. Eliminate quilt bits.
|
|
f680b598
|
2012-11-06T16:00:40
|
|
Add missing aarch64 configury bits
|
|
9c00a3f6
|
2012-10-12T16:46:06
|
|
TILE-Gx/TILEPro support
|
|
6d6f7110
|
2012-07-07T12:42:00
|
|
cygwin/mingw shared libs need libtool LDFLAGS = -no-undefined
otherwise only static libs are created.
|
|
213ed15c
|
2012-04-27T01:34:15
|
|
Add blackfin supprt from Alexandre Keunecke.
|
|
7e0a412c
|
2012-04-11T22:47:44
|
|
Update files to ship
|
|
3f502306
|
2012-04-06T20:34:51
|
|
mend
|
|
0a1ab12a
|
2012-03-30T08:14:08
|
|
Various MSVC-related changes.
|
|
6a6e7f86
|
2011-11-12T16:20:42
|
|
Fix kfreebsd
|
|
c411f140
|
2011-11-12T07:32:36
|
|
Fix ax_enable_builddir macro on BSD systems
|
|
3d56106b
|
2011-11-12T07:20:24
|
|
Rebase
|
|
8c01954c
|
2011-09-06T14:26:32
|
|
Build assembly files with debug info
|
|
ee6696fd
|
2011-08-23T12:30:29
|
|
3.0.11-rc1. soname bump.
|
|
3b7efa4e
|
2011-08-15T13:25:13
|
|
Revert remove-debug-code patch temporarily (for ARM Fedora release)
|
|
d72c49e5
|
2011-02-13T11:41:05
|
|
Add missing msvcc.sh
|
|
7c7c9f32
|
2011-02-12T09:29:29
|
|
ungccify parts of the build
|
|
17d9e9e6
|
2011-02-11T12:23:20
|
|
Use newer autotools. Only build debug.c when --enable-debug.
|
|
0cad4386
|
2011-02-09T06:11:46
|
|
Add ChangeLog entry. Fix copyright headers.
|
|
1106229a
|
2011-02-08T19:20:09
|
|
Add iOS support
|
|
2db72615
|
2010-11-21T10:50:56
|
|
Rebase
|
|
c71480ea
|
2010-09-19T09:02:05
|
|
Update automake/autoconf to conditionally build src/arm/trampoline.S if FFI_EXEC_TRAMPOLINE_TABLE is enabled.
|
|
00d0b59c
|
2010-08-05T14:56:53
|
|
Fix debug build for windows
|
|
3f5b1375
|
2010-07-12T14:39:18
|
|
rebase
|
|
9dc9a293
|
2010-04-13T10:33:52
|
|
Rebase to latest GCC sources
|
|
c3042afa
|
2010-01-01T08:08:02
|
|
Reset quilt patches post 3.0.9 merge with GCC
|