[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

autoconf is non-deterministic on Perl 5.18 and later

From: demerphq
Subject: autoconf is non-deterministic on Perl 5.18 and later
Date: Mon, 6 Feb 2017 04:44:02 +0100

In Perl 5.18 I changed Perl to use a randomly chosen hash seed each
invocation (I am p5p committer). This means that any code that depends
on the native key order of a hash is non-deterministic.

autoconf includes various places where this is the case, which makes
it annoying to see what *actually* changed from run to run.

The attached patch ensures that all use of keys() in list context is
sorted, including indirectly places like Data::Dumper.

I took the approach that autoconf is not performance sensitive and
that sorting things that strictly speaking do not need to be sorted is
not an issue, especially if it reduces cognitive load in trying  to
tell if such use *could* be an issue.

This patch is not well tested, however I believe it should be safe. It
passes make check.


perl -Mre=debug -e "/just|another|perl|hacker/"

Attachment: autoconf.patch
Description: Text Data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]