Joe McDonnell has uploaded this change for review. ( http://gerrit.cloudera.org:8080/16009
Change subject: Reapply IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores ...................................................................... Reapply IMPALA-9781: Fix GCC 7 unaligned 128-bit loads / stores When running a release binary built with GCC 7.5.0, it crashes with an unaligned memory error in multiple pieces of code. In these locations, we are doing stores to 128-bit values, but we cannot guarantee alignment. GCC 7 must be optimizing the code to use instructions that require a higher level of alignment than we can provide. This switches the code locations to use memcpy to avoid the unaligned stores (with local variables as necessary). Testing: - Ran exhaustive tests with a release binary built by GCC 7.5.0 - Ran UBSAN core tests - Add unaligned test case in decimal-test Change-Id: I7edd8beeb15e4fbb69126a9f97a1476a4b8f12a9 --- M be/src/exprs/slot-ref.cc M be/src/runtime/decimal-test.cc M be/src/runtime/decimal-value.h M be/src/util/dict-encoding.h 4 files changed, 13 insertions(+), 4 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/09/16009/2 -- To view, visit http://gerrit.cloudera.org:8080/16009 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I7edd8beeb15e4fbb69126a9f97a1476a4b8f12a9 Gerrit-Change-Number: 16009 Gerrit-PatchSet: 2 Gerrit-Owner: Joe McDonnell <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
