[vlc-commits] [Git][videolan/vlc][master] ci: Disable branch protection for the current Windows/ARM64 builds

Rémi Denis-Courmont (@Courmisch) gitlab at videolan.org
Thu Oct 13 06:26:56 UTC 2022



Rémi Denis-Courmont pushed to branch master at VideoLAN / VLC


Commits:
fee6371a by Martin Storsjö at 2022-10-11T18:17:05+03:00
ci: Disable branch protection for the current Windows/ARM64 builds

Clang does support the flag and gladly generates the instructions
for return address signing, but it doesn't generate matching unwind
info for it.

If a return address is signed, unwinding through it would fail unless
the signing is reversed at the right place. The ARM64 SEH unwind info
format has no public documentation on how to handle return address
signing currently.

This issue isn't noticeable on any current public Windows on ARM64
devices or servers, as the CPUs don't implement the return address
signing instructions (which then are handled as no-ops). However,
binaries with those instructions would fail subtly (seemingly work
fine, but fail whenever unwinding the stack) on newer CPUs.

Therefore, disable it in the CI configuration, as long as that uses
a version of Clang that doesn't generate correct unwind info for this
case.

- - - - -


1 changed file:

- extras/ci/gitlab-ci.yml


Changes:

=====================================
extras/ci/gitlab-ci.yml
=====================================
@@ -171,6 +171,9 @@ win64-arm-llvm:
     variables:
         <<: *variables-win64-arm
         UWP_EXTRA_BUILD_FLAGS: -u -x -S 0x0A000006
+        # Clang <= 15 produces incorrect unwind info for code with
+        # branch protection enabled on Windows.
+        CONFIGFLAGS: --disable-branch-protection
 
 uwp64-libvlc-llvm:
     extends: .win-common



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/fee6371af86a37f947ef3273fd0f364fb579fa9c

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/fee6371af86a37f947ef3273fd0f364fb579fa9c
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list