diff --git a/lib/edlang_codegen_llvm/src/codegen.rs b/lib/edlang_codegen_llvm/src/codegen.rs index 64ba4fe24..16a4cbc42 100644 --- a/lib/edlang_codegen_llvm/src/codegen.rs +++ b/lib/edlang_codegen_llvm/src/codegen.rs @@ -6,7 +6,7 @@ use std::{ use edlang_ir as ir; use edlang_ir::DefId; -use edlang_session::Session; +use edlang_session::{OptLevel, Session}; use edlang_span::Span; use inkwell::{ builder::{Builder, BuilderError}, @@ -111,25 +111,19 @@ pub fn compile(session: &Session, program: &ProgramBody) -> Result, fn_id: DefId, is_definit ctx.di_unit.get_file(), line as u32 + 1, di_type, - body.is_exported || body.is_extern, + false, // body.is_exported || body.is_extern, is_definition && !body.is_extern, line as u32 + 1, 0, diff --git a/lib/edlang_driver/src/linker.rs b/lib/edlang_driver/src/linker.rs index b5dd01755..74a047fda 100644 --- a/lib/edlang_driver/src/linker.rs +++ b/lib/edlang_driver/src/linker.rs @@ -58,6 +58,9 @@ pub fn link_binary(objects: &[PathBuf], output_filename: &Path) -> std::io::Resu #[cfg(target_os = "macos")] { let mut args = vec![ + "-demangle", + "-dynamic", + "-no_deduplicate", "-L/usr/local/lib", "-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib", ];