haiku/src/system/runtime_loader
Ingo Weinhold b7786ebd30 find_undefined_symbol_add_on(): Resolve non-weak symbols defined in the add-on
to themselves. This works around the problem that those symbols could be
resolved to symbols in the application, which is usually undesired. Weak
symbols have the same problem, but the the runtime loader cannot decide which
should be resolved locally and which mustn't.

The root issue is that BeOS style add-ons simply cannot be supported by a
standard-complying ELF loader.

Affects gcc 4 only, since with gcc 2 we link everything symbolically. The best
solution for the time being would be to build gcc 4 add-ons with default
hidden visibility, exporting only the symbols that should be visible.

Related ticket: #7114


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-19 11:59:03 +00:00
..
arch * Merged weak-symbols branch. 2010-11-22 13:06:36 +00:00
add_ons.cpp * Moved most code of the heavy elf.cpp into several smaller source files. 2009-05-21 00:57:46 +00:00
add_ons.h * Moved most code of the heavy elf.cpp into several smaller source files. 2009-05-21 00:57:46 +00:00
elf_haiku_version.cpp Normalized the FATAL messages. The image path is always printed, now. 2009-05-27 14:32:11 +00:00
elf_haiku_version.h * Moved most code of the heavy elf.cpp into several smaller source files. 2009-05-21 00:57:46 +00:00
elf_load_image.cpp * Merged weak-symbols branch. 2010-11-22 13:06:36 +00:00
elf_load_image.h * Moved most code of the heavy elf.cpp into several smaller source files. 2009-05-21 00:57:46 +00:00
elf_symbol_lookup.cpp find_undefined_symbol_add_on(): Resolve non-weak symbols defined in the add-on 2011-01-19 11:59:03 +00:00
elf_symbol_lookup.h * Added SymbolLookupInfo::requestingSymbol which is passed in by 2011-01-12 12:43:13 +00:00
elf_versioning.cpp * Merged weak-symbols branch. 2010-11-22 13:06:36 +00:00
elf_versioning.h * Moved most code of the heavy elf.cpp into several smaller source files. 2009-05-21 00:57:46 +00:00
elf.cpp * Merged weak-symbols branch. 2010-11-22 13:06:36 +00:00
errors.cpp * Moved most code of the heavy elf.cpp into several smaller source files. 2009-05-21 00:57:46 +00:00
errors.h * Moved most code of the heavy elf.cpp into several smaller source files. 2009-05-21 00:57:46 +00:00
export.cpp * Also define the build system variables TARGET_STATIC_{LIBSTDC++,LIBSUPC++}. 2009-05-20 02:22:36 +00:00
heap.cpp Implemented realloc(). 2008-11-02 02:59:15 +00:00
images.cpp No need to use loadAddress as delta as delta isn't used for i==0. CID3197, CID 1972 and ticket #6990. 2010-12-28 17:04:58 +00:00
images.h * Moved most code of the heavy elf.cpp into several smaller source files. 2009-05-21 00:57:46 +00:00
Jamfile * reintegrated posix-locale 2010-07-23 23:13:00 +00:00
runtime_loader_private.h * Merged weak-symbols branch. 2010-11-22 13:06:36 +00:00
runtime_loader.cpp Relative add-ons pathnames are now searched in ADDON_PATH too 2010-11-27 09:57:16 +00:00
runtime_loader.rdef * Changed Ld rule to allow adding resource files. 2007-10-02 15:22:13 +00:00
utility.cpp * Moved most code of the heavy elf.cpp into several smaller source files. 2009-05-21 00:57:46 +00:00
utility.h * Moved most code of the heavy elf.cpp into several smaller source files. 2009-05-21 00:57:46 +00:00