Changes for version 0.19 - 2026-04-28

  • Capture compiler/linker stderr in xs_jit_compile_file: use popen()/pclose() (with _popen on Windows) so the contents of gcc's "2>&1" redirect actually reach the warn() output. Without this, every CPAN tester failure report just shows the cmd line with no clue why it failed.
  • Fix Cygwin/MSYS linking: extend the Win32 link branch to handle __CYGWIN__ and __MSYS__, link against -lperl5XX, and add -Wl,--export-all-symbols. Cygwin previously fell through to the unix branch which doesn't link against perl, so every JIT module failed to link.
  • Fix Perl_custom_op_register fallback for pre-5.14 Perls in both the static lib/XS/JIT/xs_jit_builder.h header and the JIT-emitted prologue from xs_jit.c.
  • Skip "Force recompile succeeds" subtest in t/004-caching.t on MSWin32: Windows holds an exclusive lock on loaded DLLs, so in-process force recompile cannot overwrite the on-disk file.

Modules

Lightweight JIT compiler for XS code
interface for building XS/C code strings
Bindings generated by XS::JIT::Header
C header file parser for XS::JIT::Header
C to Perl type mappings for XS::JIT::Header