Commit 27ce9e0
committed
[BOLT] Gadget scanner: clarify MCPlusBuilder callbacks interface
Clarify the semantics of `getAuthenticatedReg` and remove a redundant
`isAuthenticationOfReg` method, as combined auth+something instructions
(such as `retaa` on AArch64) should be handled carefully, especially
when searching for authentication oracles: usually, such instructions
cannot be authentication oracles and only some of them actually write
an authenticated pointer to a register (such as "ldra x0, [x1]!").
Use `std::optional<MCPhysReg>` returned type instead of plain MCPhysReg
and returning `getNoRegister()` as a "not applicable" indication.
Document a few existing methods, add information about preconditions.1 parent ec437a4 commit 27ce9e0
File tree
5 files changed
+130
-94
lines changed- bolt
- include/bolt/Core
- lib
- Passes
- Target/AArch64
- test/binary-analysis/AArch64
5 files changed
+130
-94
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
562 | 562 | | |
563 | 563 | | |
564 | 564 | | |
565 | | - | |
566 | | - | |
567 | | - | |
568 | | - | |
569 | | - | |
570 | | - | |
571 | | - | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
572 | 574 | | |
573 | | - | |
| 575 | + | |
574 | 576 | | |
575 | 577 | | |
576 | | - | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
577 | 584 | | |
578 | | - | |
| 585 | + | |
579 | 586 | | |
580 | 587 | | |
581 | | - | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
582 | 599 | | |
583 | | - | |
| 600 | + | |
584 | 601 | | |
585 | 602 | | |
586 | 603 | | |
587 | 604 | | |
588 | 605 | | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
589 | 609 | | |
590 | 610 | | |
591 | 611 | | |
| |||
602 | 622 | | |
603 | 623 | | |
604 | 624 | | |
605 | | - | |
| 625 | + | |
606 | 626 | | |
607 | 627 | | |
608 | 628 | | |
609 | | - | |
| 629 | + | |
610 | 630 | | |
611 | 631 | | |
612 | | - | |
| 632 | + | |
613 | 633 | | |
614 | 634 | | |
615 | 635 | | |
| |||
622 | 642 | | |
623 | 643 | | |
624 | 644 | | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
625 | 648 | | |
626 | 649 | | |
627 | 650 | | |
628 | | - | |
| 651 | + | |
629 | 652 | | |
630 | 653 | | |
631 | 654 | | |
| |||
670 | 693 | | |
671 | 694 | | |
672 | 695 | | |
673 | | - | |
674 | | - | |
| 696 | + | |
| 697 | + | |
675 | 698 | | |
676 | | - | |
| 699 | + | |
677 | 700 | | |
678 | 701 | | |
679 | 702 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
367 | 367 | | |
368 | 368 | | |
369 | 369 | | |
370 | | - | |
371 | 370 | | |
372 | 371 | | |
373 | | - | |
374 | | - | |
| 372 | + | |
| 373 | + | |
375 | 374 | | |
376 | 375 | | |
377 | 376 | | |
378 | | - | |
379 | | - | |
380 | | - | |
| 377 | + | |
| 378 | + | |
381 | 379 | | |
382 | 380 | | |
383 | 381 | | |
| |||
393 | 391 | | |
394 | 392 | | |
395 | 393 | | |
396 | | - | |
397 | 394 | | |
398 | 395 | | |
399 | | - | |
| 396 | + | |
400 | 397 | | |
401 | | - | |
402 | | - | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
403 | 408 | | |
404 | 409 | | |
405 | 410 | | |
| |||
414 | 419 | | |
415 | 420 | | |
416 | 421 | | |
417 | | - | |
418 | | - | |
419 | | - | |
| 422 | + | |
| 423 | + | |
420 | 424 | | |
421 | 425 | | |
422 | 426 | | |
| |||
733 | 737 | | |
734 | 738 | | |
735 | 739 | | |
736 | | - | |
737 | | - | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
738 | 744 | | |
739 | 745 | | |
740 | 746 | | |
741 | 747 | | |
742 | | - | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
743 | 752 | | |
744 | 753 | | |
745 | | - | |
746 | | - | |
| 754 | + | |
| 755 | + | |
747 | 756 | | |
748 | | - | |
749 | | - | |
750 | | - | |
751 | | - | |
| 757 | + | |
| 758 | + | |
752 | 759 | | |
753 | 760 | | |
754 | | - | |
| 761 | + | |
755 | 762 | | |
756 | 763 | | |
757 | 764 | | |
| |||
784 | 791 | | |
785 | 792 | | |
786 | 793 | | |
787 | | - | |
788 | | - | |
| 794 | + | |
| 795 | + | |
789 | 796 | | |
790 | 797 | | |
| 798 | + | |
791 | 799 | | |
792 | 800 | | |
793 | | - | |
| 801 | + | |
794 | 802 | | |
795 | 803 | | |
796 | | - | |
| 804 | + | |
797 | 805 | | |
798 | 806 | | |
799 | | - | |
| 807 | + | |
800 | 808 | | |
801 | 809 | | |
802 | 810 | | |
| |||
0 commit comments