llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `llvm-clang-win-x-armv7l`
running on `as-builder-1` while building `libunwind` at step 15
"test-check-cxx-armv7-unknown-linux-gnueabihf".
Full details are available at:
https://lab.llvm.org/buildbot/#/builders/38/builds/3653
https://github.com/brad0 closed https://github.com/llvm/llvm-project/pull/135367
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
trungnt2910 wrote:
Tried to give [x86
unwinding](https://github.com/trungnt2910/libunwind-haiku/commit/61a36e3d8ed6da29653bba63165093cadc5)
a shot. The general idea is correct, but it is currently impossible to unwind
past a `syscall` due to the system relying on another [magic `commpage`
brad0 wrote:
cc @MaskRay
https://github.com/llvm/llvm-project/pull/135367
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
brad0 wrote:
Yes, that is fine. Thanks.
https://github.com/llvm/llvm-project/pull/135367
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
trungnt2910 wrote:
The latest commit is known to build well on `i386`. Signal frame unwinding is
still not supported, but I believe this is out of scope for this PR.
https://github.com/llvm/llvm-project/pull/135367
___
cfe-commits mailing list
cfe-com
https://github.com/trungnt2910 updated
https://github.com/llvm/llvm-project/pull/135367
>From 7d363093d85084e8f7f4c3994f207a36781ededc Mon Sep 17 00:00:00 2001
From: Trung Nguyen
Date: Fri, 11 Apr 2025 23:53:14 +1000
Subject: [PATCH] [libunwind][Haiku] Fix signal frame unwinding
The current un
brad0 wrote:
> You mean adding support for `i386`?
Yes.
> From what I understand about the linked issue, x86 is failing due to some
> signal frame unwinding function prototypes got leaked to general Haiku code,
> `_LIBUNWIND_TARGET_HAIKU`, but the implementation part got an additional
> `_LI
trungnt2910 wrote:
You mean adding support for `i386`?
>From what I understand about the linked issue, x86 is failing due to some
>signal frame unwinding function prototypes got leaked to general Haiku code,
>`_LIBUNWIND_TARGET_HAIKU`, but the implementation part got an additional
>`_LIBUNWIN
brad0 wrote:
@trungnt2910 It would be good to also fix i386 while you're at it.
https://github.com/haikuports/haikuports/commit/7d537e1161adc0ad1860c030e303fad54104d196
https://github.com/llvm/llvm-project/pull/135367
___
cfe-commits mailing list
cfe-
brad0 wrote:
cc @MaskRay
https://github.com/llvm/llvm-project/pull/135367
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3032,6 +2980,93 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+static size_t signalHandlerSize = 0;
+
+template
https://github.com/trungnt2910 updated
https://github.com/llvm/llvm-project/pull/135367
>From 464d992011ad3191f67c1308741e3a5c66c96237 Mon Sep 17 00:00:00 2001
From: Trung Nguyen
Date: Fri, 11 Apr 2025 23:53:14 +1000
Subject: [PATCH] [libunwind][Haiku] Fix signal frame unwinding
The current un
trungnt2910 wrote:
Submitted a new implementation that uses Haiku's recent [special
handling](https://github.com/haiku/haiku/commit/1e1ad7efc96f94447815373be60fc1cc74962c65)
of the `commpage` in `dladdr` to detect the signal handler function.
This removes the need for both private headers and
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
https://github.com/trungnt2910 updated
https://github.com/llvm/llvm-project/pull/135367
>From 0ce9ca670b3b3d851f171b4a841a28ffa683108c Mon Sep 17 00:00:00 2001
From: Trung Nguyen
Date: Fri, 11 Apr 2025 23:53:14 +1000
Subject: [PATCH] [libunwind][Haiku] Fix signal frame unwinding
The current un
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
https://github.com/X547 edited https://github.com/llvm/llvm-project/pull/135367
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
https://github.com/trungnt2910 edited
https://github.com/llvm/llvm-project/pull/135367
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
https://github.com/X547 edited https://github.com/llvm/llvm-project/pull/135367
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
trungnt2910 wrote:
> Does it build on r1beta5?
Theoretically yes, since I did not require any new Haiku nightly feature for
tge implementation.
The unwinding might not fully work due to missing CFE information in `libroot`,
in this case for `_kern_send_signal`.
https://github.com/llvm/llvm
korli wrote:
> Yes, tested on `x86_64` and only `x86_64` (though support for other archs can
> be added by as easy as defining a few offsets and registers). Requires Haiku
> `hrev58811` to fully work with `tests/signal_unwind.pass.cpp`.
>
> This is also the same implementation used in my debug
trungnt2910 wrote:
Yes, tested on `x86_64` and only `x86_64` (though support for other archs can
be added by as easy as defining a few offsets and registers). Requires Haiku
`hrev58811` to fully work with `tests/signal_unwind.pass.cpp`.
This is also the same implementation used in my debugger
korli wrote:
Tested on x86_64?
https://github.com/llvm/llvm-project/pull/135367
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
@@ -3032,6 +2983,162 @@ int UnwindCursor::stepThroughSigReturn(Registers_s390x &) {
#endif // defined(_LIBUNWIND_CHECK_LINUX_SIGRETURN) &&
// defined(_LIBUNWIND_TARGET_S390X)
+#if defined(_LIBUNWIND_CHECK_HAIKU_SIGRETURN)
+
+#if defined(B_HAIKU_32_BIT)
+typedef Elf32_Sy
trungnt2910 wrote:
Apologize for the confusing naming, somehow the tag prefixes were missing when
I applied the
[patch](https://github.com/trungnt2910/libunwind-haiku/commit/94b98e00309e659f29daa8a192bdf00021eec4fc)
from my test repo to the LLVM monorepo.
https://github.com/llvm/llvm-project/
https://github.com/trungnt2910 edited
https://github.com/llvm/llvm-project/pull/135367
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
45 matches
Mail list logo