History log of /external/valgrind/auxprogs/getoff.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b3a1e4bffbdbbf38304f216af405009868f43628 21-Aug-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates, to include 2015. No functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15577 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/auxprogs/getoff.c
ee0ee03c426c9712903cfa17cdca12bc6134807e 02-Sep-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix a few incorrect format strings. Spotted by the Coverity checker.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14433 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/auxprogs/getoff.c
8c98ebce77fb00a0eeadaa682768f4436b702075 17-Aug-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add comments in getoff.c to clarify its intended usage.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14299 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/auxprogs/getoff.c
e004ad8cbdc1769f34dedf77724f09cf4a72afb9 16-Aug-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> * Unbreak build on macos (and on other platforms) that do not have
HAVE_DLINFO_RTLD_DI_TLS_MODID.
* add the copyright notice in auxprogs/getoff.c
* add more prereq to hgtls.vgtest



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14297 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/auxprogs/getoff.c
1670b05a4a415dbfd75b1a120713b4a206bb719e 15-Aug-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> fix 338160: Implement QGetTlsAddr query so that GDB+V gdbsrv can print __thread variables.

To implement QGetTlsAddr, gdbsrv has to know how to get the glibc dtv
address and the module id from the link_map.
These 2 things are dependent on the internals of glibc.
The dependency is mostly isolated in a few lines of arch dependent
code or in an external utility that used a hack + -ldl lib to find
the offset of the modid in the link_map structure.

Tested on x86/amd64/ppc64/s390x. Somewhat tested on ppc32 and arm64.
Untested/a few #ifdef-ed lines not compiled on arm/mips32/mips64
and darwin.

For more background info about thread local storage handling, see
'ELF Handling For Thread-Local Storage' http://www.akkadia.org/drepper/tls.pdf

Changes:
* auxprogs/getoff.c new auxilliary program to get platform specific offsets
(currently only the offset for the module id in struct link_map).
* configure.ac : check for dlinfo(RTLD_DI_TLS_MODID) needed for getoff.c
* new gdbserver_tests/hgtls, testing various types of __thread variables
* various m_gdbserver files:
- implement decoding of the QGetTlsAddr query
- for each platform: platform specific code to get the dtv
- call to external program getoff-<platform> the first time an
__thread variable is printed.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14283 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/auxprogs/getoff.c