Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[libunwind] Add v1.8.1 #7959

Merged
merged 12 commits into from
Jun 13, 2024
Merged

[libunwind] Add v1.8.1 #7959

merged 12 commits into from
Jun 13, 2024

Conversation

ararslan
Copy link
Member

List of changes: libunwind/libunwind#698

@ararslan ararslan added the julia 💜 ❤️ 💚 Builders and issues related to Julia and its dependencies label Jan 16, 2024
@giordano
Copy link
Member

https://buildkite.com/julialang/yggdrasil/builds/7797#018d136e-5e99-499b-a460-7d62227df9f9/620-2148

[18:01:19] aarch64/Gos-linux.c: In function ‘_Uaarch64_local_resume’:
[18:01:19] aarch64/Gos-linux.c:147:1: error: x29 cannot be used in asm here
[18:01:19]  }
[18:01:19]  ^
[18:01:19] aarch64/Gos-linux.c:41:7: error: ‘asm’ operand has impossible constraints
[18:01:19]        __asm__ __volatile__ (
[18:01:19]        ^

May need a newer gcc to compile this asm, I've seen similar assembler error before on aaarch64

@ararslan
Copy link
Member Author

@giordano, any idea what version of GCC might be needed? Some googling suggests that this x29 register message used to occur on Linux AArch64 when building TensorFlow but was fixed by building with -fomit-frame-pointer. 🤔

Seems people building TensorFlow on Linux AArch64 hit the same inline
assembly issue we're seeing here and this (plus
`-flax-vector-conversion`) seems to fix it for them. This flag seems sus
for libunwind but worth a try.
ararslan and others added 2 commits April 18, 2024 15:58
Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com>
@ararslan
Copy link
Member Author

Ah, this is apparently a known issue: libunwind/libunwind#742

Should hopefully fix the inline assembly issue on AArch64?
12 seems excessive; 1.7.2 uses 5, let's try that
@ararslan
Copy link
Member Author

ararslan commented Jun 11, 2024

I've included libunwind/libunwind#748 as a patch, which fixes building on Linux AArch64. An alternative approach would have been to include a patch that reverts libunwind/libunwind#503, which is the approach that the .NET runtime took when upgrading to libunwind 1.8.0 (dotnet/runtime#96969). Evidently Xamarin has their own fix that differs from the what's implemented in the patch I've included: dotnet/android#8857.

@ararslan ararslan requested a review from giordano June 11, 2024 17:01
@ararslan ararslan changed the title [libunwind] Add v1.8.0 [libunwind] Add v1.8.1 Jun 12, 2024
@giordano giordano enabled auto-merge (squash) June 13, 2024 17:55
@giordano giordano merged commit 1517796 into master Jun 13, 2024
10 checks passed
@giordano giordano deleted the aa/libunwind-1.8.0 branch June 13, 2024 17:55
amontoison pushed a commit that referenced this pull request Jun 22, 2024
* [libunwind] Add v1.8.0

* [libunwind 1.8.0] Amend patch

* [libunwind 1.8.0] Set preferred GCC version to 6

* [libunwind 1.8.0] idk, how about gcc 12

* [libunwind] 1.8.0 -> 1.8.1

* [libunwind@1.8.1] Try `-fomit-frame-pointer` on Linux AArch64

Seems people building TensorFlow on Linux AArch64 hit the same inline
assembly issue we're seeing here and this (plus
`-flax-vector-conversion`) seems to fix it for them. This flag seems sus
for libunwind but worth a try.

* Thank you, Mosè

Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com>

* [libunwind@1.8.1] rm `-fomit-frame-pointer`, prefer GCC 12

Also add line breaks for long line

* [libunwind@1.8.1] Include patch for PR 748

Should hopefully fix the inline assembly issue on AArch64?

* [libunwind@1.8.1] Try re-lowering the preferred GCC version

12 seems excessive; 1.7.2 uses 5, let's try that

* Update L/LibUnwind/LibUnwind@1.8.1/build_tarballs.jl

* Revert "Update L/LibUnwind/LibUnwind@1.8.1/build_tarballs.jl"

This reverts commit c37f8f9.

---------

Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com>
Co-authored-by: Mosè Giordano <mose@gnu.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
julia 💜 ❤️ 💚 Builders and issues related to Julia and its dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants