codegen #[naked] functions using global_asm!

This commit is contained in:
Folkert 2024-08-08 10:20:40 +02:00 committed by Folkert de Vries
parent 9c707a8b76
commit bd8f8e0631
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C
18 changed files with 624 additions and 102 deletions

View file

@ -867,6 +867,13 @@ impl<'gcc, 'tcx> AsmCodegenMethods<'tcx> for CodegenCx<'gcc, 'tcx> {
template_str.push_str("\n.popsection");
self.context.add_top_level_asm(None, &template_str);
}
fn mangled_name(&self, instance: Instance<'tcx>) -> String {
// TODO(@Amanieu): Additional mangling is needed on
// some targets to add a leading underscore (Mach-O)
// or byte count suffixes (x86 Windows).
self.tcx.symbol_name(instance).name.to_string()
}
}
fn modifier_to_gcc(