This commit is contained in:
Folkert 2023-07-25 18:42:14 +02:00
parent 8c99cdf817
commit d3ac7d616d
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C
3 changed files with 88 additions and 14 deletions

View file

@ -466,7 +466,7 @@ impl CallConv<X86_64GeneralReg, X86_64FloatReg, X86_64Assembler> for X86_64Syste
offset += 8;
// store the base pointer
ASM::mov_mem64_offset32_reg64(buf, RBP, offset, RBP);
ASM::mov_mem64_offset32_reg64(buf, RDI, offset, RBP);
offset += 8;
// store other non-volatile registers

View file

@ -122,7 +122,7 @@ fn generate_setlongjmp_buffer<'a, B: Backend<'a>>(
backend: &mut B,
output: &mut Object,
) -> SymbolId {
let bss_section = output.section_id(StandardSection::UninitializedData);
let bss_section = output.section_id(StandardSection::Data);
dbg!(bss_section);
@ -131,13 +131,16 @@ fn generate_setlongjmp_buffer<'a, B: Backend<'a>>(
value: 0,
size: 8 * core::mem::size_of::<u64>() as u64,
kind: SymbolKind::Data,
scope: SymbolScope::Linkage,
scope: SymbolScope::Dynamic,
weak: false,
section: SymbolSection::Section(bss_section),
flags: SymbolFlags::None,
};
dbg!(output.add_symbol(symbol))
let symbol_id = output.add_symbol(symbol);
let section_offset = output.add_symbol_data(symbol_id, bss_section, &[0; 64], 8);
symbol_id
}
fn generate_roc_setlongjmp_buffer<'a, B: Backend<'a>>(backend: &mut B, output: &mut Object) {