#
75c31ae2 |
|
26-Oct-2015 |
Simon South <ssouth@simonsouth.com> |
system: Build using public elf.h header Reduce duplication of code by * Removing from elf_common.h definitions available in os/kernel/elf.h * Deleting elf32.h and elf64.h * Renaming elf_common.h to elf_private.h * Updating source to build using public and private ELF header files together Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
|
#
df58e6a9 |
|
03-May-2014 |
Pawel Dziepak <pdziepak@quarnos.org> |
runtime_loader: support linking TLS symbols from any DSO Previously TLS_DTPMOD relocation blindly returned ID of the current DSO. This patch does proper symbol lookup if there is a symbol assigned to the relocation and uses ID of the DSO in which the symbol is defined.
|
#
44c0c4d3 |
|
03-May-2014 |
Pawel Dziepak <pdziepak@quarnos.org> |
runtime_loader: add support for ELF based TLS This patch introduces support of ELF based TLS handling with lazy allocation and initalization of TLS block for each DSO and thread. The implementation generally follows the official ABI except that generation counter in dtv is in fact a pointer to Generation object that contains both generation counter and size of the dtv. That simplified the implementation a bit, but could be changed later. The ABI requirements regariding in memory position of TLS block is not honoured what results in static TLS model being unsupported. However, that should not be a problem as long as "executables" in Haiku are in fact shared objects and optimizations which require specific TLS block in memory layout are not possible anyway.
|
#
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
|
#
3d649765 |
|
05-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The TRACE() macro is defined in runtime_loader_private.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39315 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
003ebb0e |
|
19-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Also define the build system variables TARGET_STATIC_{LIBSTDC++,LIBSUPC++}. * runtime loader: - Fixed gcc 4 warnings. - Enabled -Werror. - Renamed all remaining *.c source files to *.cpp. - Implemented GNU style ELF symbol versioning support. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30806 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
df58e6a9f4fb84266cc2f78f611243171b407315 |
|
03-May-2014 |
Pawel Dziepak <pdziepak@quarnos.org> |
runtime_loader: support linking TLS symbols from any DSO Previously TLS_DTPMOD relocation blindly returned ID of the current DSO. This patch does proper symbol lookup if there is a symbol assigned to the relocation and uses ID of the DSO in which the symbol is defined.
|
#
44c0c4d3d0d68c3c3db23858b1089d3cf51bdf16 |
|
03-May-2014 |
Pawel Dziepak <pdziepak@quarnos.org> |
runtime_loader: add support for ELF based TLS This patch introduces support of ELF based TLS handling with lazy allocation and initalization of TLS block for each DSO and thread. The implementation generally follows the official ABI except that generation counter in dtv is in fact a pointer to Generation object that contains both generation counter and size of the dtv. That simplified the implementation a bit, but could be changed later. The ABI requirements regariding in memory position of TLS block is not honoured what results in static TLS model being unsupported. However, that should not be a problem as long as "executables" in Haiku are in fact shared objects and optimizations which require specific TLS block in memory layout are not possible anyway.
|
#
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
|
#
3d64976518a8847b4456a74bdaaff28c9137248a |
|
05-Nov-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
The TRACE() macro is defined in runtime_loader_private.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39315 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
003ebb0e834b8bc6dd69524cc5ffd4860b0466c4 |
|
19-May-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Also define the build system variables TARGET_STATIC_{LIBSTDC++,LIBSUPC++}. * runtime loader: - Fixed gcc 4 warnings. - Enabled -Werror. - Renamed all remaining *.c source files to *.cpp. - Implemented GNU style ELF symbol versioning support. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30806 a95241bf-73f2-0310-859d-f6bbb57e9c96
|