@@ -55,88 +55,18 @@ Table I \
5555Summary of exploit mitigations supported by the Rust compiler when building
5656programs for the Linux operating system on the AMD64 architecture and
5757equivalent.
58- <table class =" table " >
59- <tr >
60- <td ><strong >Exploit mitigation</strong >
61- </td >
62- <td ><strong >Supported and enabled by default</strong >
63- </td >
64- <td ><strong >Since</strong >
65- </td >
66- </tr >
67- <tr >
68- <td >Position-independent executable
69- </td >
70- <td >Yes
71- </td >
72- <td >0.12.0 (2014-10-09)
73- </td >
74- </tr >
75- <tr >
76- <td >Integer overflow checks
77- </td >
78- <td >Yes (enabled when debug assertions are enabled, and disabled when debug assertions are disabled)
79- </td >
80- <td >1.1.0 (2015-06-25)
81- </td >
82- </tr >
83- <tr >
84- <td >Non-executable memory regions
85- </td >
86- <td >Yes
87- </td >
88- <td >1.8.0 (2016-04-14)
89- </td >
90- </tr >
91- <tr >
92- <td >Stack clashing protection
93- </td >
94- <td >Yes
95- </td >
96- <td >1.20.0 (2017-08-31)
97- </td >
98- </tr >
99- <tr >
100- <td >Read-only relocations and immediate binding
101- </td >
102- <td >Yes
103- </td >
104- <td >1.21.0 (2017-10-12)
105- </td >
106- </tr >
107- <tr >
108- <td >Heap corruption protection
109- </td >
110- <td >Yes
111- </td >
112- <td >1.32.0 (2019-01-17) (via operating system default or specified allocator)
113- </td >
114- </tr >
115- <tr >
116- <td >Stack smashing protection
117- </td >
118- <td >Yes
119- </td >
120- <td >Nightly
121- </td >
122- </tr >
123- <tr >
124- <td >Forward-edge control flow protection
125- </td >
126- <td >Yes
127- </td >
128- <td >Nightly
129- </td >
130- </tr >
131- <tr >
132- <td >Backward-edge control flow protection (e.g., shadow and safe stack)
133- </td >
134- <td >No
135- </td >
136- <td >
137- </td >
138- </tr >
139- </table >
58+
59+ | Exploit mitigation | Supported and enabled by default | Since |
60+ | - | - | - |
61+ | Position-independent executable | Yes | 0.12.0 (2014-10-09) |
62+ | Integer overflow checks | Yes (enabled when debug assertions are enabled, and disabled when debug assertions are disabled) | 1.1.0 (2015-06-25) |
63+ | Non-executable memory regions | Yes | 1.8.0 (2016-04-14) |
64+ | Stack clashing protection | Yes | 1.20.0 (2017-08-31) |
65+ | Read-only relocations and immediate binding | Yes | 1.21.0 (2017-10-12) |
66+ | Heap corruption protection | Yes | 1.32.0 (2019-01-17) (via operating system default or specified allocator) |
67+ | Stack smashing protection | Yes | Nightly |
68+ | Forward-edge control flow protection | Yes | Nightly |
69+ | Backward-edge control flow protection (e.g., shadow and safe stack) | No | |
14070
14171<small id =" fn:1 " >1\. See
14272< https://github.com/rust-lang/rust/tree/master/compiler/rustc_target/src/spec >
0 commit comments