diff --git a/Libraries/LibC/CMakeLists.txt b/Libraries/LibC/CMakeLists.txt index 560e795abd..0078b058e3 100644 --- a/Libraries/LibC/CMakeLists.txt +++ b/Libraries/LibC/CMakeLists.txt @@ -66,7 +66,7 @@ add_custom_command( ) set(SOURCES ${LIBC_SOURCES} ${AK_SOURCES} ${ELF_SOURCES}) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostdlib") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libstdc++") serenity_libc(LibC c) target_link_libraries(LibC crt0) add_dependencies(LibC LibM) diff --git a/Libraries/LibELF/DynamicObject.cpp b/Libraries/LibELF/DynamicObject.cpp index 09e162ced4..25973e5de3 100644 --- a/Libraries/LibELF/DynamicObject.cpp +++ b/Libraries/LibELF/DynamicObject.cpp @@ -420,11 +420,6 @@ Elf32_Addr DynamicObject::patch_plt_entry(u32 relocation_offset) ASSERT(relocation.type() == R_386_JMP_SLOT); auto sym = relocation.symbol(); - if (StringView { sym.name() } == "__cxa_demangle") { - dbgln("__cxa_demangle is currently not supported for shared objects"); - // FIXME: Where is it defined? - ASSERT_NOT_REACHED(); - } u8* relocation_address = relocation.address().as_ptr(); auto res = lookup_symbol(sym); diff --git a/Libraries/LibELF/Loader.cpp b/Libraries/LibELF/Loader.cpp index ecc7d1fbeb..1260a862b9 100644 --- a/Libraries/LibELF/Loader.cpp +++ b/Libraries/LibELF/Loader.cpp @@ -264,10 +264,7 @@ String Loader::symbolicate(u32 address, u32* out_offset) const #else auto& demangled_name = symbol.demangled_name; if (demangled_name.is_null()) { - - // FIXME: Temporarily disabled demangling since it is currently not supported with shared libraries - demangled_name = symbol.name; - // demangled_name = demangle(symbol.name); + demangled_name = demangle(symbol.name); } #endif