Bug#844752: perl: Configure test stores uninitialized memory in longdblinfbytes

Niko Tyni ntyni at debian.org
Fri Nov 18 18:00:48 UTC 2016


Package: perl
Version: 5.24.1~rc3-3
Severity: normal
Tags: patch upstream
User: reproducible-builds at lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org

The Configure test for long double implementation details probes the
contents of "long double inf", and they get stored in the Config module:

 % perl -V:longdblinfbytes
 longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00';

Some of these bytes are currently essentially random and vary between
builds on at least amd64 and i386, because their long doubles are only
80-bit and the remaining six bytes stay uninitialized.

The relevant Configure probe tries to initialize these bytes, but has
several bugs that defeat the purpose. Patch attached.

The randomness seems to only have started to show with GCC-6 for
one reason or another; the bytes are zeroed out on at least GCC-5.
-- 
Niko Tyni   ntyni at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Configure-fix-garbage-filtering-with-80-bit-long-dou.patch
Type: text/x-diff
Size: 1735 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/perl-maintainers/attachments/20161118/26a01672/attachment-0001.patch>


More information about the Perl-maintainers mailing list