Fix builds in no_std environments
This commit is contained in:
parent
1436aab797
commit
9f36ba0ffa
@ -16,7 +16,7 @@ edition = "2021"
|
||||
name = "elf"
|
||||
|
||||
[dependencies]
|
||||
hashbrown = { version = "0.14.0", optional = true }
|
||||
hashbrown = { version = "0.14.0", optional = true, default-features = false }
|
||||
|
||||
[features]
|
||||
default = ["std", "to_str"]
|
||||
|
@ -1,9 +1,9 @@
|
||||
use core::ops::Range;
|
||||
|
||||
#[cfg(not(feature = "std"))]
|
||||
use hashbrown::HashMap;
|
||||
use alloc::{boxed::Box, collections::BTreeMap as BufferMap, vec, vec::Vec};
|
||||
#[cfg(feature = "std")]
|
||||
use std::collections::HashMap;
|
||||
use std::collections::BTreeMap as BufferMap;
|
||||
|
||||
use crate::abi;
|
||||
use crate::compression::CompressionHeader;
|
||||
@ -683,7 +683,7 @@ impl<E: EndianParse, S: Read + Seek> ElfStream<E, S> {
|
||||
struct CachingReader<R: Read + Seek> {
|
||||
reader: R,
|
||||
stream_len: u64,
|
||||
bufs: HashMap<(usize, usize), Box<[u8]>>,
|
||||
bufs: BufferMap<(usize, usize), Box<[u8]>>,
|
||||
}
|
||||
|
||||
impl<R: Read + Seek> CachingReader<R> {
|
||||
@ -694,7 +694,7 @@ impl<R: Read + Seek> CachingReader<R> {
|
||||
Ok(CachingReader {
|
||||
reader,
|
||||
stream_len,
|
||||
bufs: HashMap::<(usize, usize), Box<[u8]>>::default(),
|
||||
bufs: BufferMap::<(usize, usize), Box<[u8]>>::default(),
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
#[cfg(feature = "std")]
|
||||
pub type StreamError = std::io::Error;
|
||||
|
||||
#[cfg(not(feature = "std"))]
|
||||
#[derive(Debug)]
|
||||
pub struct StreamError {
|
||||
pub message: &'static str,
|
||||
}
|
||||
|
@ -130,6 +130,9 @@
|
||||
#![warn(rust_2018_idioms)]
|
||||
#![deny(missing_debug_implementations)]
|
||||
|
||||
#[cfg(not(feature = "std"))]
|
||||
extern crate alloc;
|
||||
|
||||
pub mod abi;
|
||||
|
||||
pub mod compression;
|
||||
|
Loading…
x
Reference in New Issue
Block a user