From 619245024a8697b5cc12b64c0e6dd7e1b778a5fd Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sat, 20 Aug 2022 20:10:15 -0600 Subject: [PATCH] Use 32-bit program headers too --- src/platform/redox/redox-exec/src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/platform/redox/redox-exec/src/lib.rs b/src/platform/redox/redox-exec/src/lib.rs index 3fd4d4deea..a62e5017c5 100644 --- a/src/platform/redox/redox-exec/src/lib.rs +++ b/src/platform/redox/redox-exec/src/lib.rs @@ -14,7 +14,7 @@ use alloc::{ //TODO: allow use of either 32-bit or 64-bit programs #[cfg(target_pointer_width = "32")] -use goblin::elf32::{header::Header, program_header::program_header64::{ProgramHeader, PT_LOAD, PT_INTERP, PF_W, PF_X}}; +use goblin::elf32::{header::Header, program_header::program_header32::{ProgramHeader, PT_LOAD, PT_INTERP, PF_W, PF_X}}; #[cfg(target_pointer_width = "64")] use goblin::elf64::{header::Header, program_header::program_header64::{ProgramHeader, PT_LOAD, PT_INTERP, PF_W, PF_X}}; @@ -115,7 +115,7 @@ where // PT_INTERP must come before any PT_LOAD, so we don't have to iterate twice. PT_INTERP => { let mut interp = vec! [0_u8; segment.p_filesz as usize]; - read_all(*image_file as usize, Some(segment.p_offset), &mut interp)?; + read_all(*image_file as usize, Some(segment.p_offset as u64), &mut interp)?; return Ok(FexecResult::Interp { path: interp.into_boxed_slice(),