================
@@ -202,10 +202,12 @@ class _LIBUNWIND_HIDDEN LocalAddressSpace {
pint_t getEncodedP(pint_t &addr, pint_t end, uint8_t encoding,
pint_t datarelBase = 0, pint_t *resultAddr = nullptr);
- bool findFunctionName(pint_t addr, char *buf, size_t bufLen,
+ template <typename T>
----------------
kovdan01 wrote:
@asl I suppose that the answer is no - the only place where it was somehow
explained discussion in the previous libunwind hardening PR by Oliver #143230.
And it's definitely worth making things clearer to prevent accidental silent
regression during future changes like refactorings.
At this point, I do not see a better way than just add a comment like the one
below for each of the function declarations accepting `link_reg_t` by const
l-value reference:
```
Note: `addr` is passed as const l-value reference intentionally to keep
signature of `__ptrauth`-qualified values of `link_reg_t` type on AArch64
PAuth-enabled ABI intact. Passing the raw pointer by value would cause
authentication on the caller side and make the pointer prone to substitution if
spilled to the stack in the callee.
```
I find this way not very nice, but I fail to come up with something less bulky.
Could you please tell me if you have some suggestions, and if no, does the
comment above sound reasonable for you?
https://github.com/llvm/llvm-project/pull/173765
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits