Skip to content

Commit fe05f1a

Browse files
committed
FIXME: Add eld support
FIXME: update the src URL when a tag is published. Use LLVM_ENABLE_PIC=ON to build the toolchains, required for building eld. This change has the effect of causing some of the cross-built toolchains to fail. So we'll disable the eld build on these for now. Signed-off-by: Brian Cain <[email protected]>
1 parent 15a6fc9 commit fe05f1a

File tree

4 files changed

+19
-0
lines changed

4 files changed

+19
-0
lines changed

Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ ENV ROOT_INSTALL /usr/local/hexagon-unknown-linux-musl-rootfs
6868
ENV MAKE_TARBALLS 1
6969

7070
ENV LLVM_SRC_URL https://github.com/llvm/llvm-project/archive/llvmorg-${VER}.tar.gz
71+
ENV ELD_SRC_URL https://github.com/qualcomm/eld/archive/eld-0.1.tar.gz
7172
ENV LLVM_TESTS_SRC_URL https://github.com/llvm/llvm-test-suite/archive/llvmorg-${VER}.tar.gz
7273
ENV MUSL_SRC_URL https://github.com/quic/musl/archive/hexagon-mar1-2025.tar.gz
7374
ENV LINUX_SRC_URL https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.13.5.tar.xz

build-toolchain.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ build_llvm_clang_cross() {
2323
if [[ "${IN_CONTAINER-0}" -ne 1 ]]; then
2424
CMAKE_CCACHE="-DLLVM_CCACHE_BUILD:BOOL=ON"
2525
fi
26+
ELD=""
27+
if [[ "${pic}" =~ "ON" ]]; then
28+
ELD="-DLLVM_EXTERNAL_PROJECTS=eld \
29+
-DLLVM_EXTERNAL_ELD_SOURCE_DIR=${PWD}/llvm-project/eld"
30+
fi
2631

2732
CC="zig cc --target=${triple}" \
2833
ASM="zig cc --target=${triple}" \
@@ -38,6 +43,7 @@ build_llvm_clang_cross() {
3843
-DLLVM_INCLUDE_TESTS:BOOL=OFF \
3944
-DLLVM_INCLUDE_EXAMPLES:BOOL=OFF \
4045
-DLLVM_ENABLE_PIC:BOOL="${pic}" \
46+
${ELD} \
4147
-DLLVM_NATIVE_TOOL_DIR=${PWD}/obj_llvm/bin \
4248
-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON \
4349
-DCMAKE_CROSSCOMPILING:BOOL=ON \
@@ -71,6 +77,8 @@ build_llvm_clang() {
7177
-DLLVM_ENABLE_TERMINFO:BOOL=OFF \
7278
-DLLVM_ENABLE_ASSERTIONS:BOOL=ON \
7379
-DLLVM_ENABLE_PIC:BOOL=ON \
80+
-DLLVM_EXTERNAL_PROJECTS=eld \
81+
-DLLVM_EXTERNAL_ELD_SOURCE_DIR=${PWD}/llvm-project/eld \
7482
-C ./llvm-project/clang/cmake/caches/hexagon-unknown-linux-musl-clang.cmake \
7583
-C ./llvm-project/clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross.cmake \
7684
-B ./obj_llvm \
@@ -95,6 +103,7 @@ add_symlinks() {
95103
ln -sf --relative ${linkdir}/llvm-ranlib ${linkdir}/${triple}-ranlib
96104
ln -sf --relative ${linkdir}/llvm-config ${linkdir}/${triple}-llvm-config
97105
ln -sf --relative ${linkdir}/ld.lld ${linkdir}/${triple}-ld.lld
106+
ln -sf --relative ${linkdir}/ld.eld ${linkdir}/${triple}-ld.eld
98107
done
99108

100109
# ln -sf --relative ${linkdir}/clang ${linkdir}/hexagon-unknown-none-elf-clang

get-src-repos.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ git clone --depth=1 -q https://github.com/python/cpython &
1515
git clone --depth=1 -q git://repo.or.cz/libc-test &
1616
git clone -q https://git.busybox.net/busybox/ &
1717
git clone -q https://github.com/quic/buildroot/ &
18+
git clone -q https://github.com/qualcomm/eld/ &
1819

1920

2021
git clone -q --branch=hexagon https://github.com/quic/musl &

get-src-tarballs.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ get_src_tarballs() {
1717
echo ${LLVM_SRC_URL} > ${MANIFEST_DIR}/llvm-project.txt
1818
cd -
1919

20+
wget --quiet ${ELD_SRC_URL} -O eld.tar.xz
21+
mkdir llvm-project/eld
22+
cd llvm-project/eld
23+
tar xf ../../eld.tar.xz --strip-components=1
24+
rm ../eld.tar.xz
25+
echo ${ELD_SRC_URL} > ${MANIFEST_DIR}/eld.txt
26+
cd -
27+
2028
wget --quiet ${LLVM_TESTS_SRC_URL} -O llvm-test-suite.tar.xz
2129
mkdir llvm-test-suite
2230
cd llvm-test-suite

0 commit comments

Comments
 (0)