On Wed, 21 Oct 2026 06:29:29 GMT, Yasumasa Suenaga <[email protected]> wrote:

>> Alpine Linux would not provide `.eh_frame` enough to unwind in both regular 
>> binary and debuginfo. We need to refer `.debug_frame` in debuginfo for 
>> unwinding.
>> 
>> This ticket also re-enable mixed jstack jtreg tests on Alpine if musl-c 
>> debuginfo is available because `.debug_frame` would be provided by musl-dbg 
>> package.
>> This change passed all of serviceability/sa jtreg tests on following 
>> environment:
>> 
>> - Fedora 44 x86_64
>> - Alpine Linux 3.23 (with musl-dbg) x86_64
>> - Rocky Linux 9.5 aarch64
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Yasumasa Suenaga has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   update condition

Marked as reviewed by kevinw (Reviewer).

src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.cpp line 111:

> 109:   _buf += _is_64bit_dwarf && _lib->frame.is_debug_frame ? 8 : 4;
> 110: 
> 111:   _dwarf_version = *_buf;

Looks good, just commenting to note a DWARF point I found confusing:

CIE version is different in eh_frame and debug_frame.
https://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-PDA/LSB-PDA/ehframechpt.html 
talks about .eh_frame and says it's always version 1.
But in .debug_frame it's always version 4 (DWARF 4 and 5, specs only talk about 
.debug_frame.).

-------------

PR Review: https://git.openjdk.org/jdk/pull/33375#pullrequestreview-5597836751
PR Review Comment: https://git.openjdk.org/jdk/pull/33375#discussion_r4335331018

Reply via email to