1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 00:07:36 +00:00

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.
This commit is contained in:
Idan Horowitz 2022-02-15 23:19:31 +02:00 committed by Andreas Kling
parent 1616460312
commit d296001f3f
2 changed files with 6 additions and 3 deletions

View file

@ -381,7 +381,6 @@ Optional<Image::Symbol> Image::find_demangled_function(StringView name) const
}); });
return found; return found;
} }
#endif
Image::SortedSymbol* Image::find_sorted_symbol(FlatPtr address) const 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 String Image::symbolicate(FlatPtr address, u32* out_offset) const
{ {
auto symbol_count = this->symbol_count(); auto symbol_count = this->symbol_count();

View file

@ -7,11 +7,14 @@
#pragma once #pragma once
#include <AK/Concepts.h> #include <AK/Concepts.h>
#include <AK/String.h>
#include <AK/Vector.h> #include <AK/Vector.h>
#include <Kernel/VirtualAddress.h> #include <Kernel/VirtualAddress.h>
#include <LibC/elf.h> #include <LibC/elf.h>
#ifndef KERNEL
# include <AK/String.h>
#endif
namespace ELF { namespace ELF {
class Image { class Image {
@ -255,6 +258,7 @@ private:
unsigned m_symbol_table_section_index { 0 }; unsigned m_symbol_table_section_index { 0 };
unsigned m_string_table_section_index { 0 }; unsigned m_string_table_section_index { 0 };
#ifndef KERNEL
struct SortedSymbol { struct SortedSymbol {
FlatPtr address; FlatPtr address;
StringView name; StringView name;
@ -266,6 +270,7 @@ private:
SortedSymbol* find_sorted_symbol(FlatPtr) const; SortedSymbol* find_sorted_symbol(FlatPtr) const;
mutable Vector<SortedSymbol> m_sorted_symbols; mutable Vector<SortedSymbol> m_sorted_symbols;
#endif
}; };
template<IteratorFunction<Image::Section> F> template<IteratorFunction<Image::Section> F>