Skip to content

Commit 8754710

Browse files
committed
adopt object changes
adopt wasm_encoder changes
1 parent 58c9999 commit 8754710

File tree

3 files changed

+17
-15
lines changed

3 files changed

+17
-15
lines changed

Diff for: compiler/rustc_codegen_ssa/src/back/archive.rs

+9-13
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,11 @@ impl<'a> ArArchiveBuilder<'a> {
110110
}
111111

112112
fn try_filter_fat_archs(
113-
archs: object::read::Result<&[impl FatArch]>,
113+
archs: &[impl FatArch],
114114
target_arch: object::Architecture,
115115
archive_path: &Path,
116116
archive_map_data: &[u8],
117117
) -> io::Result<Option<PathBuf>> {
118-
let archs = archs.map_err(|e| io::Error::new(io::ErrorKind::Other, e))?;
119-
120118
let desired = match archs.iter().find(|a| a.architecture() == target_arch) {
121119
Some(a) => a,
122120
None => return Ok(None),
@@ -146,17 +144,15 @@ pub fn try_extract_macho_fat_archive(
146144
_ => return Ok(None),
147145
};
148146

149-
match object::macho::FatHeader::parse(&*archive_map) {
150-
Ok(h) if h.magic.get(object::endian::BigEndian) == object::macho::FAT_MAGIC => {
151-
let archs = object::macho::FatHeader::parse_arch32(&*archive_map);
152-
try_filter_fat_archs(archs, target_arch, archive_path, &*archive_map)
153-
}
154-
Ok(h) if h.magic.get(object::endian::BigEndian) == object::macho::FAT_MAGIC_64 => {
155-
let archs = object::macho::FatHeader::parse_arch64(&*archive_map);
156-
try_filter_fat_archs(archs, target_arch, archive_path, &*archive_map)
157-
}
147+
if let Ok(h) = object::read::macho::MachOFatFile32::parse(&*archive_map) {
148+
let archs = h.arches();
149+
try_filter_fat_archs(archs, target_arch, archive_path, &*archive_map)
150+
} else if let Ok(h) = object::read::macho::MachOFatFile64::parse(&*archive_map) {
151+
let archs = h.arches();
152+
try_filter_fat_archs(archs, target_arch, archive_path, &*archive_map)
153+
} else {
158154
// Not a FatHeader at all, just return None.
159-
_ => Ok(None),
155+
Ok(None)
160156
}
161157
}
162158

Diff for: compiler/rustc_codegen_ssa/src/back/link.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -700,7 +700,7 @@ fn link_dwarf_object(sess: &Session, cg_results: &CodegenResults, executable_out
700700
.truncate(true)
701701
.open(dwp_out_filename)?,
702702
);
703-
let mut output_stream = object::write::StreamingBuffer::new(output_stream);
703+
let mut output_stream = thorin::object::write::StreamingBuffer::new(output_stream);
704704
package.finish()?.emit(&mut output_stream)?;
705705
output_stream.result()?;
706706
output_stream.into_inner().flush()?;

Diff for: compiler/rustc_codegen_ssa/src/back/metadata.rs

+7-1
Original file line numberDiff line numberDiff line change
@@ -656,7 +656,13 @@ pub fn create_metadata_file_for_wasm(sess: &Session, data: &[u8], section_name:
656656
imports.import(
657657
"env",
658658
"__linear_memory",
659-
wasm_encoder::MemoryType { minimum: 0, maximum: None, memory64: true, shared: false },
659+
wasm_encoder::MemoryType {
660+
minimum: 0,
661+
maximum: None,
662+
memory64: true,
663+
shared: false,
664+
page_size_log2: None,
665+
},
660666
);
661667
}
662668

0 commit comments

Comments
 (0)