Commit fa8766c
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 36c3cb9 commit fa8766c
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 | |
|---|---|---|---|
| |||
365 | 365 | | |
366 | 366 | | |
367 | 367 | | |
368 | | - | |
369 | 368 | | |
370 | 369 | | |
371 | | - | |
372 | | - | |
| 370 | + | |
| 371 | + | |
373 | 372 | | |
374 | 373 | | |
375 | 374 | | |
376 | | - | |
377 | | - | |
378 | | - | |
| 375 | + | |
| 376 | + | |
379 | 377 | | |
380 | 378 | | |
381 | 379 | | |
| |||
391 | 389 | | |
392 | 390 | | |
393 | 391 | | |
394 | | - | |
395 | 392 | | |
396 | 393 | | |
397 | | - | |
| 394 | + | |
398 | 395 | | |
399 | | - | |
400 | | - | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
401 | 406 | | |
402 | 407 | | |
403 | 408 | | |
| |||
412 | 417 | | |
413 | 418 | | |
414 | 419 | | |
415 | | - | |
416 | | - | |
417 | | - | |
| 420 | + | |
| 421 | + | |
418 | 422 | | |
419 | 423 | | |
420 | 424 | | |
| |||
729 | 733 | | |
730 | 734 | | |
731 | 735 | | |
732 | | - | |
733 | | - | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
734 | 740 | | |
735 | 741 | | |
736 | 742 | | |
737 | 743 | | |
738 | | - | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
739 | 748 | | |
740 | 749 | | |
741 | | - | |
742 | | - | |
| 750 | + | |
| 751 | + | |
743 | 752 | | |
744 | | - | |
745 | | - | |
746 | | - | |
747 | | - | |
| 753 | + | |
| 754 | + | |
748 | 755 | | |
749 | 756 | | |
750 | | - | |
| 757 | + | |
751 | 758 | | |
752 | 759 | | |
753 | 760 | | |
| |||
780 | 787 | | |
781 | 788 | | |
782 | 789 | | |
783 | | - | |
784 | | - | |
| 790 | + | |
| 791 | + | |
785 | 792 | | |
786 | 793 | | |
| 794 | + | |
787 | 795 | | |
788 | 796 | | |
789 | | - | |
| 797 | + | |
790 | 798 | | |
791 | 799 | | |
792 | | - | |
| 800 | + | |
793 | 801 | | |
794 | 802 | | |
795 | | - | |
| 803 | + | |
796 | 804 | | |
797 | 805 | | |
798 | 806 | | |
| |||
0 commit comments