Commit 099c22b
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 21f15ce commit 099c22b
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 | | |
| |||
413 | 418 | | |
414 | 419 | | |
415 | 420 | | |
416 | | - | |
417 | | - | |
418 | | - | |
| 421 | + | |
| 422 | + | |
419 | 423 | | |
420 | 424 | | |
421 | 425 | | |
| |||
734 | 738 | | |
735 | 739 | | |
736 | 740 | | |
737 | | - | |
738 | | - | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
739 | 745 | | |
740 | 746 | | |
741 | 747 | | |
742 | 748 | | |
743 | | - | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
744 | 753 | | |
745 | 754 | | |
746 | | - | |
747 | | - | |
| 755 | + | |
| 756 | + | |
748 | 757 | | |
749 | | - | |
750 | | - | |
751 | | - | |
752 | | - | |
| 758 | + | |
| 759 | + | |
753 | 760 | | |
754 | 761 | | |
755 | | - | |
| 762 | + | |
756 | 763 | | |
757 | 764 | | |
758 | 765 | | |
| |||
785 | 792 | | |
786 | 793 | | |
787 | 794 | | |
788 | | - | |
789 | | - | |
| 795 | + | |
| 796 | + | |
790 | 797 | | |
791 | 798 | | |
| 799 | + | |
792 | 800 | | |
793 | 801 | | |
794 | | - | |
| 802 | + | |
795 | 803 | | |
796 | 804 | | |
797 | | - | |
| 805 | + | |
798 | 806 | | |
799 | 807 | | |
800 | | - | |
| 808 | + | |
801 | 809 | | |
802 | 810 | | |
803 | 811 | | |
| |||
0 commit comments