ladybird/Libraries
Andrew Kaster 767f4c7421 LibELF+LibC: Split ELFDynamicObject into a Loader + Object
Separate some responsibilities:

ELFDynamicLoader is responsible for loading elf binaries from disk and
performing relocations, calling init functions, and eventually calling
finalizer functions.

ELFDynamicObject is a helper class to parse the .dynamic section of an
elf binary, or the table of Elf32_Dyn entries at the _DYNAMIC symbol.
ELFDynamicObject now owns the helper classes for Relocations, Symbols,
Sections and the like that ELFDynamicLoader will use to perform
relocations and symbol lookup.

Because these new helpers are constructed from offsets into the .dynamic
section within the loaded .data section of the binary, we don't need the
ELFImage for nearly as much of the loading processes as we did before.
Therefore we can remove most of the extra DynamicXXX classes and just
keep the one that lets us find the location of _DYNAMIC in the new ELF.

And finally, since we changed the name of the class that dlopen/dlsym
care about, we need to compile/link and use the new ELFDynamicLoader
class in LibC.
2020-01-04 10:39:04 +01:00
..
LibAudio AK: Move the userspace SharedBuffer from LibC to AK 2020-01-01 18:53:34 +01:00
LibC LibELF+LibC: Split ELFDynamicObject into a Loader + Object 2020-01-04 10:39:04 +01:00
LibCore LibCore: Fix crash on RPC client disconnect 2020-01-03 20:27:48 +01:00
LibDraw AK: Move the userspace SharedBuffer from LibC to AK 2020-01-01 18:53:34 +01:00
LibELF LibELF+LibC: Split ELFDynamicObject into a Loader + Object 2020-01-04 10:39:04 +01:00
LibGUI LibGUI: Clear out a GJsonArrayModel if it fails to open the JSON source 2020-01-02 20:57:55 +01:00
LibHTML Build: HOST_CXX -> USE_HOST_CXX 2020-01-02 21:03:53 +01:00
LibIPC LibIPC: Let's start building custom message codecs for LibIPC 2019-12-30 02:41:45 +01:00
LibM Build: clean up build system, use one shared Makefile 2019-12-20 20:20:54 +01:00
LibMarkdown Build: clean up build system, use one shared Makefile 2019-12-20 20:20:54 +01:00
LibPCIDB Build: clean up build system, use one shared Makefile 2019-12-20 20:20:54 +01:00
LibProtocol AK: Move the userspace SharedBuffer from LibC to AK 2020-01-01 18:53:34 +01:00
LibPthread Kernel: Refactor scheduler to use dynamic thread priorities 2019-12-30 18:46:17 +01:00
LibThread Build: clean up build system, use one shared Makefile 2019-12-20 20:20:54 +01:00
LibVT LibVT: fix pixel size calculations in terminal_did_resize 2020-01-01 19:33:19 +01:00
Makefile Build: clean up build system, use one shared Makefile 2019-12-20 20:20:54 +01:00