Skip to content

Commit d9982f1

Browse files
authored
Rollup merge of #69089 - nox:sym64-crash, r=eddyb
Properly use the darwin archive format on Apple targets See servo/servo#25550.
2 parents db48a8a + 15adbf6 commit d9982f1

File tree

4 files changed

+6
-1
lines changed

4 files changed

+6
-1
lines changed

src/librustc_codegen_llvm/llvm/ffi.rs

+1
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,7 @@ pub enum ArchiveKind {
459459
Other,
460460
K_GNU,
461461
K_BSD,
462+
K_DARWIN,
462463
K_COFF,
463464
}
464465

src/librustc_codegen_llvm/llvm/mod.rs

+1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ impl FromStr for ArchiveKind {
6969
match s {
7070
"gnu" => Ok(ArchiveKind::K_GNU),
7171
"bsd" => Ok(ArchiveKind::K_BSD),
72+
"darwin" => Ok(ArchiveKind::K_DARWIN),
7273
"coff" => Ok(ArchiveKind::K_COFF),
7374
_ => Err(()),
7475
}

src/librustc_target/spec/apple_base.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ pub fn opts() -> TargetOptions {
2626
has_rpath: true,
2727
dll_prefix: "lib".to_string(),
2828
dll_suffix: ".dylib".to_string(),
29-
archive_format: "bsd".to_string(),
29+
archive_format: "darwin".to_string(),
3030
pre_link_args: LinkArgs::new(),
3131
has_elf_tls: version >= (10, 7),
3232
abi_return_struct_as_int: true,

src/rustllvm/ArchiveWrapper.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ enum class LLVMRustArchiveKind {
3838
Other,
3939
GNU,
4040
BSD,
41+
DARWIN,
4142
COFF,
4243
};
4344

@@ -47,6 +48,8 @@ static Archive::Kind fromRust(LLVMRustArchiveKind Kind) {
4748
return Archive::K_GNU;
4849
case LLVMRustArchiveKind::BSD:
4950
return Archive::K_BSD;
51+
case LLVMRustArchiveKind::DARWIN:
52+
return Archive::K_DARWIN;
5053
case LLVMRustArchiveKind::COFF:
5154
return Archive::K_COFF;
5255
default:

0 commit comments

Comments
 (0)