Todd Lipcon has submitted this change and it was merged.
Change subject: Disable -ftree-vectorize on gcc 4.8
......................................................................
Disable -ftree-vectorize on gcc 4.8
After studying a failed precommit build for several hours, I
couldn't find anything wrong with the code that was segfaulting.
Additionally, it only failed on gcc 4.8 in -O3 mode. After a bit
more debugging, I found that adding no-ops compiler barriers like
'__asm__ __volatile__("");' made the segfault go away, which made
me suspect that there was some particular optimization gone bad.
Eventually, I tracked it down to the -ftree-vectorize option which
is enabled by default in -O3 mode. Looking online it isn't clear
exactly which bug we're hitting, but a GCC developer says the following
in one related bug report[1]:
> There are a few vectorizer wrong-code bugs on the 4.8 branch that I
> haven't managed to backport yet from 4.9.
Given this, I think it's prudent to disable -ftree-vectorize on
gcc 4.8 release builds. Entirely blacklisting gcc 4.8 would be a bit
heavy-handed, given it's the default compiler on Ubuntu 14.04.
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61068
Change-Id: I6ec6afea173e473a95bea9ca180ca2dedfc2c21d
Reviewed-on: http://gerrit.cloudera.org:8080/2274
Tested-by: Kudu Jenkins
Reviewed-by: Dan Burkert <[email protected]>
---
M CMakeLists.txt
1 file changed, 10 insertions(+), 0 deletions(-)
Approvals:
Dan Burkert: Looks good to me, approved
Kudu Jenkins: Verified
--
To view, visit http://gerrit.cloudera.org:8080/2274
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I6ec6afea173e473a95bea9ca180ca2dedfc2c21d
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Dan Burkert <[email protected]>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <[email protected]>