|
15d3ea31
|
2020-04-26T04:59:35
|
|
Use __builtin_ffs instead of ffs (#554)
USE_BUILTIN_FFS is defined to 1 within __GNUC__, and the __builtin_ffs
function is available since GCC 3.x at least, while the ffs function
only exists on some OSes.
This fixes compilation for non-x86 mingw platforms. For x86,
USE_BUILTIN_FFS is explicitly disabled for windows targets - but
if USE_BUILTIN_FFS is enabled based on __GNUC__, it should also use
the builtin which actually is available correspondingly, not dependent
on the target OS.
|
|
c06468fa
|
2020-04-26T04:58:33
|
|
Fix building for aarch64 windows with mingw toolchains (#555)
* aarch64: Check _WIN32 instead of _M_ARM64 for detecting windows
This fixes building for aarch64 with mingw toolchains. _M_ARM64 is
predefined by MSVC, while mingw compilers predefine __aarch64__.
In aarch64 specific code, change checks for _M_ARM64 into checks for
_WIN32.
In arch independent code, check for
(defined(_M_ARM64) || defined(__aarch64__)) && defined(_WIN32)
instead of just _M_ARM64.
In src/closures.c, coalesce checks like
defined(X86_WIN32) || defined(X86_WIN64) || defined(_M_ARM64)
into plain defined(_WIN32). Technically, this enables code for
ARM32 windows where it wasn't, but as far as I can see it, those
codepaths should be fine for that architecture variant as well.
* aarch64: Only use armasm source when building with MSVC
When building for windows/arm64 with clang, the normal gas style .S
source works fine. sysv.S and win64_armasm.S seem to be functionally
equivalent, with only differences being due to assembler syntax.
|
|
8c50837f
|
2020-03-10T04:36:09
|
|
Improve read-write .eh_frame check (#546)
llvm-objdump -h does not print BFD SEC_* constants like "READONLY",
so the check will consider .eh_frame writable.
clang 11 (since https://reviews.llvm.org/D73999) will error for mismatching section flags.
Use readelf -S and check "WA" instead.
|
|
4a6414f2
|
2020-03-09T21:10:53
|
|
Mention ARM Pointer Authentication
|
|
909b37ff
|
2020-03-09T21:10:33
|
|
Test on aarch64 Linux with clang
|
|
4c7bde32
|
2020-03-10T02:05:42
|
|
Port to iOS/arm64e (#548)
|
|
211e929d
|
2020-03-09T12:39:22
|
|
Try to fix RLGL_KEY nonsense (#547)
* Try to fix RLGL_KEY nonsense
* Hard code policy bound API key
Co-authored-by: Anthony Green <green@moxielogic.com>
|
|
8eb2d2b0
|
2020-02-24T10:29:20
|
|
Revamp PA_LINUX and PA_HPUX target closures to use function descriptors.
2020-02-23 John David Anglin <danglin@gcc.gnu.org>
* include/ffi.h.in (FFI_CLOSURE_PTR, FFI_RESTORE_PTR): Define.
* src/closures.c (ffi_closure_alloc): Convert closure pointer
return by malloc to function pointer.
(ffi_closure_free): Convert function pointer back to malloc pointer.
* src/pa/ffi.c (ffi_closure_inner_pa32): Use union to double word
align return address on stack. Adjust statements referencing return
address. Convert closure argument from function pointer to standard
closure pointer.
(ffi_prep_closure_loc): Likewise convert closure argument back to
closure pointer. Remove assembler trampolines. Setup simulated
function descriptor as on ia64.
src/pa/ffitarget.h (FFI_TRAMPOLINE_SIZE): Reduce to 12.
src/pa/hpux32.S (ffi_closure_pa32): Retrieve closure pointer and real
gp from fake gp value in register %r19.
src/pa/linux.S (ffi_closure_pa32): Likewise.
|
|
be815544
|
2020-02-23T07:45:42
|
|
Update the ABI version to LIBFFI_BASE_8.0 (#544)
Since x86 and x86-64 FFI_TRAMPOLINE_SIZE have been increased, we must
bump the ABI version. This fixes:
https://github.com/libffi/libffi/issues/543
|
|
d9abffea
|
2020-02-22T06:32:22
|
|
x86: Fix ffi_prep_closure_loc (#542)
Since FFI_TRAMPOLINE_SIZE is increased by 4 bytes to add ENDBR32, adjust
jump displacement by 4 bytes.
|
|
624c7a35
|
2020-02-21T22:13:14
|
|
Merge branch 'master' of github.com:/libffi/libffi
|
|
4c775d7c
|
2020-02-21T22:12:34
|
|
Update for pending 3.4 release.
|
|
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.
|
|
4d6d2866
|
2020-02-21T21:06:15
|
|
Update powerpc sysv assembly for ffi_powerpc.h changes (#541)
Some of the flag bits were moved when adding powerpc64 vector support.
Fixes #536
|
|
b844a9c7
|
2020-01-10T10:22:10
|
|
Update copyright year.
|
|
81b5491a
|
2020-01-05T21:37:05
|
|
Fix script
|
|
1e08a455
|
2020-01-05T21:18:23
|
|
Use rlgl API key on login
|
|
e50b9ef8
|
2019-12-07T02:34:14
|
|
powerpc64: Use memcpy to help platforms with no __int128. (#534)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
f9da75e1
|
2019-11-30T07:37:19
|
|
Remove 32-bit x86 file references to fix macosx builds
|
|
76c0cfea
|
2019-11-29T14:46:11
|
|
Fixed missed #ifndef for __mips_soft_float (#442)
Thank you!
|
|
98da2560
|
2019-11-29T14:29:51
|
|
Clean up macosx builds
|
|
6663047f
|
2019-11-29T07:00:35
|
|
Address platforms with no __int128.
|
|
0069526c
|
2019-11-28T18:58:40
|
|
Make build errors easier to debug
|
|
43887a91
|
2019-11-28T17:44:51
|
|
Add powerpc-eabi
|
|
29297445
|
2019-11-28T17:31:44
|
|
Test on powerpc-eabisim
|
|
01a75ed7
|
2019-11-28T12:42:41
|
|
powerpc: fix build failure on power7 and older (#532)
Build failure looks as:
```
libtool: compile: powerpc-unknown-linux-gnu-gcc \
-O2 -mcpu=powerpc -mtune=powerpc -pipe ... -c src/powerpc/ffi.c ...
In file included from src/powerpc/ffi.c:33:
src/powerpc/ffi_powerpc.h:65:9: error: '__int128' is not supported on this target
65 | typedef __int128 float128;
| ^~~~~~~~
```
The fix avoids using __int128 in favour of aligned char[16].
Closes: https://github.com/libffi/libffi/issues/531
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
1ec01ea8
|
2019-11-24T22:47:48
|
|
Run aarch64-linux-gnu tests on travi-ci directly
|
|
66022e52
|
2019-11-24T16:52:14
|
|
Fixes for ppc64le and s390x travis testing
|
|
932e5bb6
|
2019-11-24T16:26:14
|
|
Force the use of docker
|
|
803db14c
|
2019-11-24T16:10:22
|
|
Merge branch 'master' of github.com:libffi/libffi
|
|
86be66c8
|
2019-11-24T16:09:44
|
|
Try travis-ci's new ppc64le and s390x support
|
|
fb914c36
|
2019-11-24T18:25:13
|
|
disable obsolete 32-bit targets in macOS (#511)
|
|
fd99c95f
|
2019-11-24T11:11:25
|
|
Minor clean-up
|
|
5dcb741f
|
2019-11-23T10:24:58
|
|
Move nested_struct3 test to closures directory
|
|
1aca3330
|
2019-11-23T09:42:04
|
|
Add missing closing brace
|
|
d996cb28
|
2019-11-23T09:00:14
|
|
Version 3.3
|
|
c72b82f4
|
2019-11-23T08:48:53
|
|
Remove junk file from dist
|
|
642d40ee
|
2019-11-23T07:49:58
|
|
Account for moved test files
|
|
049da08a
|
2019-11-23T07:44:26
|
|
Add dejagnu directives accidentally removed
|
|
36730f5d
|
2019-11-22T19:49:38
|
|
Move closure test to closure directory
|
|
c88c0e92
|
2019-11-22T19:27:34
|
|
More more closure tests to the closure test directory
|
|
a37cc175
|
2019-11-22T18:55:36
|
|
Merge branch 'master' of github.com:libffi/libffi
|
|
332a539e
|
2019-11-22T18:54:30
|
|
Move closure tests so we can easily XFAIL them for some targets
|
|
1761a106
|
2019-11-22T18:53:09
|
|
Remove gccbug detection. GCC is good now.
|
|
247a5e78
|
2019-11-22T20:17:58
|
|
Capture x86-windows host like x86_64-windows (#529)
|
|
8e3935fa
|
2019-11-22T12:42:26
|
|
Manual clean-ups, and include the PDF in the source distribution.
|
|
d01088a5
|
2019-11-21T05:36:06
|
|
Mention more major port contributors
|
|
970b7fce
|
2019-11-21T05:04:54
|
|
Update autoconf-archive m4 macros
|
|
34a3a661
|
2019-11-21T04:59:39
|
|
Fix formatting of README.
|
|
91a7fbe9
|
2019-11-20T07:16:41
|
|
Fix or1k lack-of-g++ checking in testsuite
|
|
31543c79
|
2019-11-20T06:15:55
|
|
Add work-around for users who manage their own closure memory
As suggested by DJ
|
|
bd3a4687
|
2019-11-19T17:14:23
|
|
No C++ for or1k-unknown-elf
|
|
d6e4f96b
|
2019-11-19T13:36:49
|
|
No C++ for or1k
|
|
49701868
|
2019-11-19T10:07:16
|
|
Disable type warnings for or1k.
|
|
262cf74f
|
2019-11-19T10:06:57
|
|
No c++ for or1k-elf
|
|
54fc80df
|
2019-11-18T15:20:00
|
|
Fake TRAVIS_BUILD_DIR
|
|
6f734f8a
|
2019-11-18T15:13:16
|
|
Adapt for new old ChangeLog file
|
|
27d31130
|
2019-11-18T15:06:51
|
|
Fix DEJAGNU variable
|
|
da135881
|
2019-11-18T14:54:14
|
|
Set vars
|
|
9a394c24
|
2019-11-18T14:45:29
|
|
Remove verbosity
|
|
14bfbec0
|
2019-11-18T14:40:30
|
|
Pull before running
|
|
dfa60e5e
|
2019-11-18T14:02:33
|
|
Fix cross builds for or1k
|
|
a8223271
|
2019-11-18T13:59:10
|
|
More cross build debugging
|
|
8c9cf44c
|
2019-11-18T13:47:42
|
|
Set path to simulator. Add debugging output.
|
|
581048f9
|
2019-11-18T13:17:27
|
|
Be specific when building CI container images
|
|
bbea6394
|
2019-11-18T13:06:26
|
|
Capture more or1k hosts
|
|
97e3b1fe
|
2019-11-18T13:02:44
|
|
Add test support for or1k. Fix yaml typo.
|
|
c88f4d26
|
2019-11-18T12:25:51
|
|
Fix typo for m32r and bfin builds
|
|
93c203b3
|
2019-11-18T06:35:19
|
|
Merge branch 'master' of github.com:libffi/libffi
|
|
d087b595
|
2019-11-18T06:34:42
|
|
Build/test for m32r-elf and bfin-elf
|
|
b6804d16
|
2019-11-17T09:19:14
|
|
Mention binary128 long double support for Power
|
|
73dd43af
|
2019-11-17T07:22:25
|
|
IEEE754 binary128 long double support for PowerPC64 (#526)
* powerpc: Adjust flags to make room for vector types
* powerpc64 ELFv2 IEEE128 long double support
|
|
b58bd772
|
2019-11-15T11:18:59
|
|
Re-enable mingw32 tests.
|
|
6f221e82
|
2019-11-15T11:06:17
|
|
Disable wine builds.
|
|
09dc0a71
|
2019-11-15T10:19:00
|
|
Stretch out timeout for test
|
|
28a7cc46
|
2019-11-15T06:07:51
|
|
Consolidate all of the old ChangeLog files into ChangeLog.old.
|
|
86d3d376
|
2019-11-13T10:07:00
|
|
Don't build aarch64-linux-gnu
|
|
db198a19
|
2019-11-13T10:05:36
|
|
Extend timeout for builds.
|
|
54af0256
|
2019-11-13T09:15:05
|
|
Platform test tweaks
|
|
3a7580da
|
2019-11-13T07:59:18
|
|
Mark java raw APIs as deprecated.
|
|
cda60c1a
|
2019-11-13T06:51:44
|
|
Disable mips64 tests. Fix log grabbing.
|
|
a34254bd
|
2019-11-13T06:37:26
|
|
Re-add wine based testing
|
|
9bd3a974
|
2019-11-13T06:35:40
|
|
Add wine-sim.exp for wine-based testing
|
|
de6df6dc
|
2019-11-13T06:32:46
|
|
Fix log file URL extraction. Grab rlgl cli for OSX
|
|
c8986e87
|
2019-11-13T06:01:43
|
|
Fix log name extraction
|
|
6630764d
|
2019-11-12T22:56:37
|
|
Account for shorter ==LOGFILE== string
|
|
aa975ec3
|
2019-11-12T22:35:47
|
|
Fix grep matcher
|
|
6dd88bc5
|
2019-11-12T18:44:27
|
|
Debug
|
|
7e318cf5
|
2019-11-12T17:55:35
|
|
Pull test logs from cfarm
|
|
5123e9cf
|
2019-11-12T09:21:57
|
|
Use rlgl for cfarm test results
|
|
486f88f9
|
2019-11-12T09:20:21
|
|
Use rlgl for cross builds.
|
|
042c6671
|
2019-11-12T09:14:20
|
|
Always exit build container successfully. Don't test mingw.
|
|
82f7f80a
|
2019-11-12T08:58:52
|
|
Run rlgl outside of the build container.
|
|
5b297e03
|
2019-11-12T05:51:09
|
|
Don't bother dumping logs. Use rlgl instead.
|
|
2a8d88d9
|
2019-11-11T21:24:58
|
|
Fix rlgl usage
|
|
3c2b810e
|
2019-11-11T21:11:59
|
|
Test rlgl
|
|
2cc11720
|
2019-11-11T16:19:45
|
|
Debug in-container builds
|
|
0de0c6a2
|
2019-11-10T08:20:46
|
|
Build both iOS and Macosx
|
|
4e3e0586
|
2019-11-07T12:35:27
|
|
Fix tpyo
|
|
f764f278
|
2019-11-07T12:17:29
|
|
Change s390x options
|