Hi Mark, thanks for looking, and sorry for the delay On 28/04/2022 20:56, Mark Wielaard wrote: > Hi German, > > On Mon, Apr 25, 2022 at 02:03:07PM +0000, German Gomez via Elfutils-devel > wrote: >> I've included a set of patches in order to demangle return addresses in >> aarch64 platforms with pointer authentication. >> >> Besides adding the implementation of the negate_ra_state opcode, there >> is a new function in the libdwfl.h header to feed the PAC masks to the >> library. >> >> Let me know if there are any concerns with the current version. > Thanks a lot for this. Last time I looked at this didn't have any > means to test this, so I skipped implementing it. How did you test? Do > distributions now enable PAC by default and is there hardware (qemu?) > support?
So far I've been testing on Graviton3 cores (running linux), which seem to implement the PAC extension, and it came enabled by default. https://www.kernel.org/doc/html/latest/arm64/pointer-authentication.html > I haven't been able to look at the actual patches yet. And I am on > vacation this week. But I'll review next week after I am back. Thanks a lot for looking. > > A quick scan shows we need a aarch64 special public function, which > would be slightly ugly imho. I had hoped it could be a variant of the > func_addr_mask. But maybe this is too different to make more generic. I did consider func_addr_mask initially, but when I wrote the patch it wasn't exposed as a perf-thread value. Currently PAC masks are constant but might be different from thread to thread in the future. So I placed it in the Thread struct. I agree the arch-specific naming is not pretty. I think I can certainly rework it into a more generic feature. But I think I would need to make sure that the masks can be supplied to the Thread struct before the unwind. Thanks, German > Cheers, > > Mark >