You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@impala.apache.org by "Joe McDonnell (Code Review)" <ge...@cloudera.org> on 2022/09/14 05:32:22 UTC

[native-toolchain-CR] IMPALA-9999: Build the toolchain with GCC 10

Joe McDonnell has uploaded a new patch set (#5). ( http://gerrit.cloudera.org:8080/18806 )

Change subject: IMPALA-9999: Build the toolchain with GCC 10
......................................................................

IMPALA-9999: Build the toolchain with GCC 10

This switches the toolchain to build with GCC 10.
This required several version changes and patches
due to new warnings or changes in default settings:
1. LLVM is patched to fix compilation in lli
   (type mismatch on char)
2. crcutil is upgraded to the latest to handle the
   two digit GCC version. The new version incorporates
   the two patches previously used.
3. libunwind is upgraded to 1.5.1 due to GCC 10
   switch to -fno-common by default. The new
   version incorporates a couple of the previous
   patches.
4. Breakpad is upgraded to a recent commit (from late
   March 2022), which uses a newer version of lss
   that can compile with GCC 10.
5. Flatbuffers is upgraded to 1.12.0, which fixes
   a constness casting issue
6. The TPC-DS library is patched to use -fcommon,
   as GCC 10 switched to -fno-common by default.
7. GDB fails to compile on ARM due to the switch
   to -fno-common, so this adds newer GDB versions
   without that issue.

This upgrade GCC to 10.4 and binutils to 2.35.1.
This changes GCC's build command to build GCC using
link time optimization. This should speed up GCC's
execution, but it has no other impact. Building GCC
with LTO requires GCC compilation to use an updated
binutils, so this modifies the build script to build
binutils first and use that for GCC.

GCC 10.4 requires a patch to libstdc++ to fix missing
noexcepts, otherwise Clang compilation of Impala fails.

Testing:
 - This has built on all supported platforms, and
   Impala can build and operate with this toolchain.

Change-Id: I2fbfcdcb497ad60772bf0a7837e4043ae75bcfaa
---
M buildall.sh
M functions.sh
M init-compiler.sh
M init.sh
A source/breakpad/breakpad-e09741c609dcd5f5274d40182c5e2cc9a002d5ba-patches/0001-Add-basic-support-for-dwz-dwarf-extension.patch
A source/breakpad/breakpad-e09741c609dcd5f5274d40182c5e2cc9a002d5ba-patches/0002-Build-breakpad-e09741c6-on-ppc64le.patch
M source/gcc/build.sh
A source/gcc/gcc-10.4.0-patches/0001-libstdc-Fix-inconsistent-noexcept-specific-for-valar.patch
M source/gdb/build.sh
A source/libunwind/libunwind-1.5.0-patches/0001-libunwind-trace-cache-destructor.patch
A source/llvm/llvm-5.0.1-patches/0005-PATCH-Fix-lli-compilation-on-gcc8.patch
A source/tpc-ds/tpc-ds-2.1.0-patches/0001-PATCH-Fix-compilation-on-gcc10-fcommon.patch
12 files changed, 710 insertions(+), 31 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/native-toolchain refs/changes/06/18806/5
-- 
To view, visit http://gerrit.cloudera.org:8080/18806
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: native-toolchain
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I2fbfcdcb497ad60772bf0a7837e4043ae75bcfaa
Gerrit-Change-Number: 18806
Gerrit-PatchSet: 5
Gerrit-Owner: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Michael Smith <mi...@cloudera.com>