In metaconfig.git, the branch master has been updated <http://perl5.git.perl.org/metaconfig.git/commitdiff/441695c09aebf58c88b0c9d0c42600fae89ce436?hp=d3de58a861cddb6a237d95444fffdeccd8fd459d>
- Log ----------------------------------------------------------------- commit 441695c09aebf58c88b0c9d0c42600fae89ce436 Author: Aaron Crane <[email protected]> Date: Sat May 14 16:26:22 2016 +0100 Tweak Csym.U probe to handle GCC 6 -flto In GCC 6, link-time optimization is smarter at removing references to functions that never actually get used, so all symbols were being detected as available. This change constitutes our latest move in this arms race. Backport of this perl5 commit: commit adec5bbf0b66ee5ebc2ba80eda2389bb68e23d86 Author: Lukas Mai <[email protected]> AuthorDate: Wed May 11 22:15:34 2016 +0200 Commit: Aaron Crane <[email protected]> CommitDate: Sat May 14 16:21:36 2016 +0100 fix symbol detection with gcc 6 link-time optimization (RT #128131) M U/compline/Csym.U commit c68ad52e79698620d82369a1265bd2f40809b3e4 Author: Aaron Crane <[email protected]> Date: Sat May 14 14:15:56 2016 +0100 Don't croak when usecrosscompile but no targethost Backport of this perl5 commit, for Perl RT#127234: commit 23695c073f41fdac9d20d873827ba8b2a3dda710 Author: Niko Tyni <[email protected]> AuthorDate: Sun Jan 10 22:35:53 2016 +0200 Commit: Tony Cook <[email protected]> CommitDate: Tue May 10 10:46:13 2016 +1000 Fix the Configure escape with usecrosscompile but no targethost Commit 97076f2 added a graceful exit to Configure when targethost is not defined but usecrosscompile is. However, this is not reached because there is a similar check a bit earlier that makes Configure bail out. Make the earlier check warn instead of croaking. The use case for this combination is supplying an external config.sh suitable for the target platform, avoiding the need for configuration probes. M U/perl/Cross.U ----------------------------------------------------------------------- Summary of changes: U/compline/Csym.U | 4 ++-- U/perl/Cross.U | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/U/compline/Csym.U b/U/compline/Csym.U index d8fab9f..5ab7429 100644 --- a/U/compline/Csym.U +++ b/U/compline/Csym.U @@ -97,13 +97,13 @@ yes) if $contains $tlook $tf >/dev/null 2>&1; then tval=true; elif $test "$mistrustnm" = compile -o "$mistrustnm" = run; then - echo "$extern_C void *$1$tdc; void *(*(p()))$tdc { return &$1; } int main() { if(p() && p() != (void *)main) return(0); else return(1); }"> try.c; + echo "$extern_C void *$1$tdc; void *(*(p()))$tdc { return &$1; } int main(int argc, char **argv) { if(p() && p() != (void *)argv[0]) return(0); else return(1); }"> try.c; $cc -o try $optimize $ccflags $ldflags try.c >/dev/null 2>&1 $libs && tval=true; $test "$mistrustnm" = run -a -x try && { $run ./try$_exe >/dev/null 2>&1 || tval=false; }; $rm_try; fi; else - echo "$extern_C void *$1$tdc; void *(*(p()))$tdc { return &$1; } int main() { if(p() && p() != (void *)main) return(0); else return(1); }"> try.c; + echo "$extern_C void *$1$tdc; void *(*(p()))$tdc { return &$1; } int main(int argc, char **argv) { if(p() && p() != (void *)argv[0]) return(0); else return(1); }"> try.c; $cc -o try $optimize $ccflags $ldflags try.c $libs >/dev/null 2>&1 && tval=true; $rm_try; fi; diff --git a/U/perl/Cross.U b/U/perl/Cross.U index de960ea..4e03018 100644 --- a/U/perl/Cross.U +++ b/U/perl/Cross.U @@ -166,7 +166,7 @@ $define|true|[yY]*) *) echo "Using targetarch $targetarch." >&4 ;; esac case "$targethost" in - '') echo "Targethost not defined." >&4; croak=y ;; + '') echo "Targethost not defined." >&4; croak=n ;; *) echo "Using targethost $targethost." >&4 esac locincpth=' ' -- perl5 metaconfig repository
