From 5311d9a02b53545eef014780700d36dc49e60707 Mon Sep 17 00:00:00 2001 From: Folkert Date: Wed, 26 Oct 2022 16:36:10 +0200 Subject: [PATCH] Revert "redirect libc functions to their roc equivalents" This reverts commit 4a75b5ad5827999592ebc0f66debe90f09e87bf5. --- crates/linker/src/elf.rs | 9 ++++++--- crates/linker/src/lib.rs | 10 ---------- crates/linker/src/macho.rs | 8 +++++--- crates/linker/src/pe.rs | 17 ++++++++++------- 4 files changed, 21 insertions(+), 23 deletions(-) diff --git a/crates/linker/src/elf.rs b/crates/linker/src/elf.rs index a2762ad80a..29ac545944 100644 --- a/crates/linker/src/elf.rs +++ b/crates/linker/src/elf.rs @@ -20,7 +20,6 @@ use crate::metadata::{self, Metadata, VirtualOffset}; use crate::{ align_by_constraint, align_to_offset_by_constraint, load_struct_inplace, load_struct_inplace_mut, load_structs_inplace_mut, open_mmap, open_mmap_mut, - redirect_libc_functions, }; const MIN_SECTION_ALIGNMENT: usize = 0x40; @@ -78,8 +77,12 @@ fn collect_roc_definitions<'a>(object: &object::File<'a, &'a [u8]>) -> MutMap Option<&str> { - match name { - "memcpy" => Some("roc_memcpy"), - "memset" => Some("roc_memset"), - "memmove" => Some("roc_memmove"), - _ => None, - } -} - pub(crate) fn align_by_constraint(offset: usize, constraint: usize) -> usize { if offset % constraint == 0 { offset diff --git a/crates/linker/src/macho.rs b/crates/linker/src/macho.rs index e192b5879c..33e304120f 100644 --- a/crates/linker/src/macho.rs +++ b/crates/linker/src/macho.rs @@ -18,7 +18,7 @@ use target_lexicon::Triple; use crate::{ align_by_constraint, align_to_offset_by_constraint, load_struct_inplace, load_struct_inplace_mut, load_structs_inplace, load_structs_inplace_mut, open_mmap, - open_mmap_mut, redirect_libc_functions, + open_mmap_mut, }; const MIN_SECTION_ALIGNMENT: usize = 0x40; @@ -70,8 +70,10 @@ fn collect_roc_definitions<'a>(object: &object::File<'a, &'a [u8]>) -> MutMap { // we implicitly only do 32-bit relocations @@ -1064,13 +1065,15 @@ impl AppSections { let address = symbol.as_ref().map(|s| s.address()).unwrap_or_default(); let name = symbol.and_then(|s| s.name()).unwrap_or_default(); - let name = redirect_libc_functions(name).unwrap_or(name).to_string(); - relocations.entry(name).or_default().push(AppRelocation { - offset_in_section, - address, - relocation, - }); + relocations + .entry(name.to_string()) + .or_default() + .push(AppRelocation { + offset_in_section, + address, + relocation, + }); } _ => todo!(), }