When cross compiling, it would be good to support the following two cases -
* Distro provided cross compiler + libraries - This is the case when a distro with multi-arch support (e.g., Debian derivaties) * Local libraries installation - Needed when the distro doesn't support multi-arch or there's a need to use local installs Update the libgcc detection to query the compiler regarding the location of the libraries - provided the correct CROSS_PREFIX is specified. If this fails to find the library, fall back to the hard coded location. Also, add a message to inform the user about the fallback usage. Signed-off-by: Punit Agrawal <[email protected]> --- scripts/build | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/scripts/build b/scripts/build index 5fdcc7a88214..88f48f5e0582 100755 --- a/scripts/build +++ b/scripts/build @@ -271,15 +271,14 @@ kernel_end=$(($loader_size+2097151 & ~2097151)) cd $OUT host_arch=$(uname -m) -if [[ "$host_arch" == "x86_64" && "$arch" == 'aarch64' ]]; then - libgcc_s_path=$(${CROSS_PREFIX:-aarch64-linux-gnu-}gcc -print-file-name=libgcc_s.so.1) - if [[ "$libgcc_s_path" == "libgcc_s.so.1" ]]; then - libgcc_s_dir=$(readlink -f ../downloaded_packages/aarch64/gcc/install/lib64) - else - libgcc_s_dir=$(dirname $(readlink -f $libgcc_s_path)) - fi -else - libgcc_s_dir=$(dirname $(readlink -f $(gcc -print-file-name=libgcc_s.so.1))) +CC=${CROSS_PREFIX}gcc +libgcc_s_dir=$(dirname $(readlink -f $(${CC} -print-file-name=libgcc_s.so.1))) +if [[ "$libgcc_s_path" == "libgcc_s.so.1" ]]; then + cat <<-EOF + Unable to resolve libgcc_s.so.1 using "${CC}". + Looking in ../downloaded_packages/aarch64/gcc/install/lib64 + EOF + libgcc_s_dir=$(readlink -f ../downloaded_packages/aarch64/gcc/install/lib64) fi if [ "$export" != "none" ]; then -- 2.29.2 -- You received this message because you are subscribed to the Google Groups "OSv Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/osv-dev/20210215124906.792439-2-punitagrawal%40gmail.com.
