History log of /haiku/src/system/runtime_loader/elf_symbol_lookup.h
Revision Date Author Comments
# 4438fc65 06-Feb-2020 Jérôme Duval <jerome.duval@gmail.com>

runtime_loader: code clean up after hrev53827

avoid double free in destructor.

Change-Id: I28bd412b2323c3d80e63711885e87dd64e6165fc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2224
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>


# 24ffd29c 28-Jan-2020 Murai Takashi <tmurai01@gmail.com>

runtime_loader: Fix PVS V595

Add NULL check for fValuesResolved, since malloc() might
return NULL.

Change-Id: I3849ddfcffd7712fec3d90546244c6b17e4d0f77
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2202
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 61987fe7 29-Oct-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

runtime_loader: allow the ABI version symbol to be local.

Some libraries buildsystems (eg. zlib) somehow prevent the symbol from
being exported. We should fix that, but binaries with missing symbols
are already out there, so we need to handle them in any case.


# d5447eb9 25-Oct-2015 Simon South <ssouth@simonsouth.com>

runtime_loader: Do not assume executable has dynamic segment

This prevents a crash when loading a statically linked executable.

Fixes #12287.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# fad7246f 08-May-2014 Pawel Dziepak <pdziepak@quarnos.org>

runtime_loader: fix CID 1211997, proper corner case handling


# 0e45e3eb 03-May-2014 Pawel Dziepak <pdziepak@quarnos.org>

runtime_loader: keep symbol DSO in SymbolLookupCache

While resolving TLS related relocations it is necessary to know the DSO
that defines the symbol. Without proper support in caching that information
is available only when the symbol is resolved first time. That works well
for TLS since TLS_DTPMOD is guaranteed to be before TLS_DTPOFF relocation.
This patch makes the newly introduced parts of the interface work in a
general case.


# e3ac2588 25-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Changed runtime_loader to use elf_* typedefs over Elf32_*.

This means that it will be using ELF64 types on x86_64 rather than
ELF32. The next step for supporting x86_64 is to implement relocations.


# ca7aa99f 11-Jan-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added SymbolLookupInfo::requestingSymbol which is passed in by
resolve_symbol().
* find_undefined_symbol_beos(): Does now check whether
SymbolLookupInfo::requestingSymbol is defined, and, if so, returns it
directly. This saves the time for the hash table lookup and also works
around broken files like SoundPlay. Fixes the runtime loader part of #7094.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40211 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 25dc253d 22-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Merged weak-symbols branch.
* Fixed trivial merge conflict in src/system/libroot/posix/locale/nl_langinfo.cpp
* Fixed gcc 2 compilation of src/system/glue/init_term_dyn.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39571 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 94830eb2 20-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved most code of the heavy elf.cpp into several smaller source files.
* Some style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30808 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fad7246fcdc82a704e425f7f1bface9bee73484a 08-May-2014 Pawel Dziepak <pdziepak@quarnos.org>

runtime_loader: fix CID 1211997, proper corner case handling


# 0e45e3eb1d8a2c29e1163878bfcf29b81a6eb791 03-May-2014 Pawel Dziepak <pdziepak@quarnos.org>

runtime_loader: keep symbol DSO in SymbolLookupCache

While resolving TLS related relocations it is necessary to know the DSO
that defines the symbol. Without proper support in caching that information
is available only when the symbol is resolved first time. That works well
for TLS since TLS_DTPMOD is guaranteed to be before TLS_DTPOFF relocation.
This patch makes the newly introduced parts of the interface work in a
general case.


# e3ac2588e64059e0c140504e9acc8e73b3c36fdc 25-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Changed runtime_loader to use elf_* typedefs over Elf32_*.

This means that it will be using ELF64 types on x86_64 rather than
ELF32. The next step for supporting x86_64 is to implement relocations.


# ca7aa99f983390f2997f478c86819a4dc69487be 11-Jan-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added SymbolLookupInfo::requestingSymbol which is passed in by
resolve_symbol().
* find_undefined_symbol_beos(): Does now check whether
SymbolLookupInfo::requestingSymbol is defined, and, if so, returns it
directly. This saves the time for the hash table lookup and also works
around broken files like SoundPlay. Fixes the runtime loader part of #7094.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40211 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 25dc253d6ab28ce204fa4de2d3e7a27d167fc817 22-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Merged weak-symbols branch.
* Fixed trivial merge conflict in src/system/libroot/posix/locale/nl_langinfo.cpp
* Fixed gcc 2 compilation of src/system/glue/init_term_dyn.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39571 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 94830eb226ce51bd1fd0143bad2538f788883e85 20-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved most code of the heavy elf.cpp into several smaller source files.
* Some style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30808 a95241bf-73f2-0310-859d-f6bbb57e9c96