The perl compiler modules B::C, B::Bytecode and B::CC require various patches for various perl versions.

Some patches are mandatory for Windows or other strictly linked platforms (AIX), some are recommended to produce smaller and faster code.

You need to run perlall build --allpatches or perlall build --patches=Compiler to apply these.


This list is complete for all perl versions 5.6 - 5.22.0, for all three threaded, non-threaded and multiplicity variants.

    5.13.7-now:  RT#81332 revert 744aaba0 bloats the B compilers
    5.10-5.15.1: 8375c93e Export store_cop_label for the perl compiler
    5.15.2-3:    4497a11a Export DynaLoader symbols from libperl again
    5.22-        5.22 newPROG broke ByteLoader

Devel::PatchPerl::Plugin::Compiler::patchperl($class, {version,source,patchexe})

Apply patches in Devel::PatchPerl::Plugin::Compiler depending on the perl version. See Devel::PatchPerl::Plugin

Every patch is recorded in patchlevel.h, visible in myconfig. If a patch fails the script dies.