@@ -105,21 +105,20 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
105
105
}
106
106
})
107
107
.map(|def_id| {
108
- let codegen_attrs = tcx.codegen_fn_attrs(def_id.to_def_id());
109
108
// We won't link right if this symbol is stripped during LTO.
110
109
let name = tcx.symbol_name(Instance::mono(tcx, def_id.to_def_id())).name;
111
110
// We have to preserve the symbols of the built-in functions during LTO.
112
111
let is_builtin_fn = is_compiler_builtins
113
112
&& symbol_export_level(tcx, def_id.to_def_id())
114
- .is_below_threshold(SymbolExportLevel::C)
115
- && codegen_attrs.flags.contains(CodegenFnAttrFlags::NO_MANGLE);
116
- let used = name == "rust_eh_personality";
113
+ .is_below_threshold(SymbolExportLevel::C);
114
+ let used = is_builtin_fn || name == "rust_eh_personality";
117
115
118
116
let export_level = if special_runtime_crate {
119
117
SymbolExportLevel::Rust
120
118
} else {
121
119
symbol_export_level(tcx, def_id.to_def_id())
122
120
};
121
+ let codegen_attrs = tcx.codegen_fn_attrs(def_id.to_def_id());
123
122
debug!(
124
123
"EXPORTED SYMBOL (local): {} ({:?})",
125
124
tcx.symbol_name(Instance::mono(tcx, def_id.to_def_id())),
@@ -139,7 +138,6 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
139
138
used: codegen_attrs.flags.contains(CodegenFnAttrFlags::USED)
140
139
|| codegen_attrs.flags.contains(CodegenFnAttrFlags::USED_LINKER)
141
140
|| used,
142
- used_compiler: is_builtin_fn,
143
141
};
144
142
(def_id.to_def_id(), info)
145
143
})
@@ -152,7 +150,6 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
152
150
level: SymbolExportLevel::C,
153
151
kind: SymbolExportKind::Data,
154
152
used: false,
155
- used_compiler: false,
156
153
},
157
154
);
158
155
}
@@ -201,7 +198,6 @@ fn exported_symbols_provider_local(
201
198
level: info.level,
202
199
kind: SymbolExportKind::Text,
203
200
used: info.used,
204
- used_compiler: false,
205
201
},
206
202
)
207
203
})
@@ -218,7 +214,6 @@ fn exported_symbols_provider_local(
218
214
level: SymbolExportLevel::C,
219
215
kind: SymbolExportKind::Text,
220
216
used: false,
221
- used_compiler: false,
222
217
},
223
218
));
224
219
}
@@ -238,7 +233,6 @@ fn exported_symbols_provider_local(
238
233
level: SymbolExportLevel::Rust,
239
234
kind: SymbolExportKind::Text,
240
235
used: false,
241
- used_compiler: false,
242
236
},
243
237
));
244
238
}
@@ -251,7 +245,6 @@ fn exported_symbols_provider_local(
251
245
level: SymbolExportLevel::Rust,
252
246
kind: SymbolExportKind::Data,
253
247
used: false,
254
- used_compiler: false,
255
248
},
256
249
))
257
250
}
@@ -271,7 +264,6 @@ fn exported_symbols_provider_local(
271
264
level: SymbolExportLevel::C,
272
265
kind: SymbolExportKind::Data,
273
266
used: false,
274
- used_compiler: false,
275
267
},
276
268
)
277
269
}));
@@ -297,7 +289,6 @@ fn exported_symbols_provider_local(
297
289
level: SymbolExportLevel::C,
298
290
kind: SymbolExportKind::Data,
299
291
used: false,
300
- used_compiler: false,
301
292
},
302
293
)
303
294
}));
@@ -315,7 +306,6 @@ fn exported_symbols_provider_local(
315
306
level: SymbolExportLevel::C,
316
307
kind: SymbolExportKind::Data,
317
308
used: true,
318
- used_compiler: false,
319
309
},
320
310
));
321
311
}
@@ -356,7 +346,6 @@ fn exported_symbols_provider_local(
356
346
level: SymbolExportLevel::Rust,
357
347
kind: SymbolExportKind::Text,
358
348
used: false,
359
- used_compiler: false,
360
349
},
361
350
));
362
351
}
@@ -373,7 +362,6 @@ fn exported_symbols_provider_local(
373
362
level: SymbolExportLevel::Rust,
374
363
kind: SymbolExportKind::Text,
375
364
used: false,
376
- used_compiler: false,
377
365
},
378
366
));
379
367
}
0 commit comments