From d296001f3fea970956ad253a4db26ef3f2ac5210 Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Tue, 15 Feb 2022 23:19:31 +0200 Subject: [PATCH] LibELF: Exclude sorted symbols APIs from the Kernel These are only used by userland, and are implemented using infallible Strings, so let's just ifdef them out of the Kernel. --- Userland/Libraries/LibELF/Image.cpp | 2 -- Userland/Libraries/LibELF/Image.h | 7 ++++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibELF/Image.cpp b/Userland/Libraries/LibELF/Image.cpp index 53ea48a304..77e09277b7 100644 --- a/Userland/Libraries/LibELF/Image.cpp +++ b/Userland/Libraries/LibELF/Image.cpp @@ -381,7 +381,6 @@ Optional Image::find_demangled_function(StringView name) const }); return found; } -#endif Image::SortedSymbol* Image::find_sorted_symbol(FlatPtr address) const { @@ -428,7 +427,6 @@ NEVER_INLINE void Image::sort_symbols() const }); } -#ifndef KERNEL String Image::symbolicate(FlatPtr address, u32* out_offset) const { auto symbol_count = this->symbol_count(); diff --git a/Userland/Libraries/LibELF/Image.h b/Userland/Libraries/LibELF/Image.h index 3adcae87c1..f005a20f41 100644 --- a/Userland/Libraries/LibELF/Image.h +++ b/Userland/Libraries/LibELF/Image.h @@ -7,11 +7,14 @@ #pragma once #include -#include #include #include #include +#ifndef KERNEL +# include +#endif + namespace ELF { class Image { @@ -255,6 +258,7 @@ private: unsigned m_symbol_table_section_index { 0 }; unsigned m_string_table_section_index { 0 }; +#ifndef KERNEL struct SortedSymbol { FlatPtr address; StringView name; @@ -266,6 +270,7 @@ private: SortedSymbol* find_sorted_symbol(FlatPtr) const; mutable Vector m_sorted_symbols; +#endif }; template F>