From 217e152268e7895a8a78693621305b9412e255d1 Mon Sep 17 00:00:00 2001 From: Cem Keylan Date: Wed, 30 Dec 2020 22:59:26 +0300 Subject: musl: fix cross-compilation --- core/musl/build | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/core/musl/build b/core/musl/build index efa221f6..f54009cd 100755 --- a/core/musl/build +++ b/core/musl/build @@ -3,7 +3,7 @@ # Set the variable sys_arch so that we can change the # build procedure depending on the host arch. Currently, # we are only supporting i686 and x86_64. -sys_arch="$(uname -m)" +sys_arch="${3:-$(uname -m)}" kinstall_t() { # install -Dm* -t alternative @@ -20,16 +20,20 @@ patch -p0 < CVE-2020-28928.patch [ "$CPT_CROSS_TRIPLET" ] && CC=$CPT_CROSS_TRIPLET-cc AR=$CPT_CROSS_TRIPLET-ar -cpt-configure +cpt-configure \ + --syslibdir=/usr/lib make make DESTDIR="$1" install mkdir -p "$1/usr/bin" -case "$sys_arch" in - x86_64) ln -s /usr/lib/ld-musl-x86_64.so.1 "$1/usr/bin/ldd" ;; - i*86) +case "${CPT_CROSS_TRIPLET:-$sys_arch}" in + x86_64*) + ln -sf libc.so "$1/usr/lib/ld-musl-x86_64.so.1" + ln -s ../lib/ld-musl-x86_64.so.1 "$1/usr/bin/ldd" ;; + i?86*) + ln -sf libc.so "$1/usr/lib/ld-musl-i686.so.1" ln -s libc.so "$1/usr/lib/libc.musl-x86.so" ln -s ../lib/ld-musl-i386.so.1 "$1/usr/bin/ldd" ;; @@ -41,10 +45,8 @@ kinstall_t 755 "$1/usr/include/sys" cdefs.h queue.h tree.h # Install getconf. "${CC:=cc}" --static getconf.c -o "$1/usr/bin/getconf" -case $sys_arch in i*86) - "$CC" -c __stack_chk_fail_local.c -o __stack_chk_fail_local.o - "$AR" r "$1/usr/lib/libssp_nonshared.a" __stack_chk_fail_local.o -esac +"$CC" -c __stack_chk_fail_local.c -o __stack_chk_fail_local.o +"${AR:-ar}" r "$1/usr/lib/libssp_nonshared.a" __stack_chk_fail_local.o # Install getent kinstall_t 755 "$1/usr/bin" getent -- cgit v1.2.3