[libunwind] Fix signal frame unwinding (PR #135367)

2025-04-11 Thread Trung Nguyen via cfe-commits
https://github.com/trungnt2910 created https://github.com/llvm/llvm-project/pull/135367 The current unwinding implementation on Haiku is messy and broken. 1. It searches weird paths for private headers, which is breaking builds in consuming projects, such as dotnet/runtime. 2. It does not even

[libunwind] Fix signal frame unwinding (PR #135367)

2025-04-11 Thread Trung Nguyen via cfe-commits
https://github.com/trungnt2910 updated https://github.com/llvm/llvm-project/pull/135367 >From d213e68a98b5c92656122aa13bf853b77e6c0b7a Mon Sep 17 00:00:00 2001 From: Trung Nguyen <57174311+trungnt2...@users.noreply.github.com> Date: Fri, 11 Apr 2025 23:11:04 +1000 Subject: [PATCH] Fix signal fra

[libunwind] Fix signal frame unwinding (PR #135367)

2025-04-11 Thread Trung Nguyen via cfe-commits
https://github.com/trungnt2910 updated https://github.com/llvm/llvm-project/pull/135367 >From dd2b01926ad901836465c1aaf1bf142688cbb768 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 11 Apr 2025 23:49:36 +1000 Subject: [PATCH] Fix signal frame unwinding The current unwinding implementat

[libunwind] Fix signal frame unwinding (PR #135367)

2025-04-11 Thread Trung Nguyen via cfe-commits
https://github.com/trungnt2910 updated https://github.com/llvm/llvm-project/pull/135367 >From 06e16ff58a908d6fd47a264f95f4b53eb6ad51a5 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 11 Apr 2025 23:50:16 +1000 Subject: [PATCH] Fix signal frame unwinding The current unwinding implementat

[libunwind] Fix signal frame unwinding (PR #135367)

2025-04-11 Thread Trung Nguyen via cfe-commits
https://github.com/trungnt2910 updated https://github.com/llvm/llvm-project/pull/135367 >From 116b60a6740831b1376377e33762faf53305f6c2 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 11 Apr 2025 23:53:14 +1000 Subject: [PATCH] Fix signal frame unwinding The current unwinding implementat

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-13 Thread Trung Nguyen via 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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via cfe-commits
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

[libunwind] [libunwind][Haiku] Improve support (PR #115462)

2025-04-12 Thread Trung Nguyen via cfe-commits
=?utf-8?q?Jérôme?= Duval , =?utf-8?q?Jérôme?= Duval Message-ID: In-Reply-To: trungnt2910 wrote: This code has **not** been tested against `tests/signal_unwind.pass.cpp`, and this exact test has failed when tested against `libunwind` in LLVM 20 on Haiku. See #135367 for an alternative impleme

[libunwind] [libunwind] Fix Haiku signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via cfe-commits
https://github.com/trungnt2910 updated https://github.com/llvm/llvm-project/pull/135367 >From bc84623d87b606ff2af239170bd19c14cb4e2876 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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via cfe-commits
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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via cfe-commits
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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via cfe-commits
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/

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via 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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via 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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via 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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via 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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via 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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via cfe-commits
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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via 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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via 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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-12 Thread Trung Nguyen via 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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-22 Thread Trung Nguyen via cfe-commits
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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-22 Thread Trung Nguyen via 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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-22 Thread Trung Nguyen via 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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-22 Thread Trung Nguyen via cfe-commits
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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-24 Thread Trung Nguyen via 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

[libunwind] [libunwind][Haiku] Fix signal frame unwinding (PR #135367)

2025-04-24 Thread Trung Nguyen via cfe-commits
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