summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Initial csky patches from AlibabacskyMoxie Bot2020-03-246-1/+840
|
* Improve read-write .eh_frame check (#546)Fangrui Song2020-03-101-9/+3
| | | | | | | 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.
* Mention ARM Pointer AuthenticationMoxie Bot2020-03-091-0/+1
|
* Test on aarch64 Linux with clangMoxie Bot2020-03-091-0/+4
|
* Port to iOS/arm64e (#548)Ole André Vadla Ravnås2020-03-094-2/+47
|
* Try to fix RLGL_KEY nonsense (#547)Anthony Green2020-03-091-0/+4
| | | | | | | * Try to fix RLGL_KEY nonsense * Hard code policy bound API key Co-authored-by: Anthony Green <green@moxielogic.com>
* Revamp PA_LINUX and PA_HPUX target closures to use function descriptors.Moxie Bot2020-02-246-105/+67
| | | | | | | | | | | | | | | | | | | | 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.
* Update the ABI version to LIBFFI_BASE_8.0 (#544)hjl-tools2020-02-231-12/+8
| | | | | | 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
* x86: Fix ffi_prep_closure_loc (#542)hjl-tools2020-02-221-1/+1
| | | | Since FFI_TRAMPOLINE_SIZE is increased by 4 bytes to add ENDBR32, adjust jump displacement by 4 bytes.
* Merge branch 'master' of github.com:/libffi/libffiMoxie Bot2020-02-2110-38/+125
|\
| * x86: Add indirect branch tracking support (#540)hjl-tools2020-02-219-31/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Update powerpc sysv assembly for ffi_powerpc.h changes (#541)Samuel Holland2020-02-211-7/+5
| | | | | | | | | | Some of the flag bits were moved when adding powerpc64 vector support. Fixes #536
* | Update for pending 3.4 release.Moxie Bot2020-02-211-1/+6
|/
* Update copyright year.Anthony Green2020-01-101-1/+1
|
* Fix scriptAnthony Green2020-01-051-5/+5
|
* Use rlgl API key on loginAnthony Green2020-01-051-5/+5
|
* powerpc64: Use memcpy to help platforms with no __int128. (#534)Khem Raj2019-12-071-4/+4
| | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Remove 32-bit x86 file references to fix macosx buildsAnthony Green2019-11-301-48/+2
|
* Fixed missed #ifndef for __mips_soft_float (#442)Carl Hurd2019-11-291-0/+2
| | | Thank you!
* Clean up macosx buildsAnthony Green2019-11-292-2/+1
|
* Address platforms with no __int128.Anthony Green2019-11-291-2/+2
|
* Make build errors easier to debugAnthony Green2019-11-281-4/+1
|
* Add powerpc-eabiAnthony Green2019-11-281-0/+3
|
* Test on powerpc-eabisimAnthony Green2019-11-283-1/+65
|
* powerpc: fix build failure on power7 and older (#532)Sergei Trofimovich2019-11-281-1/+1
| | | | | | | | | | | | | | | | 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>
* Run aarch64-linux-gnu tests on travi-ci directlyAnthony Green2019-11-243-5/+10
|
* Fixes for ppc64le and s390x travis testingAnthony Green2019-11-242-7/+20
|
* Force the use of dockerAnthony Green2019-11-241-9/+1
|
* Merge branch 'master' of github.com:libffi/libffiAnthony Green2019-11-242-4/+3
|\
| * disable obsolete 32-bit targets in macOS (#511)Panayotis2019-11-242-4/+3
| |
* | Try travis-ci's new ppc64le and s390x supportAnthony Green2019-11-242-11/+9
| |
* | Minor clean-upAnthony Green2019-11-241-2/+2
|/
* Move nested_struct3 test to closures directoryv3.3Anthony Green2019-11-232-1/+1
|
* Add missing closing braceAnthony Green2019-11-231-0/+1
|
* Version 3.3Anthony Green2019-11-233-7/+8
|
* Remove junk file from distAnthony Green2019-11-231-1/+1
|
* Account for moved test filesAnthony Green2019-11-231-75/+78
|
* Add dejagnu directives accidentally removedAnthony Green2019-11-232-0/+4
|
* Move closure test to closure directoryAnthony Green2019-11-221-0/+0
|
* More more closure tests to the closure test directoryAnthony Green2019-11-2222-1/+23
|
* Merge branch 'master' of github.com:libffi/libffiAnthony Green2019-11-221-1/+1
|\
| * Capture x86-windows host like x86_64-windows (#529)Michael Haubenwallner2019-11-221-1/+1
| |
* | Move closure tests so we can easily XFAIL them for some targetsAnthony Green2019-11-2276-0/+188
| |
* | Remove gccbug detection. GCC is good now.Anthony Green2019-11-224-23/+1
|/
* Manual clean-ups, and include the PDF in the source distribution.Anthony Green2019-11-222-15/+29
|
* Mention more major port contributorsAnthony Green2019-11-211-0/+4
|
* Update autoconf-archive m4 macrosAnthony Green2019-11-215-82/+24
|
* Fix formatting of README.Anthony Green2019-11-211-2/+2
|
* Fix or1k lack-of-g++ checking in testsuiteAnthony Green2019-11-203-3/+14
|
* Add work-around for users who manage their own closure memoryAnthony Green2019-11-201-2/+10
| | | | As suggested by DJ