summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Bump VERSION to 1.15.1v1.15.1Lars Kanis2021-05-221-1/+1
|
* Update CHANGELOG for ffi-1.15.1Lars Kanis2021-05-221-0/+9
|
* Append -pthread to linker optionsLars Kanis2021-05-221-0/+3
| | | | | | | | This fixes the following error on Arm Linux (Raspberry Pi) symbol lookup error: ***/gems/ffi-1.15.0/lib/ffi_c.so: undefined symbol: pthread_atfork Fixes #893
* Merge pull request #899 from andrewferk/apple-m1-arm-aarch64Lars Kanis2021-05-121-2/+2
|\ | | | | Use arm or aarch64 to identify Apple ARM CPU arch
| * Use arm or aarch64 to identify Apple ARM CPU archAndrew Ferk2021-05-111-2/+2
|/ | | | | | | Some versions of Ruby are identifying Apple M1 hosts as 'arm-apple-darwin20.3.0' and others 'aarch64-apple-darwin20.3.0'. * Ruby 2.6.5 - `RbConfig::CONFIG['host'] == 'arm-apple-darwin20.3.0'` * Ruby 2.6.7 - `RbConfig::CONFIG['host'] == 'aarch64-apple-darwin20.3.0'`
* Merge pull request #897 from leshik/fix-ccLars Kanis2021-04-152-2/+4
|\ | | | | Allow overriding `gcc` with the `CC` env var in `const_generator.rb` and `struct_generator.rb`
| * Allow overriding `gcc` with the `CC` env var in `const_generator.rb` and ↵Alexey Zagarin2021-04-152-2/+4
|/ | | | `struct_generator.rb`
* Relax bundler version for JRuby on Github ActionsLars Kanis2021-04-031-1/+1
| | | | It is using bundler-1.17.
* Merge branch 'master' of github.com:ffi/ffiLars Kanis2021-04-031-0/+4
|\
| * Merge pull request #891 from bbuchalter/patch-1Lars Kanis2021-03-121-0/+4
| |\ | | | | | | Update README with instructions for submodules
| | * Update README with instructions for submodulesBrian Buchalter2021-03-121-0/+4
| |/ | | | | This is coming up more as people are experimenting with the HEAD of repos trying to get Apple Silicon support working. Example: https://github.com/grpc/grpc/issues/25669#issuecomment-796563819
* | Revert "Enable loading FFI gem on rubinius"Lars Kanis2021-04-031-2/+1
|/ | | | | | | | | | | This reverts commit 195e12f3ee52a8f5620fd8286c2b94737b6b4fc2. Removing constants is contrary to expectation. It was introduced to replace Rubinius internal FFI in favor of the gem. We no longer test on Rubinius and Rubinius seems to be dead. So we can remove this line. Fixes 896
* Use platform name as used by rubygemsv1.15.0Lars Kanis2021-03-051-1/+1
| | | | So that release upload finds the right file.
* Merge pull request #888 from larskanis/async-callback-with-forkLars Kanis2021-03-053-5/+51
|\ | | | | Fix async callbacks in conjunction with fork()
| * Fix async callbacks in conjunction with fork()Lars Kanis2021-03-053-5/+51
|/ | | | | | After fork() the dispatcher thread is no longer running, so it needs to be restarted in the child process. Fixes #884
* Prepare ffi-1.15.0Lars Kanis2021-03-052-1/+23
|
* Replace rubygems-tasks by bundler and do more release automationLars Kanis2021-03-053-27/+82
| | | | | Also remove obsolete stripping of windows so files. This is done by rake-compiler-dock already.
* Use shorter thread names for FFI's callbacksLars Kanis2021-03-053-4/+4
| | | | The thread name is truncated in gdb to 15 characters, so that there was no distiction between "Callback Runner" and "Callback Dispatcher".
* Merge branch 'name-dispatcher-thread' of https://github.com/DataDog/ffi into ↵Lars Kanis2021-02-283-1/+25
|\ | | | | | | DataDog-name-dispatcher-thread
| * Fix callback thread spec failing on WindowsIvo Anjo2021-02-221-3/+3
| | | | | | | | | | | | | | This was probably failing due to thread naming being a racy operation; by keeping a reference to the thread and checking it after the call finishes, this will hopefully be enough for the name to become available.
| * Clarify that TruffleRuby/JRuby do not use a dispatcher threadIvo Anjo2021-02-211-4/+2
| |
| * Name callback runner thread for easier debuggingIvo Anjo2021-02-212-2/+15
| | | | | | | | Similar to what was done for the dispatcher thread.
| * Skip thread naming spec on JRubyIvo Anjo2021-02-191-0/+1
| | | | | | | | I'll take a look at it separately as well.
| * Skip thread naming spec on TruffleRubyIvo Anjo2021-02-191-0/+2
| | | | | | | | I'll submit this separately.
| * Name the async_cb_thread for easier debuggingIvo Anjo2021-02-192-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I found this useful while reviewing datadog/dd-trace-rb#1371 -- we were searching for specs that leaked threads, and saw a "mysterious" thread with no stack that we couldn't exactly point out what created it or why it existed. By setting a name on the callback thread, it becomes immediately obvious when looking at `Thread.list` what this thread is and where it comes from. (Thread naming has been around [since Ruby 2.3](https://github.com/ruby/ruby/blob/v2_3_0/NEWS) which means we can do it safely for every supported version)
* | Implement async callback test on Windows and improve async specsLars Kanis2021-02-282-11/+26
| |
* | Separate double callback spec and variadic call with function pointerLars Kanis2021-02-283-3/+37
| | | | | | | | | | This adds missing float and double specs for callbacks and moves variadic call with a function pointer to variadic specs. Also add another variadic spec with multiple function pointers.
* | Remove unused VariadicInvoker#initLars Kanis2021-02-281-9/+0
| |
* | Remove unused NATIVE_CALLBACK enumLars Kanis2021-02-286-16/+9
| |
* | Allocate enough callback memory to avoid separate countingLars Kanis2021-02-281-13/+3
| | | | | | | | That way we can avoid two loops.
* | Fix unsafe floating point comparisonLars Kanis2021-02-281-1/+1
| |
* | Use ALLOCA_N to preallocate callback param memoryLars Kanis2021-02-281-4/+14
| | | | | | | | Because it's freed when function returns.
* | Merge branch 'master' of github.com:ffi/ffi; branch ↵Lars Kanis2021-02-273-3/+32
|\ \ | | | | | | | | | 'pass-callback-in-varargs' of https://github.com/vincentisambart/ffi into vincentisambart-pass-callback-in-varargs
| * | Allow to pass callbacks in varargsVincent Isambart2021-02-253-3/+32
| |/
* | Merge pull request #886 from andreas-schwab/masterLars Kanis2021-02-261-0/+104
|\ \ | |/ |/| Add types.conf for riscv64-linux
| * Add types.conf for riscv64-linuxAndreas Schwab2021-02-251-0/+104
|/
* Merge pull request #875 from KoellM/fix-msvc-buildLars Kanis2021-01-103-12/+0
|\ | | | | Remove win32/stdbool.h
| * Fix msvc buildKoellM2021-01-113-12/+0
| |
* | Appveyor-CI: Update base image - the old one isn't updated any longerLars Kanis2021-01-051-0/+2
| |
* | Add types.conf for powerpc64le-linuxLars Kanis2020-12-231-0/+100
|/ | | | | This file is moved from JRuby to ffi gem as part of https://github.com/jruby/jruby/pull/6503
* Update CHANGELOG for 1.14.21.14.2Lars Kanis2020-12-211-0/+7
|
* Bump VERSION to 1.14.2Lars Kanis2020-12-211-1/+1
|
* Add all generated+shipped libffi files to `rake clean`Lars Kanis2020-12-211-0/+7
| | | | | | | It happend that ffi-1.14.1 shipped an outdated Makefile.in for builtin libffi. Cleaning these files should make sure, that this mistake will occur twice. Fixes #863
* Remove trailing spaces in .rb filesBenoit Daloze2020-12-2115-40/+40
|
* Add a missing bugfix to CHANGELOG [ci skip]Lars Kanis2020-12-201-0/+1
|
* Better wording in CHANGELOG [ci skip]Lars Kanis2020-12-191-1/+1
|
* Add CHANGELOG entry for ffi-1.14.11.14.1Lars Kanis2020-12-191-0/+8
|
* Bump VERSION to 1.14.1Lars Kanis2020-12-191-1/+1
|
* Merge pull request #861 from larskanis/revoke-806Lars Kanis2020-12-193-58/+19
|\ | | | | Revert "Merge pull request #806 from eregon/fix-write_string"
| * Revert "Merge pull request #806 from eregon/fix-write_string"Lars Kanis2020-12-193-58/+19
|/ | | | | | | | | .. but add test cases for write_sting semantics. This reverts commit 2b44904f8323dcad3eaa978c1fd2b5298bd04663, reversing changes made to 2918fdfc7fde6456d5ddc1090a783de0e82d6e39. Fixes #857