diff --git a/src/link.rs b/src/link.rs
index a4e1ec87f31adff9ae363aac310c72fdcd00efdb..fe6aad652de5599d66a430feba7924e5ad30dfd5 100644
--- a/src/link.rs
+++ b/src/link.rs
@@ -25,10 +25,10 @@ use crate::symbols::SymbolsIter;
const PADDING_SIZE: usize = 32;
const PADDING_BUFFER: [u8; PADDING_SIZE] = [0xff; PADDING_SIZE];
-const PIP_EXPORT_SECTIONS: &'static [&str] = &[".vector_table", ".text", ".ARM.exidx", ".data"];
-const CRT0_EXPORT_SECTIONS: &'static [&str] = &[".text", ".rodata", ".ARM.exidx"];
-const USER_CODE_EXPORT_SECTIONS: &'static [&str] = &[".rom", ".ARM.exidx", ".got", ".rom.ram"];
-const USER_CODE_INFO_SYMBOLS: &'static [&str] = &[
+const PIP_EXPORT_SECTIONS: &[&str] = &[".vector_table", ".text", ".ARM.exidx", ".data"];
+const CRT0_EXPORT_SECTIONS: &[&str] = &[".text", ".rodata", ".ARM.exidx"];
+const USER_CODE_EXPORT_SECTIONS: &[&str] = &[".rom", ".ARM.exidx", ".got", ".rom.ram"];
+const USER_CODE_INFO_SYMBOLS: &[&str] = &[
"start",
"__romSize",
"__romRamSize",
@@ -85,7 +85,7 @@ fn dump_sections<'s, T: Write>(
/// returns the number of bytes needed to align value
/// on a given align size (must be a power of 2)
fn align(value: usize, align: usize) -> usize {
- (value + (align - 1) & !(align - 1)) - value
+ ((value + (align - 1)) & !(align - 1)) - value
}
/// Exports the user code information to the output file
@@ -105,7 +105,7 @@ fn export_user_info<'data, T: Write, E: EndianParse>(
symbols_name: &[&'static str],
output_file: &mut T,
) -> Result<()> {
- let mut symbols = SymbolsIter::new(elf, symbols_name.iter().map(|s| *s))?;
+ let mut symbols = SymbolsIter::new(elf, symbols_name.iter().copied())?;
symbols.try_for_each(|symbol| -> Result<()> {
let symbol = symbol?;
@@ -124,7 +124,7 @@ fn get_relocations_from_section<'data, E: EndianParse>(
elf: &'data ElfBytes<'data, E>,
section_name: &str,
) -> Result<Option<Vec<u32>>> {
- match RelIter::new(&elf, §ion_name) {
+ match RelIter::new(elf, section_name) {
Ok(reliter) => Ok(Some(
reliter
.filter(|rel| rel.r_type == elf::abi::R_ARM_ABS32)
@@ -165,7 +165,7 @@ pub fn link(opts: Opts) -> Result<()> {
// Then open Pip elf file if necessary
let pip_elf_data = match opts.pip_elf {
None => None,
- Some(pip_path) => Some(std::fs::read(&pip_path)?),
+ Some(pip_path) => Some(std::fs::read(pip_path)?),
};
let pip_elf = match pip_elf_data {
@@ -213,7 +213,7 @@ pub fn link(opts: Opts) -> Result<()> {
// Dump .rom section in a vec
let mut rom_bytes: Vec<u8> = vec![];
- dump_sections(&user_code_elf, &USER_CODE_EXPORT_SECTIONS, &mut rom_bytes)?;
+ dump_sections(&user_code_elf, USER_CODE_EXPORT_SECTIONS, &mut rom_bytes)?;
if let Some(ref mut f) = gdb_offsets {
writeln!(