Commits on Aug 10, 2016
  1. Changes for #369 (atoomic)

    committed Aug 10, 2016
  2. Fix to compile in correctly

    GH #369: Subroutines redefined from utf8_heavy could be compiled in the binary
    without setting INC correctly. Provide a common
    helper to compile in utf8_heavy.
    References: CPANEL-5417, CPANEL-6105
    Nicolas Rochelemagne committed with Jun 16, 2016
Commits on Aug 9, 2016
  1. travis: todo 5.8

    prepare cperl-5.24.0 tests via perlbrew.
    just travis-perl helpers needs to support this, but we can just fork it.
    committed Aug 9, 2016
  2. modules: merge cperl improvements

    disable msvc linker optims,
    use cperl c prefix
    committed Aug 9, 2016
  3. modules: missing Socket::AF_UNIX in 5.8.9

    the undefined &Socket::AF_UNIX under 5.8.9 leads to an
    undeclared CVIX* under linux.
    committed Aug 9, 2016
  4. C: fixup arenasize refcnt

    we store a 0 refcnt for the arenasize initially
    and fixup it later in output. This was broken with the
    0=>NULL change previously, which broke global destruction for some SVs,
    esp. global our objects. (issue 208 and issue 197) <= 5.14.
    committed Aug 9, 2016
  5. travis: enable 5.24

    committed Aug 9, 2016
  6. C 1.54_09: Optimize CopFILE_set by caching gv_fetchfile

    without threads, with -O3 only (-fconst-strings)
    case CPANEL-7887.
    This goes back to v5.6 without threads:
      #define CopFILE_set(c,pv) CopFILEGV_set((c), gv_fetchfile(pv))
    committed Aug 9, 2016
Commits on Jul 27, 2016
  1. C: format unopaux_list->op_type = OP_NULL

    in free. proper indent and \n
    committed Jul 27, 2016
  2. C: simplify boot_DynaLoader, fix windows dll slashes

    from cperl-5.24.0
    committed Jul 27, 2016
Commits on Jul 16, 2016
  1. B::Stash - XSLoader security from 0.22

    to avoid exploitable invalid "(eval 1)" rootdir.
    committed Jul 16, 2016
Commits on Jul 3, 2016
  1. C 1.54_08: sync with cperl core

    revert to old non-IPC::Run
        restore outside PERL_CORE tests, where IPC::Run was not able to
        run and timeout normal commands. Only t/modules.t uses it
    default .exe on windows
        perlcc -o pcc should produce pcc.exe on windows, not pcc.
        Fixes [perl-compiler 371].
        add is_winlike() helper for MSWin32,msys and cygwin
        add #pragma warning( disable : 4047 ) for msvc (sv header char* default)
    perlcc target dir sep on Win32 gmake perl fix
        gmake: *** No rule to make target script/perlcc, needed by
        blibscriptperlcc.  Stop.
    add disabled core watchdog (too many timeouts)
    skip+todo some tests on cygwin
        21 hangs
        38 hangs while reading from /dev/null
        42-43 is a TODO
        stashes.t:6 fails
    fix warnings in generated C code
        commit "C: fix HvAUX memory corruption" removed the use of the C auto
        "aux" var. Fixes in e_perlcc.t
        pcc.c(578) : warning C4101: aux : unreferenced local variable
        commit "C: perl_init to void returns" adds "register int i;" which isn't
        always used (example e_perlcc.t), so silence the warning.
        pcc.c(244) : warning C4101: 'i' : unreferenced local variable
        previously pcc.c looked like
        Static SV sv_list[27] = {
            { 0, 27, SVTYPEMASK|0x01000000, {0} }, /* sv_list[0]  */
            { NULL, 2, 0x1101, {1} }, /* sv_list[1]  */
            { &xpvio_list[0], 2, 0x10000f, {0} }, /* sv_list[2]  */
            { &xpvav_list[0], 5, 0x40c0000b, {0} }, /* sv_list[3]  */
        There is a potential some CC might complain about "0" being used as a
        pointer instead of NULL for sv_any. Use NULL to be safe.
    cperl524.lib lives in /lib/CORE not / on Win32
        cperl524.lib lives in /lib/CORE only, not in both /lib/CORE and / during
        the win32 perl build process. Fixes VC link errors from e_perlcc.t during
        a "make test" that it can't find cperl524.lib.
    msvc -I uninstalled headers before -I'ing installed headers
        ExtUtils::Embed::ccopts contains the -I for the installed headers, if
        another cperl, with a different version, is installed at the proposed
        install location of the cperl under a "make test", perlcc will pickup
        headers from the wrong cperl version (other installed cperl) instead of
        from the source tree, put the -I"..\..\lib\CORE"' first before the -I
        from inside ExtUtils::Embed::ccopts is seen by the CC
        before cl -nologo -GF -W3 -O1 -MD -Zi -DNDEBUG -GL
        -D_USE_32BIT_TIME_T -I"C:\cperl\lib\CORE" -c -Fopcc.obj pcc.c
        after cl -I"..\..\lib\CORE" -nologo -GF -W3 -O1 -MD -Zi -DNDEBUG -GL
        -D_USE_32BIT_TIME_T -I"C:\cperl\lib\CORE" -c -Fopcc.obj pcc.c
    disable MSVC testing in CORE
        there are still some problems.
        e.g. perlcc prints at least 3 c compiler warnings,
        which are not yet filtered.
        with MSVC cc_harness needs to seperate the cfile from the exe and obj file,
        because there we have seperate compile and link commands.  so -o out cannot
        be passed through.
    check EUMM MM_Unix version
        for the changed subdirs-test target
    perlcc 2.21, cleanup t/e_perlcc.t
        support multiple -I and -L options with spaces in path and win32
        use TestBC.
        No additional perlcc args needed on core, as perlcc itself knows
        about PERL_CORE.
    use uninstalled /lib/CORE headers, not / headers
        Perhaps on Unix all the perl headers are in /, but on Win32 Perl, they
        are in /, /win32, and /win32/include, during the top level build process
        the headers from these 3 locations are copied to /lib/CORE and flattened
        more or less. Just always use /lib/CORE to find perl's headers, not root
        src dir.
        Right analysis, but wrong fix.
        I fixed it in all the used linkers instead: TestBC, cc_harness and perlcc
    fix and re-enable on windows
        fixed some MSVC issues.
        STRUCT_OFFSET is not a compile-time constant with the padname string.
        void* has no known size on MSVC.
        dl_boot is not exported from the win32 dll (would need PERL_CALLCONV
        but we don't need it)
        sync with the missing exported symbols on windows, which are only properly
        exported since cperl 5.24:
    fix win32 miniperl, @INC, problems
        $(PERL) is a disk file, $(PERLRUN) is the cmd line to run the interp,
        Win32 miniperl requires to loaded to work, miniperl
        looks in $INC[0] to find, not all of @INC. So avoid
        rolling ourself the correct -Is and let EUMM do it. For the
        "system($^X,"" code, put /lib first, since it has to be done manually here
        because this is a .pl and not a makefile.
        Have ByteLoader's makefile call the parent makefile in the rare case that
        byterun.c and need to execute. Calling the maketool with the
        parent makefile avoids having to think about -Is and what is cwd and
        having 2 different targets with different recipies for generating the
        same 2 files.
    fix prev. 32bit fix for 64bit
        keep the old ptr subtraction for 64bit. fixes both cases
    committed Jul 3, 2016
Commits on Jun 11, 2016
  1. add testcase for #367

    broken since 5.22, most likely wrong METHOP for binc
    committed Jun 11, 2016
Commits on Jun 9, 2016
  1. C: revert prev. only 32bit -1, 64bit -2 ptr

    keep the old ptr subtraction for 64bit. fixes both cases.
    committed Jun 9, 2016
  2. B-C 1.54_07: Fixed shared xpviv with 5.24 on 32bit

    We were using the wrong ptr diff
    This fixes 5.24 on 32bit.
    Also merge more cperl-5.24.0 core improvements.
    less compiler warnings, ...
    committed Jun 9, 2016
Commits on May 28, 2016
  1. ByteLoader: no strcpy

    replace with safer my_strlcpy
    committed May 28, 2016
Commits on May 26, 2016
  1. skip -m32 tests in core

    and convert manual TAP to Test::More. we need to use the
    methods and internal plan and counter.
    committed May 26, 2016
Commits on May 10, 2016
  1. cperl and 5.8 fixes

    SIGNATURE is only in cperl5.24 yet, probably in perl5.26 also
    CopHINTHASH_set is only since 5.10
    committed May 10, 2016
  2. C, ByteLoader 1.54_06: fix CC, improve ByteLoader

    Add B::FAKEOP::rettype(), needed for B::CC
    Fix ByteLoader CORE Makefile: ../../../miniperl is wrong
    Silence various ByteLoader warnings
    Add SIGNATURE support to aux_list_thr and UNOP_AUX::save
    committed May 10, 2016
Commits on May 9, 2016
  1. C: fix for <5.12

    PL_registered_mros came with 5.12
    committed May 9, 2016
  2. C 1.54_05: fix refcount of cop hints hashes

    for v5.22-nt only, revert the refcount bump from 1.54.
    fixes #220: t/issue220.t
    committed May 9, 2016
  3. fix old META: googlecode is long gone

    and the old homepage is also dead. for
    I am waiting for a few weeks already on shadowcat
    committed May 9, 2016
  4. C 1.54_04: cperl OP_SIGNATURE

    for the simple action-only variants. No special-cases for the
    default SV/GVs yet.
    committed May 9, 2016
  5. Changes: Upload 1.54_03 to CPAN

    as it was released with cperl-5.22.2
    committed May 9, 2016
Commits on May 3, 2016
  1. C 1.54_03: Fix for shared xpviv with 5.24. asserts if unshared

    5.24 checks now if the SvANY of a IV points now really 2 words upwards, to
    be able to use a shared xpviv struct with the HEAD
    committed May 3, 2016
Commits on Apr 26, 2016
  1. C -O3: also clear the stashcache here

    better DESTROY the objects with a pristine stashcache.
    got corrupt stashcache entries in global DBI destruction,
    even with -O3.
    committed Mar 22, 2016
  2. all: omit class, to be used as keyword with multi

    use B::class instead
    committed Mar 20, 2016
  3. C: skip @DynaLoader::dl_modules|shared_objects

    which fail to be extended with threads, as AvCOG.
    They are initialized at init-time, should not carry duplicate entries
    committed Mar 17, 2016
  4. C: fix odd uselongdouble struct init corruption

    with uselongdouble the struct init for static cvs corrupts 2 pointers
    cvroot and cvpadlist, which need to be initialized at run-time.
    very odd (WIP: rootcause, gcc darwin bug?)
    committed Mar 17, 2016
  5. C.xs: skip ARRAY_utf8 since 5.20

    5.20 came up with the utf8 fix
    committed Mar 10, 2016