> -----Original Message-----
> From: Philippe Mathieu-Daudé <[email protected]> On
> Behalf Of Philippe Mathieu-Daudé
> Sent: Saturday, February 27, 2021 8:10 AM
> To: Taylor Simpson <[email protected]>; [email protected]
> Cc: [email protected]; [email protected];
> [email protected]; [email protected]; Brian Cain <[email protected]>; Fam Zheng
> <[email protected]>
> 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 <[email protected]>
> >
> > Signed-off-by: Alessandro Di Federico <[email protected]>
> > Tested-by: Taylor Simpson <[email protected]>
> > ---
> > .../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
> > +}