New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
several regexp failures when built with Intel C 15 #14517
Comments
From @tonycozCreated by @tonycozWhen built with Intel C 15, several regexp tests fail, and some Test Summary Report The tests in lib/English.t that fail are testing the regexp related Some hints changes were required for the build to succeed, patch Perl Info
|
From @tonycoz0001-ensure-Intel-C-15-is-detected-and-replace-removed-mp.patchFrom a239e9388f6c2dc27955cb8784ea7814cb09d225 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Tue, 17 Feb 2015 14:51:03 +1100
Subject: [PATCH] ensure Intel C 15 is detected and replace removed -mp option
15.0 no longer supports the -mp option, but the 11.0 documentation says:
-m[no-]ieee-fp
same as -mp
The 12.0 documentation lists -mp in deprecated options and documents it
as:
-mp use -fp-model <arg>
but doesn't say which value for <arg> is equivalent
---
hints/linux.sh | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/hints/linux.sh b/hints/linux.sh
index fb5a46e..d2b2132 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -84,17 +84,20 @@ uname_minus_m="`$run uname -m 2>/dev/null`"
uname_minus_m="${uname_minus_m:-"$targetarch"}"
# Check if we're about to use Intel's ICC compiler
+# 11.0: Intel(R) C Compiler for applications running on Intel(R) 64,
+# 12.0: Intel(R) C Intel(R) 64 Compiler XE for applications running on Intel(R) 64.
+# 15.0: Intel(R) C Intel(R) 64 Compiler XE for applications running on Intel(R) 64.
case "`${cc:-cc} -V 2>&1`" in
-*"Intel(R) C++ Compiler"*|*"Intel(R) C Compiler"*)
+*"Intel(R) C++ Compiler"*|*"Intel(R) C "*"Compiler"*)
# record the version, formats:
# icc (ICC) 10.1 20080801
# icpc (ICC) 10.1 20080801
# followed by a copyright on the second line
ccversion=`${cc:-cc} --version | sed -n -e 's/^icp\?c \((ICC) \)\?//p'`
# This is needed for Configure's prototype checks to work correctly
- # The -mp flag is needed to pass various floating point related tests
+ # The -mieee-fp flag is needed to pass various floating point related tests
# The -no-gcc flag is needed otherwise, icc pretends (poorly) to be gcc
- ccflags="-we147 -mp -no-gcc $ccflags"
+ ccflags="-we147 -mieee-fp -no-gcc $ccflags"
# Prevent relocation errors on 64bits arch
case "$uname_minus_m" in
*ia64*|*x86_64*)
--
1.7.10.4
|
From @demerphqOn 17 February 2015 at 11:55, Tony Cook <perlbug-followup@perl.org> wrote:
Hi Tony, Could you please run TEST_ARGS="-v -re re\/regexp\.t" make test_harness And send the output? Might need more but there will be copious output from those two and Thanks, -- |
The RT System itself - Status changed from 'new' to 'open' |
From @tonycozOn Tue Feb 17 03:50:55 2015, demerphq wrote:
Attached. If I build with -DDEBUGGING then all tests are successful, the tests are only failing on non-debugging builds. Tony |
From @tonycoz |
From @demerphqOn 17 February 2015 at 20:39, Tony Cook via RT
I see. That suggests an optimization bug in the compiler to me. Can Note you may speed things up by using make test-reonly to run just the regex tests. Yves |
From @tonycozOn Tue Feb 17 06:13:36 2015, demerphq wrote:
All tests pass with -Doptimize="-g -O1". That doesn't mean it's an optimization bug - we've have at least a couple of issues where we've had apparent compiler optimization bugs that turned out to be perl bugs. That said, Intel don't appear to be offering free use of their compilers to open source developers right now[1] (I'm using an evaluation license), so this may not be worth following up. Tony [1] https://software.intel.com/en-us/non-commercial-software-development |
From @khwilliamsonOn Tue Feb 17 15:16:50 2015, tonyc wrote:
Is this worth following up? Does valgrind run so that it can see if perl is doing out-of-bounds accesses |
Migrated from rt.perl.org#123853 (status was 'open')
Searchable as RT123853$
The text was updated successfully, but these errors were encountered: