In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/bb35dd48acdf927bd054fc5a239f7e4f8bfdb7fd?hp=7163f51000bd5b33134c580d3e8d33b93048a2f5>
- Log ----------------------------------------------------------------- commit bb35dd48acdf927bd054fc5a239f7e4f8bfdb7fd Author: Nicholas Clark <[email protected]> Date: Wed Dec 7 18:42:00 2011 +0100 bisect-runner.pl now builds 42 more 5.005_5x releases. Commit 455ece5e082708b1, which added the SSNEW() macro, was buggy and needs a fix from commit 3c8a44569607336e in order to avoid strange seemingly unrelated SEGVs. M Porting/bisect-runner.pl commit 31940c077ae95db734801861cede891fc5b22290 Author: Nicholas Clark <[email protected]> Date: Wed Dec 7 16:41:21 2011 +0100 Teach bisect-runner.pl how to build a significant PERL_OBJECT commit. Commit 22c35a8c2392967a is "phase 1 of somewhat major rearrangement of PERL_OBJECT stuff" but doesn't build due to 2 simple errors. blead in this broken state was merged to the cfgperl branch, and then these were immediately corrected there. cfgperl (with the fixes) was merged back to blead. The resultant rather twisty maze of commits completely confuses git bisect (and at least me), causing it to the bisect run to confidently return the wrong answer, an unrelated commit on the cfgperl branch. M Porting/bisect-runner.pl commit df01cf535935866067557b2a5a582b3fc295eeff Author: Nicholas Clark <[email protected]> Date: Wed Dec 7 14:37:52 2011 +0100 bisect-runner.pl must patch an incorrect use of eaccess() for 5.005_5x Without this, 538 intermedidate revisions of 5.005_5x fail to build on (at least) Linux. M Porting/bisect-runner.pl ----------------------------------------------------------------------- Summary of changes: Porting/bisect-runner.pl | 123 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 123 insertions(+), 0 deletions(-) diff --git a/Porting/bisect-runner.pl b/Porting/bisect-runner.pl index 0bec743..7b2bc34 100755 --- a/Porting/bisect-runner.pl +++ b/Porting/bisect-runner.pl @@ -2446,6 +2446,129 @@ index c2fcb6f..efa39fb 100644 EOPATCH } + if ($major == 5 + && `git rev-parse HEAD` eq "22c35a8c2392967a5ba6b5370695be464bd7012c\n") { + # Commit 22c35a8c2392967a is significant, + # "phase 1 of somewhat major rearrangement of PERL_OBJECT stuff" + # but doesn't build due to 2 simple errors. blead in this broken state + # was merged to the cfgperl branch, and then these were immediately + # corrected there. cfgperl (with the fixes) was merged back to blead. + # The resultant rather twisty maze of commits looks like this: + +=for comment + +* | | commit 137225782c183172f360c827424b9b9f8adbef0e +|\ \ \ Merge: 22c35a8 2a8ee23 +| |/ / Author: Gurusamy Sarathy <[email protected]> +| | | Date: Fri Oct 30 17:38:36 1998 +0000 +| | | +| | | integrate cfgperl tweaks into mainline +| | | +| | | p4raw-id: //depot/perl@2144 +| | | +| * | commit 2a8ee23279873759693fa83eca279355db2b665c +| | | Author: Jarkko Hietaniemi <[email protected]> +| | | Date: Fri Oct 30 13:27:39 1998 +0000 +| | | +| | | There can be multiple yacc/bison errors. +| | | +| | | p4raw-id: //depot/cfgperl@2143 +| | | +| * | commit 93fb2ac393172fc3e2c14edb20b718309198abbc +| | | Author: Jarkko Hietaniemi <[email protected]> +| | | Date: Fri Oct 30 13:18:43 1998 +0000 +| | | +| | | README.posix-bc update. +| | | +| | | p4raw-id: //depot/cfgperl@2142 +| | | +| * | commit 4ec43091e8e6657cb260b5e563df30aaa154effe +| | | Author: Jarkko Hietaniemi <[email protected]> +| | | Date: Fri Oct 30 09:12:59 1998 +0000 +| | | +| | | #2133 fallout. +| | | +| | | p4raw-id: //depot/cfgperl@2141 +| | | +| * | commit 134ca994cfefe0f613d43505a885e4fc2100b05c +| |\ \ Merge: 7093112 22c35a8 +| |/ / Author: Jarkko Hietaniemi <[email protected]> +|/| | Date: Fri Oct 30 08:43:18 1998 +0000 +| | | +| | | Integrate from mainperl. +| | | +| | | p4raw-id: //depot/cfgperl@2140 +| | | +* | | commit 22c35a8c2392967a5ba6b5370695be464bd7012c +| | | Author: Gurusamy Sarathy <[email protected]> +| | | Date: Fri Oct 30 02:51:39 1998 +0000 +| | | +| | | phase 1 of somewhat major rearrangement of PERL_OBJECT stuff +| | | (objpp.h is gone, embed.pl now does some of that); objXSUB.h +| | | should soon be automated also; the global variables that +| | | escaped the PL_foo conversion are now reined in; renamed +| | | MAGIC in regcomp.h to REG_MAGIC to avoid collision with the +| | | type of same name; duplicated lists of pp_things in various +| | | places is now gone; result has only been tested on win32 +| | | +| | | p4raw-id: //depot/perl@2133 + +=cut + + # and completely confuses git bisect (and at least me), causing it to + # the bisect run to confidently return the wrong answer, an unrelated + # commit on the cfgperl branch. + + apply_commit('4ec43091e8e6657c'); + } + + if ($major == 5 + && extract_from_file('pp_sys.c', qr/PERL_EFF_ACCESS_R_OK/) + && !extract_from_file('pp_sys.c', qr/XXX Configure test needed for eaccess/)) { + # Between 5ff3f7a4e03a6b10 and c955f1177b2e311d^ + # This is the meat of commit c955f1177b2e311d (without the other + # indenting changes that would cause a conflict). + # Without this 538 revisions won't build on (at least) Linux + apply_patch(<<'EOPATCH'); +diff --git a/pp_sys.c b/pp_sys.c +index d60c8dc..867dee4 100644 +--- a/pp_sys.c ++++ b/pp_sys.c +@@ -198,9 +198,18 @@ static char zero_but_true[ZBTLEN + 1] = "0 but true"; + # if defined(I_SYS_SECURITY) + # include <sys/security.h> + # endif +-# define PERL_EFF_ACCESS_R_OK(p) (eaccess((p), R_OK, ACC_SELF)) +-# define PERL_EFF_ACCESS_W_OK(p) (eaccess((p), W_OK, ACC_SELF)) +-# define PERL_EFF_ACCESS_X_OK(p) (eaccess((p), X_OK, ACC_SELF)) ++ /* XXX Configure test needed for eaccess */ ++# ifdef ACC_SELF ++ /* HP SecureWare */ ++# define PERL_EFF_ACCESS_R_OK(p) (eaccess((p), R_OK, ACC_SELF)) ++# define PERL_EFF_ACCESS_W_OK(p) (eaccess((p), W_OK, ACC_SELF)) ++# define PERL_EFF_ACCESS_X_OK(p) (eaccess((p), X_OK, ACC_SELF)) ++# else ++ /* SCO */ ++# define PERL_EFF_ACCESS_R_OK(p) (eaccess((p), R_OK)) ++# define PERL_EFF_ACCESS_W_OK(p) (eaccess((p), W_OK)) ++# define PERL_EFF_ACCESS_X_OK(p) (eaccess((p), X_OK)) ++# endif + #endif + + #if !defined(PERL_EFF_ACCESS_R_OK) && defined(HAS_ACCESSX) && defined(ACC_SELF) +EOPATCH + } + + if ($major == 5 + && extract_from_file('mg.c', qr/If we're still on top of the stack, pop us off/) + && extract_from_file('mg.c', qr/PL_savestack_ix -= 2/)) { + # Fix up commit 455ece5e082708b1: + # SSNEW() API for allocating memory on the savestack + # Message-Id: <[email protected]> + # Subject: [PATCH 5.005_51] (was: why SAVEDESTRUCTOR()...) + apply_commit('3c8a44569607336e', 'mg.c'); + } + if ($major < 6 && $^O eq 'netbsd' && !extract_from_file('unixish.h', qr/defined\(NSIG\).*defined\(__NetBSD__\)/)) { -- Perl5 Master Repository
