mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 08:13:41 +00:00
Auto merge of #106704 - ecnelises:big_archive, r=bjorn3
Support AIX-style archive type Reading facility of AIX big archive has been supported by `object` since 0.30.0. Writing facility of AIX big archive has already been supported by `ar_archive_writer`, but we need to bump the version to support the new archive type enum.
This commit is contained in:
commit
39c6804b92
65
Cargo.lock
65
Cargo.lock
@ -4,12 +4,12 @@ version = 3
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "addr2line"
|
name = "addr2line"
|
||||||
version = "0.17.0"
|
version = "0.19.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
|
checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"compiler_builtins",
|
"compiler_builtins",
|
||||||
"gimli",
|
"gimli 0.27.2",
|
||||||
"rustc-std-workspace-alloc",
|
"rustc-std-workspace-alloc",
|
||||||
"rustc-std-workspace-core",
|
"rustc-std-workspace-core",
|
||||||
]
|
]
|
||||||
@ -149,7 +149,7 @@ version = "0.1.3"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b0639441fd17a3197d1cbca8dc8768cc172a63b64b4bb6c372e8f41ed0acc9bb"
|
checksum = "b0639441fd17a3197d1cbca8dc8768cc172a63b64b4bb6c372e8f41ed0acc9bb"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"object 0.30.1",
|
"object",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -215,16 +215,16 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "backtrace"
|
name = "backtrace"
|
||||||
version = "0.3.66"
|
version = "0.3.67"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7"
|
checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"addr2line",
|
"addr2line",
|
||||||
"cc",
|
"cc",
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"libc",
|
"libc",
|
||||||
"miniz_oxide",
|
"miniz_oxide",
|
||||||
"object 0.29.0",
|
"object",
|
||||||
"rustc-demangle",
|
"rustc-demangle",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1187,13 +1187,11 @@ checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "flate2"
|
name = "flate2"
|
||||||
version = "1.0.23"
|
version = "1.0.25"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b39522e96686d38f4bc984b9198e3a0613264abaebaff2c5c918bfa6b6da09af"
|
checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
|
||||||
"crc32fast",
|
"crc32fast",
|
||||||
"libc",
|
|
||||||
"miniz_oxide",
|
"miniz_oxide",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1409,12 +1407,20 @@ version = "0.26.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
|
checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"compiler_builtins",
|
|
||||||
"fallible-iterator",
|
"fallible-iterator",
|
||||||
"indexmap",
|
"indexmap",
|
||||||
|
"stable_deref_trait",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "gimli"
|
||||||
|
version = "0.27.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4"
|
||||||
|
dependencies = [
|
||||||
|
"compiler_builtins",
|
||||||
"rustc-std-workspace-alloc",
|
"rustc-std-workspace-alloc",
|
||||||
"rustc-std-workspace-core",
|
"rustc-std-workspace-core",
|
||||||
"stable_deref_trait",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1869,9 +1875,9 @@ checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libz-sys"
|
name = "libz-sys"
|
||||||
version = "1.1.3"
|
version = "1.1.8"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66"
|
checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"libc",
|
"libc",
|
||||||
@ -2098,9 +2104,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "miniz_oxide"
|
name = "miniz_oxide"
|
||||||
version = "0.5.3"
|
version = "0.6.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc"
|
checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"adler",
|
"adler",
|
||||||
"compiler_builtins",
|
"compiler_builtins",
|
||||||
@ -2200,29 +2206,20 @@ dependencies = [
|
|||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "object"
|
|
||||||
version = "0.29.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53"
|
|
||||||
dependencies = [
|
|
||||||
"compiler_builtins",
|
|
||||||
"memchr",
|
|
||||||
"rustc-std-workspace-alloc",
|
|
||||||
"rustc-std-workspace-core",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "object"
|
name = "object"
|
||||||
version = "0.30.1"
|
version = "0.30.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8d864c91689fdc196779b98dba0aceac6118594c2df6ee5d943eb6a8df4d107a"
|
checksum = "8d864c91689fdc196779b98dba0aceac6118594c2df6ee5d943eb6a8df4d107a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"compiler_builtins",
|
||||||
"crc32fast",
|
"crc32fast",
|
||||||
"flate2",
|
"flate2",
|
||||||
"hashbrown 0.13.1",
|
"hashbrown 0.13.1",
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"memchr",
|
"memchr",
|
||||||
|
"rustc-std-workspace-alloc",
|
||||||
|
"rustc-std-workspace-core",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3073,7 +3070,7 @@ dependencies = [
|
|||||||
"cstr",
|
"cstr",
|
||||||
"libc",
|
"libc",
|
||||||
"measureme",
|
"measureme",
|
||||||
"object 0.30.1",
|
"object",
|
||||||
"rustc-demangle",
|
"rustc-demangle",
|
||||||
"rustc_ast",
|
"rustc_ast",
|
||||||
"rustc_attr",
|
"rustc_attr",
|
||||||
@ -3110,7 +3107,7 @@ dependencies = [
|
|||||||
"itertools",
|
"itertools",
|
||||||
"jobserver",
|
"jobserver",
|
||||||
"libc",
|
"libc",
|
||||||
"object 0.30.1",
|
"object",
|
||||||
"pathdiff",
|
"pathdiff",
|
||||||
"regex",
|
"regex",
|
||||||
"rustc_arena",
|
"rustc_arena",
|
||||||
@ -4498,7 +4495,7 @@ dependencies = [
|
|||||||
"hermit-abi 0.3.0",
|
"hermit-abi 0.3.0",
|
||||||
"libc",
|
"libc",
|
||||||
"miniz_oxide",
|
"miniz_oxide",
|
||||||
"object 0.29.0",
|
"object",
|
||||||
"panic_abort",
|
"panic_abort",
|
||||||
"panic_unwind",
|
"panic_unwind",
|
||||||
"profiler_builtins",
|
"profiler_builtins",
|
||||||
@ -4766,9 +4763,9 @@ version = "0.4.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "da8fbf660a019b6bf11ea95762041464aa9099cc293b6a66d77cea5107619671"
|
checksum = "da8fbf660a019b6bf11ea95762041464aa9099cc293b6a66d77cea5107619671"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gimli",
|
"gimli 0.26.2",
|
||||||
"hashbrown 0.12.3",
|
"hashbrown 0.12.3",
|
||||||
"object 0.30.1",
|
"object",
|
||||||
"tracing",
|
"tracing",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -552,6 +552,7 @@ pub enum ArchiveKind {
|
|||||||
K_BSD,
|
K_BSD,
|
||||||
K_DARWIN,
|
K_DARWIN,
|
||||||
K_COFF,
|
K_COFF,
|
||||||
|
K_AIXBIG,
|
||||||
}
|
}
|
||||||
|
|
||||||
// LLVMRustThinLTOData
|
// LLVMRustThinLTOData
|
||||||
|
@ -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(()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ edition = "2021"
|
|||||||
test = false
|
test = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
ar_archive_writer = "0.1.1"
|
ar_archive_writer = "0.1.3"
|
||||||
bitflags = "1.2.1"
|
bitflags = "1.2.1"
|
||||||
cc = "1.0.69"
|
cc = "1.0.69"
|
||||||
itertools = "0.10.1"
|
itertools = "0.10.1"
|
||||||
|
@ -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 });
|
||||||
}
|
}
|
||||||
|
@ -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.");
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 07872f28cd8a65c3c7428811548dc85f1f2fb05b
|
Subproject commit 8ad84ca5ad88ade697637387e7cb4d7c3cf4bde8
|
@ -23,11 +23,11 @@ hashbrown = { version = "0.12", default-features = false, features = ['rustc-dep
|
|||||||
std_detect = { path = "../stdarch/crates/std_detect", default-features = false, features = ['rustc-dep-of-std'] }
|
std_detect = { path = "../stdarch/crates/std_detect", default-features = false, features = ['rustc-dep-of-std'] }
|
||||||
|
|
||||||
# Dependencies of the `backtrace` crate
|
# Dependencies of the `backtrace` crate
|
||||||
addr2line = { version = "0.17.0", optional = true, default-features = false }
|
addr2line = { version = "0.19.0", optional = true, default-features = false }
|
||||||
rustc-demangle = { version = "0.1.21", features = ['rustc-dep-of-std'] }
|
rustc-demangle = { version = "0.1.21", features = ['rustc-dep-of-std'] }
|
||||||
miniz_oxide = { version = "0.5.0", optional = true, default-features = false }
|
miniz_oxide = { version = "0.6.0", optional = true, default-features = false }
|
||||||
[dependencies.object]
|
[dependencies.object]
|
||||||
version = "0.29.0"
|
version = "0.30.0"
|
||||||
optional = true
|
optional = true
|
||||||
default-features = false
|
default-features = false
|
||||||
features = ['read_core', 'elf', 'macho', 'pe', 'unaligned', 'archive']
|
features = ['read_core', 'elf', 'macho', 'pe', 'unaligned', 'archive']
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
// ignore-wasm
|
||||||
|
// ignore-msvc
|
||||||
|
// ignore-emscripten
|
||||||
|
// ignore-uwp
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let data: &[u8] = &[0; 10];
|
let data: &[u8] = &[0; 10];
|
||||||
let _: &[i8] = data.into();
|
let _: &[i8] = data.into();
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
error[E0277]: the trait bound `&[i8]: From<&[u8]>` is not satisfied
|
error[E0277]: the trait bound `&[i8]: From<&[u8]>` is not satisfied
|
||||||
--> $DIR/issue-71394-no-from-impl.rs:3:25
|
--> $DIR/issue-71394-no-from-impl.rs:8:25
|
||||||
|
|
|
|
||||||
LL | let _: &[i8] = data.into();
|
LL | let _: &[i8] = data.into();
|
||||||
| ^^^^ the trait `From<&[u8]>` is not implemented for `&[i8]`
|
| ^^^^ the trait `From<&[u8]>` is not implemented for `&[i8]`
|
||||||
|
|
|
|
||||||
= help: the following other types implement trait `From<T>`:
|
= help: the following other types implement trait `From<T>`:
|
||||||
|
<&'input [u8] as From<gimli::read::endian_slice::EndianSlice<'input, Endian>>>
|
||||||
<[T; LANES] as From<Simd<T, LANES>>>
|
<[T; LANES] as From<Simd<T, LANES>>>
|
||||||
<[bool; LANES] as From<Mask<T, LANES>>>
|
<[bool; LANES] as From<Mask<T, LANES>>>
|
||||||
= note: required for `&[u8]` to implement `Into<&[i8]>`
|
= note: required for `&[u8]` to implement `Into<&[i8]>`
|
||||||
|
Loading…
Reference in New Issue
Block a user