[PROF-15559] Add headers for Ruby 2.6 to 3.2 + bump gem version to 3.5.5 - #29
Conversation
|
Looks good. |
65c0289 to
cfbdfc6
Compare
|
Hey @eregon can you give a new pass? I've
|
Yup:
|
This dependency is deprecated, but at least let's use a modern version of the deprecated gem...
Also add `missing/stdbool.h` to `find_includes.rb`'s `KNOWN_MISSING` list: Ruby 2.7.0's internal.h has a `#ifdef HAVE_STDBOOL_H ... #else include "missing/stdbool.h" #endif` fallback that isn't shipped by our Rakefile and is dead code on any platform with a real stdbool.h (which we always have).
160a8de to
800aacf
Compare
|
I've force-pushed a rebase on top of master with no changes to re-sign the commits, as the ones I had done in my workspace were missing the signature. |
|
Realized now: datadog-ruby_core_source/.github/workflows/test-compilation.yml Lines 28 to 32 in d1b0b24 git grep -i MJIT) but also we should test both 2.6.0 and 2.6 like it's done for 3.4, and same for other versions changed.
|
What does this PR do?
This PR adds (trimmed) headers for Ruby 2.6 to 3.2.
Motivation:
We're dropping our use of the MJIT headers, and just use the "vendored headers" approach for all Rubies in dd-trace-rb. This will allow us to clean up a number of awkward separate code paths, and in the future should open the door to supporting single step instrumentation (SSI) for the profiler as well.
Additional Notes:
I had opened an earlier version of this PR as a draft. It seems all's fine, so let's move forward.
How to test the change?
This PR pairs with DataDog/dd-trace-rb#6135 for dd-trace-rb to use these headers. Since dd-trace-rb has an hardcoded list of Ruby versions that use MJIT we can release the change on this gem first, and then land the dd-trace-rb side after.