Branch: refs/heads/yves/fix_static_build_regex_engine Home: https://github.com/Perl/perl5 Commit: 4950a12743100d0e63ab95925ad5d7e300a060af https://github.com/Perl/perl5/commit/4950a12743100d0e63ab95925ad5d7e300a060af Author: Yves Orton <demer...@gmail.com> Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths: M Makefile.SH Log Message: ----------- Makefile.SH - when building with -Uusedl we do not need to build re.xs This fixes make test_reonly when building under -Uusedl. We do not need to call make_ext.pl on the re extension, as it will be statically linked anyway. Commit: a58b204dd0568ced8a70a21a5aa8f04f50130045 https://github.com/Perl/perl5/commit/a58b204dd0568ced8a70a21a5aa8f04f50130045 Author: Yves Orton <demer...@gmail.com> Date: 2024-02-15 (Thu, 15 Feb 2024) Changed paths: M regcomp_internal.h Log Message: ----------- regcomp_internal.h - handle -Uusedl in RExC_state_t Under -Uusedl there were two problems: the first was that we were conditionally adding fields based on whether DEBUGGING was true, but this does not work properly when do a static build as we use the same data structure definition for DEBUGGING and non-DEBUGGING builds as we compile both into the same library. So in this case we just always include the additional fields. We probably could even just ALWAYS include them, as we normally only have one of these structs around so the unused storage for these fields would not really be a burden. The second problem was that the debugging fields were not at the end of the structure. This meant that code compiled under DEBUGGING and not would access the same memory for different purposes. This patch makes it so we include these fields if we are building under DEBUGGING, OR if we are doing a static build. It also moves these fields to the end so that there is no ambiguity about which memory is used for what. Compare: https://github.com/Perl/perl5/compare/4950a1274310%5E...a58b204dd056