Rollup merge of #116458 - bjorn3:fix_global_asm_test, r=workingjubilee

Properly export function defined in test which uses global_asm!()

Currently the test passes with the LLVM backend as the codegen unit partitioning logic happens to place both the global_asm!() and the function which calls the function defined by the global_asm!() in the same CGU. With the Cranelift backend it breaks however as it will place all assembly in separate codegen units to be passed to an external linker.
This commit is contained in:
Jubilee 2023-10-06 16:37:47 -07:00 committed by GitHub
commit 5268120d4a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -11,7 +11,14 @@ use std::arch::global_asm;
#[no_mangle]
fn my_func() {}
global_asm!("call_foobar: jmp {}", sym foobar);
global_asm!("
.globl call_foobar
.type call_foobar,@function
.pushsection .text.call_foobar,\"ax\",@progbits
call_foobar: jmp {}
.size call_foobar, .-call_foobar
.popsection
", sym foobar);
fn foobar() {}