RFR: 8377946: Use DWARF in mixed jstack on Linux AArch64 [v2]
Yasumasa Suenaga
ysuenaga at openjdk.org
Fri Feb 27 23:58:26 UTC 2026
On Fri, 27 Feb 2026 21:46:22 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:
>> Yasumasa Suenaga has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits:
>>
>> - Merge branch 'master' into dwarf-aarch64
>> - Ignore PAC
>>
>> Disable TestJhsdbJstackMixedCore.java on AArch64 again.
>> Some C/C++ compiler puts "bl" at the tail of function and another function is located
>> sequently, then SA could not unwind correctly because the PC points next instruction.
>> - Use DWARF on AArch64
>> - DWARF parser improvement
>> - Separate DWARF implementation from Linux AMD64
>> - Rename "next" to "sender"
>
> src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp line 295:
>
>> 293: #ifdef __aarch64__
>> 294: if (pac_enabled(ph)) {
>> 295: printf("WARNING: PAC is enabled. Output might not be enough and/or incorrect.\n");
>
> I'm not sure what is meant by "Output might not be enough...". What output are you referring to?
For example, if the user run `jhsdb jstack --mixed`, call stacks might not be enough because SA cannot decode PAC.
> src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h line 119:
>
>> 117: struct core_data* core; // data only used for core dumps, NULL for process
>> 118: #ifdef __aarch64__
>> 119: bool pac_enabled; // true if PAC (PACA) is enabled
>
> What is "PACA"? Also this might be a good place to indicate that PAC is "Pointer Authentication Code"
According to [Kernel document](https://docs.kernel.org/arch/arm64/pointer-authentication.html#basic-support), there are 2 kinds of PAC:
> Presence of address authentication functionality is advertised via HWCAP_PACA, and generic authentication functionality via HWCAP_PACG.
Should we add `HWCAP_PACA` here? or remove `PACA`?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/29731#discussion_r2866674819
PR Review Comment: https://git.openjdk.org/jdk/pull/29731#discussion_r2866674965
More information about the serviceability-dev
mailing list