Recognize AIX style archive kind

This commit is contained in:
Qiu Chaofan 2023-01-11 11:27:29 +08:00 committed by Qiu Chaofan
parent da481403e7
commit 7037ff99af
4 changed files with 6 additions and 0 deletions

View file

@ -552,6 +552,7 @@ pub enum ArchiveKind {
K_BSD, K_BSD,
K_DARWIN, K_DARWIN,
K_COFF, K_COFF,
K_AIXBIG,
} }
// LLVMRustThinLTOData // LLVMRustThinLTOData

View file

@ -137,6 +137,7 @@ impl FromStr for ArchiveKind {
"bsd" => Ok(ArchiveKind::K_BSD), "bsd" => Ok(ArchiveKind::K_BSD),
"darwin" => Ok(ArchiveKind::K_DARWIN), "darwin" => Ok(ArchiveKind::K_DARWIN),
"coff" => Ok(ArchiveKind::K_COFF), "coff" => Ok(ArchiveKind::K_COFF),
"aix_big" => Ok(ArchiveKind::K_AIXBIG),
_ => Err(()), _ => Err(()),
} }
} }

View file

@ -233,6 +233,7 @@ impl<'a> ArArchiveBuilder<'a> {
"bsd" => ArchiveKind::Bsd, "bsd" => ArchiveKind::Bsd,
"darwin" => ArchiveKind::Darwin, "darwin" => ArchiveKind::Darwin,
"coff" => ArchiveKind::Coff, "coff" => ArchiveKind::Coff,
"aix_big" => ArchiveKind::AixBig,
kind => { kind => {
self.sess.emit_fatal(UnknownArchiveKind { kind }); self.sess.emit_fatal(UnknownArchiveKind { kind });
} }

View file

@ -39,6 +39,7 @@ enum class LLVMRustArchiveKind {
BSD, BSD,
DARWIN, DARWIN,
COFF, COFF,
AIX_BIG,
}; };
static Archive::Kind fromRust(LLVMRustArchiveKind Kind) { static Archive::Kind fromRust(LLVMRustArchiveKind Kind) {
@ -51,6 +52,8 @@ static Archive::Kind fromRust(LLVMRustArchiveKind Kind) {
return Archive::K_DARWIN; return Archive::K_DARWIN;
case LLVMRustArchiveKind::COFF: case LLVMRustArchiveKind::COFF:
return Archive::K_COFF; return Archive::K_COFF;
case LLVMRustArchiveKind::AIX_BIG:
return Archive::K_AIXBIG;
default: default:
report_fatal_error("Bad ArchiveKind."); report_fatal_error("Bad ArchiveKind.");
} }