diff --git a/redox-rt/src/lib.rs b/redox-rt/src/lib.rs index de76d20cdb..6732c4062f 100644 --- a/redox-rt/src/lib.rs +++ b/redox-rt/src/lib.rs @@ -6,8 +6,8 @@ use core::cell::UnsafeCell; -#[allow(unused_imports)] // ExpectTlsFree for aarch64 and riscv64gc -use generic_rt::ExpectTlsFree; +#[cfg(any(target_arch = "x86_64", target_arch = "x86"))] +use generic_rt::ExpectTlsFree; // not used on aarch64 or riscv64 use generic_rt::GenericTcb; use syscall::Sigcontrol; diff --git a/src/crti/src/lib.rs b/src/crti/src/lib.rs index e7544354eb..5283a70ad2 100644 --- a/src/crti/src/lib.rs +++ b/src/crti/src/lib.rs @@ -3,7 +3,7 @@ #![no_std] #![feature(linkage)] -#[allow(unused_imports)] // riscv64gc fails +#[cfg(not(target_arch = "riscv64"))] use core::arch::global_asm; #[cfg(target_arch = "x86")] diff --git a/src/crtn/src/lib.rs b/src/crtn/src/lib.rs index e5d3676e27..25b0418fd5 100644 --- a/src/crtn/src/lib.rs +++ b/src/crtn/src/lib.rs @@ -3,7 +3,7 @@ #![no_std] #![feature(linkage)] -#[allow(unused_imports)] // riscv64 +#[cfg(not(target_arch = "riscv64"))] use core::arch::global_asm; #[cfg(target_arch = "x86")] diff --git a/src/ld_so/dso.rs b/src/ld_so/dso.rs index b8ce022539..c2f5582069 100644 --- a/src/ld_so/dso.rs +++ b/src/ld_so/dso.rs @@ -10,11 +10,12 @@ use object::{ }, }; -#[allow(unused_imports)] // i586, riscv64gc: tcb::Tcb +#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))] +use super::tcb::Tcb; use super::{ debug::{_r_debug, RTLDDebug}, linker::{__plt_resolve_trampoline, GLOBAL_SCOPE, Resolve, Scope, Symbol}, - tcb::{Master, Tcb}, + tcb::Master, }; use crate::{ header::{dl_tls::__tls_get_addr, sys_mman}, @@ -26,10 +27,11 @@ use alloc::{ sync::Arc, vec::Vec, }; -#[allow(unused_imports)] // i586, riscv64gc: mem::offset_of +#[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))] +use core::mem::offset_of; use core::{ ffi::c_char, - mem::{offset_of, size_of}, + mem::size_of, ptr::{self, NonNull}, slice, sync::atomic::{AtomicBool, Ordering}, diff --git a/src/ld_so/linker.rs b/src/ld_so/linker.rs index 03380d25b9..cae48f49b5 100644 --- a/src/ld_so/linker.rs +++ b/src/ld_so/linker.rs @@ -5,9 +5,10 @@ use alloc::{ sync::{Arc, Weak}, vec::Vec, }; -#[allow(unused_imports)] // i586: NativeEndian, Rela, Sym +use object::elf; +#[cfg(not(target_arch = "x86"))] use object::{ - NativeEndian, elf, + NativeEndian, read::elf::{Rela as _, Sym}, }; @@ -16,7 +17,6 @@ use core::{ ptr::{self, NonNull}, }; -#[allow(unused_imports)] // i586: resolve_sym, c_uint use crate::{ ALLOCATOR, c_str::{CStr, CString}, @@ -26,22 +26,25 @@ use crate::{ fcntl, sys_mman, unistd::F_OK, }, - ld_so::dso::{SymbolBinding, resolve_sym}, + ld_so::dso::SymbolBinding, out::Out, platform::{ Pal, Sys, - types::{c_int, c_uint, c_void}, + types::{c_int, c_void}, }, sync::rwlock::RwLock, }; +#[cfg(not(target_arch = "x86"))] +use crate::{ld_so::dso::resolve_sym, platform::types::c_uint}; -#[allow(unused_imports)] // i586: Rela +#[cfg(not(target_arch = "x86"))] +use super::dso::Rela; use super::{ PATH_SEP, access::accessible, callbacks::LinkerCallbacks, debug::{_dl_debug_state, _r_debug, RTLDState}, - dso::{DSO, ProgramHeader, Rela}, + dso::{DSO, ProgramHeader}, tcb::{Master, Tcb}, }; diff --git a/src/platform/redox/ptrace.rs b/src/platform/redox/ptrace.rs index d9a110e021..e364da9ef1 100644 --- a/src/platform/redox/ptrace.rs +++ b/src/platform/redox/ptrace.rs @@ -4,9 +4,9 @@ //! we are NOT going to bend our API for the sake of //! compatibility. So, this module will be a hellhole. -#[allow(unused_imports)] -// i586, riscv64gc, aarch64: PalSignal, signal, sys_ptrace, core::mem, syscall, Pal, io::prelude -use super::super::{ERRNO, Pal, PalPtrace, PalSignal, Sys, types::*}; +use super::super::{ERRNO, PalPtrace, Sys, types::*}; +#[cfg(target_arch = "x86_64")] +use super::super::{Pal, PalSignal}; #[allow(unused_imports)] #[cfg(target_arch = "aarch64")] use crate::header::arch_aarch64_user::user_regs_struct; // unused @@ -19,17 +19,22 @@ use crate::{ fs::File, header::{ errno::{self as errnoh, EIO}, - fcntl, signal, sys_ptrace, + fcntl, }, - io::{self, prelude::*}, + io, raw_cell::RawCell, sync::Mutex, }; +#[cfg(target_arch = "x86_64")] +use crate::{ + header::{signal, sys_ptrace}, + io::prelude::*, +}; use alloc::collections::{BTreeMap, btree_map::Entry}; -#[allow(unused_imports)] +#[cfg(target_arch = "x86_64")] use core::mem; -#[allow(unused_imports)] +#[cfg(target_arch = "x86_64")] use syscall; pub struct Session {