Add test
This commit is contained in:
parent
736ef0a4ce
commit
9147b6dd28
2 changed files with 29 additions and 0 deletions
23
tests/run-make/staticlib-broken-bitcode/rmake.rs
Normal file
23
tests/run-make/staticlib-broken-bitcode/rmake.rs
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// Regression test for https://github.com/rust-lang/rust/issues/128955#issuecomment-2657811196
|
||||
// which checks that rustc can read an archive containing LLVM bitcode with a
|
||||
// newer version from the one rustc links against.
|
||||
use run_make_support::{llvm_ar, path, rfs, rustc, static_lib_name};
|
||||
|
||||
fn main() {
|
||||
rfs::create_dir("archive");
|
||||
|
||||
let mut bitcode = b"BC\xC0\xDE".to_vec();
|
||||
bitcode.extend(std::iter::repeat(b'a').take(50));
|
||||
rfs::write("archive/invalid_bitcode.o", &bitcode);
|
||||
|
||||
llvm_ar()
|
||||
.obj_to_thin_ar()
|
||||
.output_input(
|
||||
path("archive").join(static_lib_name("thin_archive")),
|
||||
"archive/invalid_bitcode.o",
|
||||
)
|
||||
.run();
|
||||
|
||||
// Build an rlib which includes the members of this thin archive
|
||||
rustc().input("rust_lib.rs").library_search_path("archive").run();
|
||||
}
|
||||
6
tests/run-make/staticlib-broken-bitcode/rust_lib.rs
Normal file
6
tests/run-make/staticlib-broken-bitcode/rust_lib.rs
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#![crate_type = "rlib"]
|
||||
|
||||
#[link(name = "thin_archive", kind = "static")]
|
||||
extern "C" {
|
||||
pub fn simple_fn();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue