RFR: 8266749: AArch64: Backtracing broken on PAC enabled systems [v3]

Alan Hayward github.com+4146708+a74nh at openjdk.java.net
Thu May 27 16:19:59 UTC 2021


On Thu, 27 May 2021 12:48:59 GMT, Andrew Haley <aph at openjdk.org> wrote:

>>> Would it not make more sense to strip the `sender_pc()` ? Don't all users expect it to be stripped?
>> 
>> The current code is being fairly cautious:
>> 
>> Native frames: saved PC might be signed. Therefore strip the pc.
>> 
>> Interpreter frames and compiled frames: the PC should never be signed. Assert this is the case.
>> 
>> For both Interpreter and Native frames we are getting the pc via sender_pc(), so can't push the strip inside sender_pc().
>> 
>> Alternatively, we could always strip instead of asserting. But that's not quite as nice.
>
> Mmm, but you very easily fix that by defining `raw_sender_pc()`. Most users don't want to be bothered by this stuff, and having `sender_pc()` return an encrypted PC is, frankly, maintainer abuse. Anyone who wants the `raw_sender_pc()` should ask for it.

Ok, that way makes sense. Updated as suggested.

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

PR: https://git.openjdk.java.net/jdk/pull/4029


More information about the hotspot-dev mailing list