ABI incompatibility with -DDEBUGGING vs. without, caused by memory_debug_header #15122
This is a bug report for perl from Niko Tyni <email@example.com>,
The strict XS binary interface checking in Perl_xs_handshake(), introduced
% debugperl -e 'use Cwd'
where 'debugperl' is a 5.22.1 -DDEBUGGING one, configured otherwise
The handshake check takes the interpreter size into account, but
I suppose either PERL_TRACK_MEMPOOL needs to not get enabled
FWIW, I intend to do the former for the Debian 5.22 packages, where
(This is originally https://bugs.debian.org/810326)
Site configuration information for perl 5.22.1:
Configured by Debian Project at Sat Dec 26 07:28:43 UTC 2015.
Summary of my perl5 (revision 5 version 22 subversion 1) configuration:
Locally applied patches:
@INC for perl 5.22.1:
Environment for perl 5.22.1:
Niko Tyni <firstname.lastname@example.org> wrote:
Thanks for the report. This is fixed as of
As far as I can tell, we can't fix this for any maint release, as it
Aaron Crane <email@example.com> writes:
This breaks builds without PERL_IMPLICIT_CONTEXT (i.e. threads) or
echo @`sh cflags "optimize='-O2'" perlmini.o` -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c
Dagfinn Ilmari Mannsåker <firstname.lastname@example.org> wrote:
D'oh. Thanks for the report; fixed in 0419d97.
On Sun Jan 17 06:54:53 2016, arc wrote:
Your fix does not fix ABI compatibility between a DEBUGGING XS module and non-DEBUGGING interp because of Perl_pad_sv. See https://rt.perl.org/Ticket/Display.html?id=123007#txn-1314815 and https://rt.perl.org/Public/Bug/Display.html?id=122032 .