> -----Original Message----- > From: Philippe Mathieu-Daudé <philippe.mathieu.da...@gmail.com> On > Behalf Of Philippe Mathieu-Daudé > Sent: Saturday, February 27, 2021 8:10 AM > To: Taylor Simpson <tsimp...@quicinc.com>; qemu-devel@nongnu.org > Cc: richard.hender...@linaro.org; alex.ben...@linaro.org; > laur...@vivier.eu; a...@rev.ng; Brian Cain <bc...@quicinc.com>; Fam Zheng > <f...@euphon.net> > Subject: [EXT] Re: [PATCH v8 35/35] Add Dockerfile for hexagon > > On 2/8/21 6:46 AM, Taylor Simpson wrote: > > From: Alessandro Di Federico <a...@rev.ng> > > > > Signed-off-by: Alessandro Di Federico <a...@rev.ng> > > Tested-by: Taylor Simpson <tsimp...@quicinc.com> > > --- > > .../debian-hexagon-cross-build-local.docker | 18 +++ > > .../debian-hexagon-cross.build-toolchain.sh | 141 > +++++++++++++++++++++ > > .../docker/dockerfiles/debian-hexagon-cross.docker | 1 + > > tests/tcg/configure.sh | 4 + > > 4 files changed, 164 insertions(+) > > create mode 100644 > > tests/docker/dockerfiles/debian-hexagon-cross-build-local.docker > > create mode 100755 > > tests/docker/dockerfiles/debian-hexagon-cross.build-toolchain.sh > > create mode 100644 > > tests/docker/dockerfiles/debian-hexagon-cross.docker > ... > > > +build_llvm_clang() { > > + fetch "$BASE/llvm-project" "$LLVM_URL" > > + cdp "$BASE/build-llvm" > > + > > + cmake -G Ninja \ > > + -DCMAKE_BUILD_TYPE=Release \ > > + -DCMAKE_INSTALL_PREFIX=${TOOLCHAIN_INSTALL} \ > > + -DLLVM_ENABLE_LLD=ON \ > > + -DLLVM_TARGETS_TO_BUILD="X86;Hexagon" \ > > Is the X86 target really required?
No, it isn't. When I was developing this recipe it was useful to have as another backend to compare against. Also many of the tests of target-independent functionality require the x86 backend, so it was useful during experimentation to check for regressions. > > + -DLLVM_ENABLE_PROJECTS="clang;lld" \ > > + "$BASE/llvm-project/llvm" > > + ninja all install > > + cd ${TOOLCHAIN_BIN} > > + ln -sf clang hexagon-unknown-linux-musl-clang ln -sf clang++ > > + hexagon-unknown-linux-musl-clang++ > > + ln -sf llvm-ar hexagon-unknown-linux-musl-ar ln -sf llvm-objdump > > + hexagon-unknown-linux-musl-objdump > > + ln -sf llvm-objcopy hexagon-unknown-linux-musl-objcopy > > + ln -sf llvm-readelf hexagon-unknown-linux-musl-readelf > > + ln -sf llvm-ranlib hexagon-unknown-linux-musl-ranlib > > + > > + # workaround for now: > > + cat <<EOF > hexagon-unknown-linux-musl.cfg > > +-G0 --sysroot=${HEX_SYSROOT} > > +EOF > > +}