File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -508,10 +508,16 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
508
508
// ldr x1, [x1, #8] ; x1 is overwritten with an unrelated value
509
509
// pacdzb x1
510
510
//
511
+ // ; also bad:
512
+ // autdza x1
513
+ // pacdzb x1 ; possibly signing the result of failed authentication
514
+ //
511
515
// Note that this function is not needed for authentication oracles, as the
512
516
// particular value left in the register after a successful memory access
513
517
// is not important.
514
518
auto ClobbersBaseRegExceptWriteback = [&](unsigned BaseRegUseIndex) {
519
+ // FIXME: Compute the indices of address operands (base reg and written-
520
+ // back result) in AArch64InstrInfo instead of this ad-hoc code.
515
521
MCPhysReg BaseReg = Inst.getOperand (BaseRegUseIndex).getReg ();
516
522
unsigned WrittenBackDefIndex = Desc.getOperandConstraint (
517
523
BaseRegUseIndex, MCOI::OperandConstraint::TIED_TO);
You can’t perform that action at this time.
0 commit comments