Commit 6050e52
committed
Auto merge of rust-lang#69718 - arlosi:debughash, r=eddyb
Add hash of source files in debug info
LLVM supports placing the hash of source files inside the debug info.
This information can be used by a debugger to verify that the source code matches
the executable.
This change adds support for both hash algorithms supported by LLVM, MD5 and SHA1, controlled by a target option.
* DWARF only supports MD5
* LLVM IR supports MD5 and SHA1 (and SHA256 in LLVM 11).
* CodeView (.PDB) supports MD5, SHA1, and SHA256.
Fixes rust-lang#68980.
Tracking issue: rust-lang#70401
rustc dev guide PR with further details: rust-lang/rustc-dev-guide#623File tree
19 files changed
+332
-92
lines changed- src
- doc/unstable-book/src/compiler-flags
- librustc_codegen_llvm
- debuginfo
- llvm
- librustc_interface
- librustc_middle/ich
- librustc_session
- librustc_span
- libserialize
- rustllvm
- test/codegen
- remap_path_prefix
- src-hash-algorithm
- tools/tidy/src
19 files changed
+332
-92
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | 90 | | |
97 | 91 | | |
98 | 92 | | |
| |||
187 | 181 | | |
188 | 182 | | |
189 | 183 | | |
190 | | - | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
191 | 197 | | |
192 | | - | |
| 198 | + | |
193 | 199 | | |
194 | | - | |
195 | 200 | | |
196 | 201 | | |
197 | 202 | | |
| |||
240 | 245 | | |
241 | 246 | | |
242 | 247 | | |
243 | | - | |
| 248 | + | |
244 | 249 | | |
245 | | - | |
| 250 | + | |
246 | 251 | | |
247 | 252 | | |
248 | 253 | | |
| |||
897 | 902 | | |
898 | 903 | | |
899 | 904 | | |
900 | | - | |
| 905 | + | |
901 | 906 | | |
902 | | - | |
| 907 | + | |
903 | 908 | | |
904 | 909 | | |
905 | 910 | | |
| |||
1226 | 1231 | | |
1227 | 1232 | | |
1228 | 1233 | | |
1229 | | - | |
| 1234 | + | |
1230 | 1235 | | |
1231 | | - | |
| 1236 | + | |
1232 | 1237 | | |
1233 | 1238 | | |
1234 | 1239 | | |
| |||
1962 | 1967 | | |
1963 | 1968 | | |
1964 | 1969 | | |
| 1970 | + | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
| 1974 | + | |
| 1975 | + | |
| 1976 | + | |
| 1977 | + | |
| 1978 | + | |
| 1979 | + | |
| 1980 | + | |
1965 | 1981 | | |
1966 | 1982 | | |
1967 | 1983 | | |
| |||
2250 | 2266 | | |
2251 | 2267 | | |
2252 | 2268 | | |
| 2269 | + | |
| 2270 | + | |
| 2271 | + | |
| 2272 | + | |
| 2273 | + | |
| 2274 | + | |
2253 | 2275 | | |
2254 | 2276 | | |
2255 | 2277 | | |
| |||
2467 | 2489 | | |
2468 | 2490 | | |
2469 | 2491 | | |
2470 | | - | |
| 2492 | + | |
2471 | 2493 | | |
2472 | | - | |
| 2494 | + | |
2473 | 2495 | | |
2474 | 2496 | | |
2475 | 2497 | | |
| |||
4155 | 4177 | | |
4156 | 4178 | | |
4157 | 4179 | | |
| 4180 | + | |
4158 | 4181 | | |
4159 | 4182 | | |
4160 | 4183 | | |
4161 | 4184 | | |
4162 | 4185 | | |
| 4186 | + | |
4163 | 4187 | | |
4164 | 4188 | | |
4165 | 4189 | | |
| |||
4535 | 4559 | | |
4536 | 4560 | | |
4537 | 4561 | | |
4538 | | - | |
| 4562 | + | |
4539 | 4563 | | |
4540 | | - | |
| 4564 | + | |
4541 | 4565 | | |
4542 | 4566 | | |
4543 | | - | |
4544 | 4567 | | |
4545 | 4568 | | |
| 4569 | + | |
4546 | 4570 | | |
4547 | 4571 | | |
4548 | 4572 | | |
| |||
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| |||
751 | 751 | | |
752 | 752 | | |
753 | 753 | | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
754 | 762 | | |
755 | 763 | | |
756 | 764 | | |
757 | 765 | | |
758 | 766 | | |
759 | 767 | | |
760 | 768 | | |
| 769 | + | |
| 770 | + | |
761 | 771 | | |
762 | 772 | | |
763 | 773 | | |
| |||
766 | 776 | | |
767 | 777 | | |
768 | 778 | | |
769 | | - | |
| 779 | + | |
770 | 780 | | |
771 | 781 | | |
772 | 782 | | |
773 | | - | |
| 783 | + | |
774 | 784 | | |
775 | 785 | | |
776 | 786 | | |
777 | 787 | | |
778 | 788 | | |
779 | 789 | | |
| 790 | + | |
780 | 791 | | |
781 | 792 | | |
782 | 793 | | |
| |||
789 | 800 | | |
790 | 801 | | |
791 | 802 | | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
792 | 814 | | |
793 | 815 | | |
794 | 816 | | |
795 | 817 | | |
796 | 818 | | |
797 | 819 | | |
798 | 820 | | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
799 | 824 | | |
800 | 825 | | |
801 | 826 | | |
| |||
920 | 945 | | |
921 | 946 | | |
922 | 947 | | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
923 | 951 | | |
924 | 952 | | |
925 | 953 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
546 | 546 | | |
547 | 547 | | |
548 | 548 | | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
549 | 558 | | |
550 | 559 | | |
551 | 560 | | |
| |||
1640 | 1649 | | |
1641 | 1650 | | |
1642 | 1651 | | |
| 1652 | + | |
| 1653 | + | |
| 1654 | + | |
1643 | 1655 | | |
1644 | 1656 | | |
1645 | 1657 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
66 | | - | |
67 | | - | |
| 65 | + | |
68 | 66 | | |
69 | 67 | | |
70 | 68 | | |
71 | | - | |
72 | 69 | | |
73 | 70 | | |
| 71 | + | |
74 | 72 | | |
75 | 73 | | |
76 | 74 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
| 64 | + | |
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | | - | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
748 | 749 | | |
749 | 750 | | |
750 | 751 | | |
751 | | - | |
| 752 | + | |
752 | 753 | | |
753 | | - | |
754 | | - | |
755 | | - | |
756 | | - | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
757 | 762 | | |
758 | 763 | | |
759 | 764 | | |
760 | 765 | | |
761 | 766 | | |
762 | 767 | | |
763 | | - | |
764 | | - | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
765 | 771 | | |
766 | 772 | | |
767 | 773 | | |
768 | | - | |
769 | | - | |
| 774 | + | |
| 775 | + | |
770 | 776 | | |
771 | 777 | | |
772 | 778 | | |
| |||
1971 | 1977 | | |
1972 | 1978 | | |
1973 | 1979 | | |
1974 | | - | |
| 1980 | + | |
| 1981 | + | |
1975 | 1982 | | |
1976 | 1983 | | |
1977 | 1984 | | |
| |||
2049 | 2056 | | |
2050 | 2057 | | |
2051 | 2058 | | |
| 2059 | + | |
2052 | 2060 | | |
2053 | 2061 | | |
2054 | 2062 | | |
| |||
0 commit comments