History log of /external/valgrind/coregrind/m_gdbserver/valgrind-low-amd64.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7463e49387b46e66b6612ff4b9683c612c92f804 26-Feb-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Include pub_core_aspacemgr.h only where needed.
Also fixes BZ #344235.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14966 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_gdbserver/valgrind-low-amd64.c
8e7857747b7e178de4cc825cb35c10efec855ab2 17-Dec-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix 197259 Unsupported arch_prtctl PR_SET_GS option
(valgrind side).
In summary: we were counting somewhat on the luck for FS,
we now similarly count on luch for GS
See VEX commit log r3043 for more details.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14815 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_gdbserver/valgrind-low-amd64.c
87fc2a9cdecaf88c3e847a168057b2122c9cab04 15-Aug-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Some cleanup post QGetTlsAddr commit
* remove useless commented line in hgtls.vgtest
* avoid some #ifdef in arch specific code, hoping to discover more compile
time errors.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14287 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_gdbserver/valgrind-low-amd64.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/coregrind/m_gdbserver/valgrind-low-amd64.c
d7348651305c5ec711af0a0d59607477e42b5bbe 19-Jan-2013 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix buffer overrun due to copy paste from x86 to amd64.
Detected by Florian (using coverity tool).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13245 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_gdbserver/valgrind-low-amd64.c
6bd9dc18c043927c1196caba20a327238a179c42 23-Nov-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Changes to allow compilation with -Wwrite-strings. That compiler option
is not used for testcases, just for valgrind proper.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13137 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_gdbserver/valgrind-low-amd64.c
d7209def7f1ffcc0b415710afb95c9eacca71155 21-Jul-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Localise "struct reg regs[]".


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12769 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_gdbserver/valgrind-low-amd64.c
419d5f2931a88d5e15e78fdaeac4d550aaf1e789 24-May-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> gdbserver: introduce support to show the AVX registers.

This implies to change the interface between the
arch independent gdbserver files and the arch dependent files
as AVX implies a choice of xml files at run time.

In valgrind-low-amd64.c, the xml files and the nr of registers
are different depending on AVX support or not.

Other platforms still have a fully static nr of registers.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12581 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_gdbserver/valgrind-low-amd64.c
349a39142e16d060936911c1792cc0a5d2fe63fe 23-May-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Prepare for AVX support : restructure gdbsrv/target/valgrind-low/arch low

AVX support implies to have target xml files which are selected
according to the machine hwcaps.
This change improves the structure of the gdbserver software layering
to prepare for this.

Basically, the protocol files (e.g. server.c) are now calling directly
the valgrind target operations which are now defined in target.h/target.c
(before, there was a level of indirection inheritated from the GDB
structure which was useless for valgrind gdbserver).
+ clarified some comments



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12579 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_gdbserver/valgrind-low-amd64.c
45fa9f4bd1819c7ac0d9469df4e35cee0c130153 21-May-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add initial support for Intel AVX instructions (Valgrind side).
Tracker bug is #273475.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12569 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_gdbserver/valgrind-low-amd64.c
3b290486cd4cd601b20e04340e593c9ed9717e5f 06-May-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement a GDB server in Valgrind. See #214909.
(Philippe Waroquiers, philippe.waroquiers@skynet.be)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11727 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_gdbserver/valgrind-low-amd64.c