diff --git a/build/build-clang/build-clang.py b/build/build-clang/build-clang.py index b52dc7734a93..1013336c346f 100755 --- a/build/build-clang/build-clang.py +++ b/build/build-clang/build-clang.py @@ -517,6 +517,18 @@ if __name__ == "__main__": extra_asmflags = [] extra_ldflags = [] + # We want to ensure that the GCC we use for stage 1 always picks up the + # binutils it is packaged with, rather than the system binutils, which + # might be a much different version and therefore lacking in support for + # features GCC expects. + binutils_flags = ['-B', os.path.dirname(cc)] + if cc.endswith('gcc'): + extra_cflags += binutils_flags + if cxx.endswith('g++'): + extra_cxxflags += binutils_flags + if asm.endswith('gcc'): + extra_asmflags += binutils_flags + if 'LD_LIBRARY_PATH' in os.environ: os.environ['LD_LIBRARY_PATH'] = ('%s/lib64/:%s' % (gcc_dir, os.environ['LD_LIBRARY_PATH'])) diff --git a/taskcluster/scripts/misc/build-llvm-dsymutil.sh b/taskcluster/scripts/misc/build-llvm-dsymutil.sh index 406c8a5b7f2e..8fe51a68bb48 100755 --- a/taskcluster/scripts/misc/build-llvm-dsymutil.sh +++ b/taskcluster/scripts/misc/build-llvm-dsymutil.sh @@ -56,6 +56,9 @@ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_TARGETS_TO_BUILD=X86 \ -DCMAKE_C_COMPILER=$HOME_DIR/src/gcc/bin/gcc \ + -DCMAKE_CXX_COMPILER=$HOME_DIR/src/gcc/bin/g++ \ + -DCMAKE_C_FLAGS="-B $HOME_DIR/src/gcc/bin" \ + -DCMAKE_CXX_FLAGS="-B $HOME_DIR/src/gcc/bin" \ .. export LD_LIBRARY_PATH=$HOME_DIR/src/gcc/lib64