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