From de126b0c3260cfe3873f2cffb87f54dcca190d48 Mon Sep 17 00:00:00 2001 From: Jehan Date: Fri, 13 Oct 2023 11:48:31 +0200 Subject: [PATCH] build: split-debug-msys2.sh fails silently on Windows/Aarch64. Fixes: > $ C:\msys64\usr\bin\bash -lc "bash -x ../build/windows/gitlab-ci/split-debug-msys2.sh" > + '[' -z '' ']' > + find . '(' -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' ')' -type f -exec objcopy -v --only-keep-debug '{}' '{}.debug' ';' > C:/msys64/clangarm64/bin/objcopy.exe: error: unknown argument '-v' --- build/windows/gitlab-ci/split-debug-msys2.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/build/windows/gitlab-ci/split-debug-msys2.sh b/build/windows/gitlab-ci/split-debug-msys2.sh index 3721b6931c..d8327b8bb8 100755 --- a/build/windows/gitlab-ci/split-debug-msys2.sh +++ b/build/windows/gitlab-ci/split-debug-msys2.sh @@ -1,9 +1,16 @@ #!/bin/bash +if [[ "$MSYSTEM" == "CLANGARM64" ]]; then + # Apparently -v is unknown argument for clangarm64 version of objcopy.exe. + export OBJCOPY_OPTIONS="" +else + export OBJCOPY_OPTIONS="-v" +fi + if [ -z "$1" ] then - find . \( -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' \) -type f -exec objcopy -v --only-keep-debug '{}' '{}'.debug \; - find . \( -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' \) -type f -exec objcopy -v --add-gnu-debuglink='{}'.debug '{}' --strip-unneeded \; + find . \( -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' \) -type f -exec objcopy ${OBJCOPY_OPTIONS} --only-keep-debug '{}' '{}'.debug \; + find . \( -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' \) -type f -exec objcopy ${OBJCOPY_OPTIONS} --add-gnu-debuglink='{}'.debug '{}' --strip-unneeded \; find . -iname '*.debug' -exec "$0" {} + else while [ -n "$1" ]