================
@@ -704,8 +704,10 @@ static void addRelativeReloc(Ctx &ctx, InputSectionBase
&isec,
uint64_t offsetInSec, Symbol &sym, int64_t addend,
RelExpr expr, RelType type) {
Partition &part = isec.getPartition(ctx);
+ bool isAArch64Auth =
+ ctx.arg.emachine == EM_AARCH64 && type == R_AARCH64_AUTH_ABS64;
- if (sym.isTagged()) {
+ if (sym.isTagged() && !isAArch64Auth) {
----------------
kovdan01 wrote:
> Is the existing implementation that uses .relr.auth.dyn and/or no offset to
> the start of the symbol for AUTH_RELATIVE relocations against tagged symbols
> correct?
@jrtc27 When implementing support for `.relr.auth.dyn` initially, I was not
accounting for tagged symbols. See initial PR for relr auth support just in
case it helps (things might have changed over time though): #96496.
And from my side, I unfortunately can't tell you for sure if the existing
implementation is correct in terms of using memtag + pauth at the same time
since I've never have used such a combination.
But given the description from docs and explanation from comments in this
thread above (that these two features are using different bits and are not
overlapping), I suppose that the following is correct:
> it should be doing the "obvious" composition of the two.
https://github.com/llvm/llvm-project/pull/171180
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits