Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 194fb4b5a023fa7d5941b11a7a8badd1a969bdfe
      
https://github.com/Perl/perl5/commit/194fb4b5a023fa7d5941b11a7a8badd1a969bdfe
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl should patch Errno 1.22 and earlier for gcc 5 and later

Without this fix, the generated Errno.pm will contain no entries, which
whilst syntactically valid causes much confusion later on when the bisect
run gives bogus results due to non-buggy module code unrelated to the test
case failing because %! is wrong.


  Commit: d2d29a13afde9d56ad7a1fa4f86fb5f4e08c471f
      
https://github.com/Perl/perl5/commit/d2d29a13afde9d56ad7a1fa4f86fb5f4e08c471f
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl should patch Errno 1.111 and earlier for gcc

Without this fix, Errno.pm fails to build.


  Commit: 27901ed0187410009bd12b9695792140d765bd88
      
https://github.com/Perl/perl5/commit/27901ed0187410009bd12b9695792140d765bd88
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl must patch Configure's glibc detection for pre-5.005


  Commit: 53ec535194ec45296702ca7eea2b2ee59080c383
      
https://github.com/Perl/perl5/commit/53ec535194ec45296702ca7eea2b2ee59080c383
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl must ensure that safemalloc etc have prototypes

Else they are implicitly assumed to return int, which can truncate addresses
on systems where pointers are larger than ints (such as 64 bit systems).


  Commit: 4e75b97c4643b7496ae626f9ded81c653991678c
      
https://github.com/Perl/perl5/commit/4e75b97c4643b7496ae626f9ded81c653991678c
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl needs to disable Configure's use of nm before 5.004

Strictly we only need this for glibc systems, but it doesn't seem terrible
to do it everywhere.


  Commit: 5b62e06d5be1d2208f59b0ba1c5cd039f06e907a
      
https://github.com/Perl/perl5/commit/5b62e06d5be1d2208f59b0ba1c5cd039f06e907a
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl should "fail" if config.sh is missing with --test-build

Previously it would skip, which meant you couldn't bisect the cause of
some ./Configure failures, which rather defeats the intent of --test-build.


  Commit: fab9606d523663a135b180effc28e8154bc78854
      
https://github.com/Perl/perl5/commit/fab9606d523663a135b180effc28e8154bc78854
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl must patch darwin hints to handle macOS 11, 12 etc

The version number moved beyond 10, and older hints files were not ready for
this.


  Commit: 839626ebadc11330c5c63b7db5508f403a6d75e1
      
https://github.com/Perl/perl5/commit/839626ebadc11330c5c63b7db5508f403a6d75e1
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl must patch Configure to avoid myread looping infinitely

Configure can get stuck and ask questions for which it needs a valid answer
before it can continue. As-is, if you redirect stdin from /dev/null (or close
the file descriptor) it will (effectively) loop infinitely repeating the same
question, because it doesn't like empty string as an answer. Worse - it keeps
repeating the question to stdout - eg 'Where is your C library?'

Rather than attempting to patch the shell script to detect errors on read
(because they only matter the *second* time round the loop, *and* wouldn't
handle the /dev/null case), it's easier to patch the relevant loop so that
it will abort after too many loop iterations.


  Commit: 468e1a1ab096385be0400fb519a0703c13ba29bb
      
https://github.com/Perl/perl5/commit/468e1a1ab096385be0400fb519a0703c13ba29bb
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl must stop Configure looping on "does not exit"

This only affects a small range of commits in development releases, but
without this change they can loop infinitely, rather than correctly skipping
(or failing a build test). An infinite loop (with terminal output) is
extremely unhelpful.


  Commit: 619c2f42c9c887ee9e6750cdcbe714eee2fe6d51
      
https://github.com/Perl/perl5/commit/619c2f42c9c887ee9e6750cdcbe714eee2fe6d51
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl must expose a prototype for was_lvalue_sub to List::Util

This problem was rapidly diagnosed and fixed at the time, but we need to fix
the few commits where the problem exists, else we can't bisect other build
failures.


  Commit: 906c895c6023896541ebbc3d1ce3853f3f8d839f
      
https://github.com/Perl/perl5/commit/906c895c6023896541ebbc3d1ce3853f3f8d839f
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl needs to patch a build bug in Digest::MD5

This failure gets in the way of bisecting other problems.


  Commit: 8257f1a0a40c0d8821823e9cc4760994777e7938
      
https://github.com/Perl/perl5/commit/8257f1a0a40c0d8821823e9cc4760994777e7938
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl should remove all the "complications" about <signal.h>


  Commit: 2f61c58f0a6e755f230edfd4e9a705fddd582419
      
https://github.com/Perl/perl5/commit/2f61c58f0a6e755f230edfd4e9a705fddd582419
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl needs to avoid using nm on darwin

Earlier versions of the hints defaulted to using nm, because on older versions
of OS X (as was) it worked.

It also needs to patch the hints file to force d_stdstdio to "undef".
Without this, a build with "d_faststdio" defined (or implicit) will fail badly
on current macOS, such as the perl-5.8.0 tag.


  Commit: bb9871770c3dec3ad101dfff5f9a0920045221a2
      
https://github.com/Perl/perl5/commit/bb9871770c3dec3ad101dfff5f9a0920045221a2
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl needs to use the current approach for symbol probing

The older version assumed an explicit prototype for printf(), which doesn't
fly on arm64 macOS. It might not be robust on some other platforms too,
whereas the "current" (ie 2003 onward) approach still works everywhere.

Change edit_file() to only localise $/ to undef during the read, so that it's
restored to its default ("\n") when the callback is invoked. Without this,
`chomp` "doesn't work" (as expected) in the callback.


  Commit: ecf24c3bdd5d71704e5e511bef42ae430f559a08
      
https://github.com/Perl/perl5/commit/ecf24c3bdd5d71704e5e511bef42ae430f559a08
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl must include more headers in Configure probes

Without these various probes rely on implicit function declarations, typically
for exit() or printf(). macOS now forbids implicit function declarations,
which causes these probes to become compile time errors and hence "fail".
This results in Configure assuming that many symbols are missing, and the
build fails where it should pass.


  Commit: 73aff761124872ad5a01967754c49d897a5add90
      
https://github.com/Perl/perl5/commit/73aff761124872ad5a01967754c49d897a5add90
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl needs a probe for setpgrp with function prototypes

Else it can't build 5.003 or 5.002 on macOS.


  Commit: 7d994703dedf28a09a41810269ad0810e55096cb
      
https://github.com/Perl/perl5/commit/7d994703dedf28a09a41810269ad0810e55096cb
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl needs to force a -flat_namespace before v5.10.0

The hints for macOS set -flat_namespace conditionally based on darwin
version, so that newer OSes would default to the native two level namespace.
However, the build of miniperl was relying on a flat namespace prior to a
refactoring during the 5.9.x series. Hence we need to force this linker flag
when building versions before this on current macOS versions.


  Commit: 7aa54fe19fcfbd642dc14bdd8b40ec86982aacc2
      
https://github.com/Perl/perl5/commit/7aa54fe19fcfbd642dc14bdd8b40ec86982aacc2
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl needs to set DYLD_LIBRARY_PATH on macOS

El Capitan (OS X 10.11) (and later) strip DYLD_LIBRARY_PATH from the
environment of /bin/sh, hence setting the existing code that sets this in
%ENV assuming that it is visible to the invoked process no longer works. We
have to be explicit in every invocation, as part of the command that the
shell itself is processing.

This hurts us because in 5.8.0 and earlier the hints default macOS to build
a shared perl library.


  Commit: a7159ad30bdf58158c6589b3549941694365b5b8
      
https://github.com/Perl/perl5/commit/a7159ad30bdf58158c6589b3549941694365b5b8
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl needs to ensure a prototype for __getBerkeleyDBInfo()

Without this some early versions of DB_File won't build on current macOS,
and any other platform where the C compiler is agressive about prototypes.

This commit refactors code for an existing DB_File patch to split a compound
if statement into two ifs.


  Commit: ab84059c0fef8b871337dc492816378eb6a6b497
      
https://github.com/Perl/perl5/commit/ab84059c0fef8b871337dc492816378eb6a6b497
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl needs to fix a shell heredoc error in Makefile.SH

Else some development versions of 5.003 mysteriously won't build.
These versions aren't important in themselves, but their failure makes it
hard to bisect real problems.


  Commit: 3c1e354e5b7b90188016dbabdc501dd14a534022
      
https://github.com/Perl/perl5/commit/3c1e354e5b7b90188016dbabdc501dd14a534022
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl must ensure prototypes exist for htovs() etc

These fallback functions are defined in util.c, but initially did not have
any prototypes in a header.


  Commit: deda6897f2ab841a3879751f41815e39a1e45d87
      
https://github.com/Perl/perl5/commit/deda6897f2ab841a3879751f41815e39a1e45d87
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl must ensure that perl.h includes fcntl.h and sys/file.h

The C code needs prototypes from these headers.


  Commit: 6d4507d83bfd898c9fdf376010b3346ca2a43967
      
https://github.com/Perl/perl5/commit/6d4507d83bfd898c9fdf376010b3346ca2a43967
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl must patch in the size of PL_uuemap[]


  Commit: 902ed9e49caf02c58e1eaf615e7907f5b43bb5fc
      
https://github.com/Perl/perl5/commit/902ed9e49caf02c58e1eaf615e7907f5b43bb5fc
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl shouldn't generate undef warnings from internal patches

The regex wasn't handling context diffs, and two of the unified diffs were
generated with differing filenames and trailing timestamp text that it wasn't
robust against.


  Commit: 889794d34c832b4fb85e18b8e0a4048d6353b45e
      
https://github.com/Perl/perl5/commit/889794d34c832b4fb85e18b8e0a4048d6353b45e
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl must patch dl_dyld.xs to eliminate the PREINIT section

*Really* early xsubpp doesn't understand this, and it turns out to be trivial
to eliminate it.


  Commit: eb2a178ad48ae034f813105dc47dc909aaa81888
      
https://github.com/Perl/perl5/commit/eb2a178ad48ae034f813105dc47dc909aaa81888
  Author: Nicholas Clark <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  bisect-runner.pl should supply a prototype for Gv_AMupdate

This was missing prior to perl-5.001


  Commit: 7e382c34e98f495d13832945a62ca37e8c4972b2
      
https://github.com/Perl/perl5/commit/7e382c34e98f495d13832945a62ca37e8c4972b2
  Author: Yves Orton <[email protected]>
  Date:   2023-02-11 (Sat, 11 Feb 2023)

  Changed paths:
    M Porting/bisect-runner.pl

  Log Message:
  -----------
  Merge branch 'bisect-runner-tweaks' into blead

Merging this as a --no-ff merge at the request of J. Keenan
who is the bisect master these days. See Github PR #20016.


Compare: https://github.com/Perl/perl5/compare/c7342b06c240...7e382c34e98f

Reply via email to