You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kudu.apache.org by "Todd Lipcon (Code Review)" <ge...@cloudera.org> on 2016/02/22 07:05:31 UTC
[kudu-CR] Disable -ftree-vectorize on gcc 4.8
Hello Dan Burkert,
I'd like you to do a code review. Please visit
http://gerrit.cloudera.org:8080/2274
to review the following change.
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
---
M CMakeLists.txt
1 file changed, 10 insertions(+), 0 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/74/2274/1
--
To view, visit http://gerrit.cloudera.org:8080/2274
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6ec6afea173e473a95bea9ca180ca2dedfc2c21d
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <to...@apache.org>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>