112711afefcfcd43680c7c4aa8d38ef180e8811e |
|
10-Apr-2015 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a port to Linux/TileGx. Zhi-Gang Liu (zliu@tilera.com) Valgrind aspects, to match vex r3124. See bug 339778 - Linux/TileGx platform support to Valgrind git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15080 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
f44ff62031a5344468774ada6f1b7375dfd85e7b |
|
20-Dec-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Buffer audit. Resize some. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14825 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
866862a87a06a70e2e0c0d7e5c773e252db8ecdd |
|
13-Dec-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix BZ #116002. Left justification of strings in myvprintf_str was mixed up. Now fixed and %s formats changed accordingly. In function myvprintf_int64: the local buffer was not large enough to hold ULONG_MAX in binary notation. Numbers were truncated at 39 digits. Testcases added. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14808 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
26ed419d60369d0545510eba0832566e24452e1e |
|
04-Nov-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Adds initial support for AArch64 (arm64) on Android. Small programs (/system/bin/ls, /system/bin/date) run. Still to do: * enable more malloc/free intercepts * enable wrappers for ashmem and binder syscalls * check to see if any special ioctl support is required for ARM Mali GPUs git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14690 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
518850bf0da07ed3e2244e307268ae0fd80e93a8 |
|
23-Oct-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Constify coregrind. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14656 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
1ef70c6f00ab1b50d1936f77037e9923d8ed8c59 |
|
22-Oct-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Change VG_(allocEltDedupPA) to return a pointer to const. The reason is that once an element has been allocated and added to the pool it must not be modified afterwards. See the documentation in pub_tool_deduppoolalloc.h The rest of the patch is ripple. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14654 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
d6845c6e889dd75928e5cdbe5a8ba654881783ac |
|
15-Oct-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
di_notify_ACHIEVE_ACCEPT_STATE: before starting to parse the ELF file, truncate overlaps in the DebugInfoMappings that have been collected by the DebugInfo's FSM. Not doing so can confuse ML_(read_elf_debug_info)'s computation of bias values. Observed to be a problem when reading EDIDX sections for objects mangled by Mike Hommey's elfhack program. See http://bugzilla.mozilla.org/show_bug.cgi?id=788974 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14632 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
417d737cd710046f1c865b618f5f9b73b8969e45 |
|
18-Sep-2014 |
mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Old STABS code is still being compiled, but never used. Remove it. Since valgrind 3.9.0 the STABS support was already disabled completely. But the code was still there being compiled and we were still searching for stabs sections in binaries. Completely remove all sources, tests and references. Add a note to coregrind/m_debuginfo/README.txt to mention the old code can be found in the subversion repository. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14550 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
b49e4a5087d1927179baf1dea9dcc658fd778348 |
|
14-Sep-2014 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Tidy up m_oset.c - Document that the allocation function must ot return NULL. - As a conequence of the previous requirement the various Create and AllocNode functions cannot return NULL. Remove pointless asserts at call sites. - Remove documentation of undefined function CreateWithCmp. - Names of library functions (such as 'free') are reserved as a are names beginning with underscores. Don't use those. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14531 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
7cf5f6658661a8d7f157c353b5e7ee79b5f66a44 |
|
06-Sep-2014 |
mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Always check crc in open_debug_file for now. Bug #338791 followup. Revision r14464 made it so that debug alt files could be found by their build-id or their (relative) file path. Debug alt files are matched using the given build-id, but by crc. Calculating the full CRC is costly, but currently still needed to avoid misidentifying the main file as debug file. Slightly more efficient would be to use fstat to check we aren't actually opening the main file under any other name (but that only works for local DiImages). Or we could check that the file being opened actually has at least one .debug* section. But this change was the minimal patch to make things work as before. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14474 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
c5af2ae7cec426721577d4a249d4a7b7c0eeb65e |
|
05-Sep-2014 |
mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Bug 338791 Handle debug alt dwz files that are relative to the debug file. readdwarf3 would only look for alt dwz files using the build-id. But alt files can be installed relative to the debug (or main) file. Fix find_debug_file to allow searching of relative files even if we don't want an ET_REL (rel_ok) file, and pass the build-id to open_debug_file so it can be checked. Add the debug file path to _DebugInfoFSM and set it in find_debug_file once opened. Pass the dbgname or filename as relative file to resolve an altfile in read_elf_debug_info when we ahava an debugaltlink_escn. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14464 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
b895602e254618a911dbf3ca26516e9f920656cd |
|
28-Aug-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Typo fix + small improvement in comment git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14377 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
4cace66777ca9ee73ea156210c04e9d4cc178395 |
|
13-Aug-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Reduce memory needed for symbols, by having the tocptr and local_ep (used for ppc64 platforms) #ifdef-ed and accessed by macros that becomes NOP on non ppc64 platforms. This decreases the debuginfo memory by about 2.5 Mb on a big 32 bit application. Note : doing that, some questions were encountered in the way tocptr and local_ep have (or do not have) to be copied/maintained in storage.c canonicaliseSymtab git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14273 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
4815f5af78cc482a2c028939579517ad3fc5c62b |
|
13-Aug-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix some comments git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14267 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
582d58245637ab05272d89fb94b12fd0f18fa0f8 |
|
08-Aug-2014 |
carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This commit is for Bugzilla 334834. The Bugzilla contains patch 2 of 3 to add PPC64 LE support. The other two patches can be found in Bugzillas 334384 and 334836. POWER PC, add the functional Little Endian support, patch 2 The IBM POWER processor now supports both Big Endian and Little Endian. The ABI for Little Endian also changes. Specifically, the function descriptor is not used, the stack size changed, accessing the TOC changed. Functions now have a local and a global entry point. Register r2 contains the TOC for local calls and register r12 contains the TOC for global calls. This patch makes the functional changes to the Valgrind tool. The patch makes the changes needed for the none/tests/ppc32 and none/tests/ppc64 Makefile.am. A number of the ppc specific tests have Endian dependencies that are not fixed in this patch. They are fixed in the next patch. Per Julian's comments renamed coregrind/m_dispatch/dispatch-ppc64-linux.S to coregrind/m_dispatch/dispatch-ppc64be-linux.S Created new file for LE coregrind/m_dispatch/dispatch-ppc64le-linux.S. The same was done for coregrind/m_syswrap/syscall-ppc-linux.S. Signed-off-by: Carl Love <carll@us.ibm.com> git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14239 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
cae0cc22b83ffb260ee8379e92099c5a701944cb |
|
08-Aug-2014 |
carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This commit is for Bugzilla 334384. The Bugzilla contains patch 1 of 3 to add PPC64 LE support. The other two patches can be found in Bugzillas 334834 and 334836. The commit does not have a VEX commit associated with it. POWER PC, add initial Little Endian support The IBM POWER processor now supports both Big Endian and Little Endian. This patch renames the #defines with the name ppc64 to ppc64be for the BE specific code. This patch adds the Little Endian #define ppc64le to the Additionally, a few functions are renamed to remove BE from the name if the function is used by BE and LE. Functions that are BE specific have BE put in the name. The goals of this patch is to make sure #defines, function names and variables consistently use PPC64/ppc64 if it refers to BE and LE, PPC64BE/ppc64be if it is specific to BE, PPC64LE/ppc64le if it is LE specific. The patch does not break the code for PPC64 Big Endian. The test files memcheck/tests/atomic_incs.c, tests/power_insn_available.c and tests/power_insn_available.c are also updated to the new #define definition for PPC64 BE. Signed-off-by: Carl Love <carll@us.ibm.com> git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14238 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
ade2eddf567a868bafad9110ed92acf7373a972b |
|
31-Jul-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add support for stack unwinding using the ARM32 specific EXIDX format. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14217 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
59e1f3c79e870a978d24add86db6d8c5450c8b63 |
|
14-Jul-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This patch decreases significantly the memory needed to store the lineloc info. On a big executable, the trunk needs: dinfo: 134873088/71438336 max/curr mmap'd, 134607808/66717872 max/curr With the patch, we have: dinfo: 99065856/56836096 max/curr mmap'd, 97883776/51663656 max/curr So, peak dinfo memory decreases by about 36Mb, and final by 15Mb. (for info, valgrind 3.9.0 uses dinfo: 158941184/109666304 max/curr mmap'd, 156775944/107590656 max/curr So, compared to 3.9.0, dinfo peak decreases by about 40%, and the final memory is divided by more than 2). The memory decrease is obtained by: * using a dedup pool to store filename/dirname pair for the loctab source/line information. As typically, there is not a lot of such pairs, typically a UShort is good enough to identify a fn/dn pair in a dedup pool. To avoid losing memory due to alignment, the fndn indexes are stored in a "parallel" array to the DiLoc loctab array, with entries having 1, or 2 or 4 bytes according to the nr of fn/dn pairs in the dedup pool. See priv_storage.h comments for details. (there was a extensible WordArray local implementation in readdwarf.c. As with this change, we use an xarray, the local implementation was removed). * the memory needed for --read-inline-info is slightly decreased (-2Mb) by removing the (unused) dirname from the DiInlLoc struct. Handling dirname for inlined function caller implies to rework the dwarf3 parser read_filename_table common to the var and inlinfo parser. Waiting for this to be done, the dirname component is removed from DiInlLoc. * the stabs reader (readstabs.c) is broken since 3.9.0. For this change, the code has been updated to make it compile with the new DiLoc/FnDn dedup pool. As the code is completely broken, a vg_assert(0) has been put at the begin of the stabs reader. * the pdb reader (readpdb.c) has been trivially updated and should still work. It has not been tested (how do we test this ?). A follow-up patch will be done to avoid doing too many calls to ML_(addFnDn) : instead of having one call per ML_(addLineInfo), one should have a single call done when reading the filename table. This has also be tested in an outer/inner setup, to verify no memory leak/bugs. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14158 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
5c3dba227192de63d86f65ec7d9597c132818c37 |
|
05-Jul-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This patch decreases significantly the memory needed to store the cfsi info. On a big executable, the trunk needs: dinfo: 155844608/106737664 max/curr mmap'd 155572624/102276760 max/curr With the patch, we have: dinfo: 134873088/70389760 max/curr mmap'd 134607808/66717512 max/curr So, peak dinfo memory decreases by 21Mb, and final by 36Mb. The memory decrease is obtained by: * using a dedup pool to store the machine dependent part (cfsi_m) of the cfsi information as this information is highly duplicated. For x86 and arm64, the duplication factor of cfsi machine dependent part is very high (up to a factor 60). For arm64, it is more like a factor 3. A 'variable size' (1, 2 or 4 bytes) is automatically used to identify the cfsi_m, if there is less than or more than 255/64K different cfsi_m. * not storing explicitely the length of a range for which a cfsi_m is to be used: in a large majority of the cases, ranges are consecutive, and so the end of a range is just one byte before the start of the next range. So, we do not store the length of the ranges. If there is a hole between 2 ranges, the hole is stored explicitely as a range in which we have no cfsi_m information. On x86 and amd64, we have quite some holes (something like one hole every 7 cfsi). On arm64, we have very few holes (less than one hole every 50 cfsi). Even with the nr of holes on x86/amd64, it is more memory efficient to store the holes rather than to store the length of each cfsi. * Merging consecutive ranges that have the same cfsi_m info: Many cfsi are "mergeable": there is no hole between 2 cfsi, and their machine dependent part is identical (I guess the unwind info needed by valgrind is subset of the full unwind info, and so, the cfsi entries are not merged by the compiler, but can be merged for simple unwind). Depending on the platform (x86, amd64, arm64) and of the library/object file, we can have a significant nr of mergeable entries. The patch is not very small, but a lot is mechanical changes. The patch has been compiled and tested on x86/amd64/ppc32/ppc64 (but ppc does not use cfsi so that just verifies it compiles). It has been compiled on arm64, and "tested" by launching valgrind on one executable. It has not been compiled on s390 and mips. With some luck, maybe it will compile on these platforms. And if that uses the whole provision of luck for 2014, it might even work on these platforms :). If it does not compile, the fix should be straightforward. Runtime problems might be more tricky (but arm64 "worked out of the box" once x86/amd64 were ok). This has also be tested in an outer/inner setup, to verify no memory leak/bugs. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14129 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
a0a73939b0398b6608fd6dbde49820ce6530d12c |
|
15-Jun-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This patch implements the support needed for stacktraces showing inlined function calls. See 278972 valgrind stacktraces and suppression do not handle inlined function call debuginfo Reading the inlined dwarf call info is activated using the new clo --read-inline-info=yes Default is currently no but an objective is to optimise the performance and memory in order to possibly set it on by default. (see below discussion about performances). Basically, the patch provides the following pieces: 1. Implement a new dwarf3 reader that reads the inlined call info 2. Some performance improvements done for this new parser, and on some common code between the new parser and the var info parser. 3. Use the parsed inlined info to produce stacktrace showing inlined calls 4. Use the parsed inlined info in the suppression matching and suppression generation 5. and of course, some reg tests 1. new dwarf3 reader: --------------------- Two options were possible: add the reading of the inlined info in the current var info dwarf reader, or add a 2nd reader. The 2nd approach was preferred, for the following reasons: The var info reader is slow, memory hungry and quite complex. Having a separate parsing phase for the inlined information is simpler/faster when just reading the inlined info. Possibly, a single parser would be faster when using both --read-var-info=yes and --read-inline-info=yes. However, var-info being extremely memory/cpu hungry, it is unlikely to be used often, and having a separate parsing for inlined info does in any case make not much difference. (--read-var-info=yes is also now less interesting thanks to commit r13991, which provides a fast and low memory "reasonable" location for an address). The inlined info parser reads the dwarf info to make calls to priv_storage.h ML_(addInlInfo). 2. performance optimisations ---------------------------- * the abbrev cache has been improved in revision r14035. * The new parser skips the non interesting DIEs (the var-info parser has no logic to skip uninteresting DIEs). * Some other minor perf optimisation here and there. In total now, on a big executable, 15 seconds CPU are needed to create the inlined info (on my slow x86 pentium). With regards to memory, the dinfo arena: with inlined info: 172281856/121085952 max/curr mmap'd without : 157892608/106721280 max/curr mmap'd, So, basically, inlined information costs about 15Mb of memory for my big executable (compared to first version of the patch, this is already using less memory, thanks to the strpool deduppoolalloc. The needed memory can probably be decreased somewhat more. 3. produce better stack traces ------------------------------ VG_(describe_IP) has a new argument InlIPCursor *iipc which allows to describe inlined function calls by doing repetitive calls to describe_IP. See pub_tool_debuginfo.h for a description. 4. suppression generation and matching -------------------------------------- * suppression generation now also uses an InlIPCursor *iipc to generate a line for each inlined fn call. * suppression matching: to allow suppression matching to match one IP to several function calls in a suppression entry, the 'inputCompleter' object (that allows to lazily generate function or object names for a stacktrace when matching an error with a suppression) has been generalised a little bit more to also lazily generate the input sequence. VG_(generic_match) has been updated so as to be more generic with respect to the input completer : when providing an input completer, VG_(generic_match) does not need anymore to produce/compute any input itself : this is all delegated to the input completer. 5. various regtests ------------------- to test stack traces with inlined calls, and suppressions of (some of) these errors using inlined fn calls matching. Work still to do: ----------------- * improve parsing performance * improve the memory overhead. * handling the directory name for files of the inlined function calls is not yet done. (probably implies to refactor some code) * see if m_errormgr.c *offsets arrays cannot be managed via xarray git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14036 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
7293d2530f8c60c1060f9f003e214cc341d35266 |
|
14-Jun-2014 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This patch adds a 'de-duplicating memory pool allocator': include/pub_tool_deduppoolalloc.h coregrind/pub_core_deduppoolalloc.h coregrind/m_deduppoolalloc.c and uses it (currently only) for the strings in m_debuginfo/storage.c The idea is that such ddup pool allocator will also be used for other highly duplicated information (e.g. the DiCFSI information), where significant gains can also be achieved. The dedup pool for strings also decreases significantly the memory needed by the read inline information (patch still to be committed, see bug 278972). When testing with a big executable (tacot_process), this reduces the size of the dinfo arena from trunk: 158941184/109760512 max/curr mmap'd, 156775944/107882728 max/curr, to ddup: 157892608/106614784 max/curr mmap'd, 156362160/101414712 max/curr (so 3Mb less mmap-ed once debug info is read, 1Mb less mmap-ed in peak, 6Mb less allocated once debug info is read). This is all gained due to the string which changes from: trunk: 17,434,704 in 266: di.storage.addStr.1 to ddup: 10,966,608 in 750: di.storage.addStr.1 (6.5Mb less memory used by strings) The gain in mmap-ed memory is smaller due to fragmentation. Probably one could decrease the fragmentation by using bigger size for the dedup pool, but then we would lose memory on the last allocated pool (and for small libraries, we often do not use much of a big pool block). Solution might be to increase the pool size but have a "shrink_block" operation. To be looked at in the future. In terms of performance, startup of a big executable (on an old pentium) is not influenced significantly (something like 0.1 seconds on 15 seconds startup for a big executable, on a slow pentium). The dedup pool uses a hash table. The hash function used currently is the VG_(adler32) check sum. It is reported (and visible also here) that this checksum is not a very good hash function (many collisions). To have statistics about collisions, use --stats -v -v -v As an example of the collisions, on the strings in debug info of memcheck tool on x86, one obtain: --4789-- dedupPA:di.storage.addStr.1 9983 allocs (8174 uniq) 11 pools (4820 bytes free in last pool) --4789-- nr occurences of chains of len N, N-plicated keys, N-plicated elts --4789-- N: 0 : nr chain 6975, nr keys 0, nr elts 0 --4789-- N: 1 : nr chain 3670, nr keys 6410, nr elts 8174 --4789-- N: 2 : nr chain 1070, nr keys 226, nr elts 0 --4789-- N: 3 : nr chain 304, nr keys 100, nr elts 0 --4789-- N: 4 : nr chain 104, nr keys 84, nr elts 0 --4789-- N: 5 : nr chain 72, nr keys 42, nr elts 0 --4789-- N: 6 : nr chain 44, nr keys 34, nr elts 0 --4789-- N: 7 : nr chain 18, nr keys 13, nr elts 0 --4789-- N: 8 : nr chain 17, nr keys 8, nr elts 0 --4789-- N: 9 : nr chain 4, nr keys 6, nr elts 0 --4789-- N:10 : nr chain 9, nr keys 4, nr elts 0 --4789-- N:11 : nr chain 1, nr keys 0, nr elts 0 --4789-- N:13 : nr chain 1, nr keys 1, nr elts 0 --4789-- total nr of unique chains: 12289, keys 6928, elts 8174 which shows that on 8174 different strings, we have only 6410 strings which have a unique hash value. As other examples, N:13 line shows we have 13 strings mapping to the same key. N:14 line shows we have 4 groups of 10 strings mapping to the same key, etc. So, adler32 is definitely a bad hash function. Trials have been done with another hash function, giving a much lower collision rate. So, a better (but still fast) hash function would probably be beneficial. To be looked at ... git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14029 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
f0c1250e324f6684757c6a15545366447ef1d64f |
|
12-Jan-2014 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add support for ARMv8 AArch64 (the 64 bit ARM instruction set). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13770 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
6feb14dcb80b2d52ad95ecc2e6d2c01338d15cb4 |
|
20-Nov-2013 |
mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
dwz compressed alternate .debug_info and .debug_str not read correctly. Bug #327837. The buildid from the .gnu_debugaltlink section was parsed incorrectly (from the wrong offset). Causing the debug alt file not to be found. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13715 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
0f157ddb404bcde7815a1c5bf2d7e41c114f3d73 |
|
18-Oct-2013 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates (20XY-2012 ==> 20XY-2013) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13658 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
7b94a0dca726691868a1a8c3c1ae47f77871d9e0 |
|
14-Oct-2013 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix "Assertion '!di->soname' failed" on weird files. Fixes #320661. (Jiří Hruška, jirka@fud.cz) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13640 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
5d616dfbb8439dfd51a40ddf1dba970938baa1eb |
|
02-Jul-2013 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge r13421:HEAD from branches/DISRV. This merges the debuginfo-server stuff into the trunk. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13440 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
4df0bfc0614379192c780c944415dc420d9cfe8e |
|
28-Feb-2013 |
petarj <petarj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
mips: adding MIPS64LE support to Valgrind Necessary changes to Valgrind to support MIPS64LE on Linux. Minor cleanup/style changes embedded in the patch as well. The change corresponds to r2687 in VEX. Patch written by Dejan Jevtic and Petar Jovanovic. More information about this issue: https://bugs.kde.org/show_bug.cgi?id=313267 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13292 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
71826f77dbaefb6a9c694d9711aa649ed0980cc7 |
|
06-Dec-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix a const issue in r13154. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13165 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
7c342798c70ae50d27c618e6a051069f413e0168 |
|
06-Dec-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
When looking for a separate debug object, tolerate mismatched phdrs by instead checking the shdrs: The separate .debug file has wrong phdrs. This isn't normally fatal since .debug files are never directly loaded. But since valgrind uses the phdrs to locate the build-id it will fail. The attached patch makes it so that the code falls back to using the shdrs to locate the NOTE sections so that the buildid can be matched anyway. Fixes #305431. (Mark Wielaard, mjw@redhat.com) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13160 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
8b6573dd1f5b4ab512a6e70ce23eecd82733aae1 |
|
05-Dec-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a new command line flag, --extra-debuginfo-path=path, that allows specification of an extra directory in which to look for debuginfo objects. Fixes #310792. (Alex Chiang, achiang@canonical.com) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13154 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.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_debuginfo/readelf.c
|
1636d33c13958b9c0e7d3059cdd5005746418eb2 |
|
15-Nov-2012 |
florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Char/HChar fixups for m_debuginfo and m_gdbserver. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13122 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
abe8793d216293af960a0334401795bf74945705 |
|
08-Nov-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Ignore ELF sections that have zero size. Fixes #309600. (Dragos Tatulea, dragos.tatulea@gmail.com) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13109 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
db3f3e6e7bde198592d44642a0da2613a89a8eb5 |
|
01-Sep-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Guard against negative symbol sizes in ELF symbol tables, which lead to assertion failures in ML_(find_rx_mapping). Most closely related to #304980. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12923 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
03f8d3fc25f5a45c5826259d1b33b7f310117279 |
|
05-Aug-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates to include 2012. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12843 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
5d5dd8e6b7ff782fc89f5b96cecf04839742882b |
|
05-Aug-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
301265 - add x86 support to Android build Patch by Dragos Tatulea. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12835 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
402d8bca7e53d8cab8908f8e196d4b71f012ba03 |
|
02-Aug-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Avoid asserting when a segment is mapped both rw and rx. If a segment is mapped with permission rwx, then map->rx and map->rw will be true. But due to the if (map->rx) { ... } else if (map->rw) { ... the (map->rw) part will not be executed. If this mapping is the one which "gives" the nonempty rw map, then this mapping will not be seen, and the following vg_assert(has_nonempty_rw); will fail. This assert can be reproduced by doing setarch i686 -X ./vg-in-place --tool=none none/tests/map_unmap Note: the setarch i686 -X above has as effect to make all read mapping also executable. So, a rw mapping becomes rwx and then triggers the above asserts. The setarch i686 -X also introduces a discrepancy between the kernel mappings (rwx) and the valgrind aspacemgr view (which believes it is a rw mapping). This discrepancy causes a crash if giving --sanity-level=3. A possible fix is to have valgrind calling the personality system call and detecting if the READ_IMPLIES_EXEC bit (the -X arg to setarch) was set, and then modify aspacemgr so that all read mapped segments are automatically mapped x also. This commit is the minimal fix allowing to run executables launched with this READ_IMPLIES_EXEC. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12810 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
f7c9714ea0cde18daaecb896278e85e780d3bd75 |
|
14-Jul-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Initial support for DWZ compressed debuginfo -- don't crash, at least, when reading it. Bug 302901 comment 3. (Jakub Jelinek, jakub@redhat.com) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12742 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
6b5625bb609b154766d2e138b61e15655f60b710 |
|
13-Jul-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Allow multiple rw and rx mappings in the ELF debuginfo reader. Fixes #296318 (patch on comment 8). (Jiří Hruška, jirka@fud.cz) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12735 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
5db15403e889d4db339b342bc2a824ef0bfaa654 |
|
07-Jun-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge in a port for mips32-linux, by Petar Jovanovic and Dejan Jevtic, mips-valgrind@rt-rk.com, Bug 270777. Valgrind: changes to existing files. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12616 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
d935068fc7b53c8a826b3436cdfccd5b7d446903 |
|
05-Apr-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add support for reading DWARF4 .debug_types sections. Fixes #284124. (Tom Tromey, tromey@redhat.com) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12491 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
f1e1aa691d7a2f0f2f933daf060bec5ae6938705 |
|
12-Mar-2012 |
philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix leak in debuginfo.c di->soname was not freed, so was leaked when debug info is removed. free(soname) added in free_Debuginfo, after having verified and then ensured that all soname are allocated in dinfo. regtested on deb6/amd64 git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12442 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
43dcb39c1443143fe5efcd21d36782c88f06a6da |
|
27-Feb-2012 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Android only: make the debuginfo mapping hack more flexible. Previously it looked for the debuginfo object for "/system/X" in "/sdcard/symbols/system/X". This commit removes the requirement for "system" as the first path component, so the mapping is now "/X" (viz, any absolute path) to "/sdcard/symbols/X". git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12406 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
56fe3320116ad63d0f110531f28dfe31137a0e79 |
|
28-Oct-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Handle longer un-sized symbols on arm-linux-android. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12248 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
ec062e8d96a361af9905b5447027819dfbfee01a |
|
23-Oct-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update all copyright dates, from 20xy-2010 to 20xy-2011. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12206 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
4df24de8139685e59d636e6be286a4119fd9ab49 |
|
02-Oct-2011 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Use read_UInt to get the CRC as it may not be aligned. Fixes #283154. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12082 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
8dc3282872f76a8494c24ac6506bf08d57b16c61 |
|
27-Sep-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Un-break debuginfo image finding on non-Android Linuxes following r12057, duh. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12058 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
55f297300d3a57941afbcf2275423becf51209ff |
|
27-Sep-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a facility for ad-hoc location of debuginfo files on Android. All other platforms are unaffected. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12057 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
a2b14cc6def13148af9ca19839dc0d8a84cc602b |
|
27-Sep-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
ML_(read_elf_debug_info): (no functional change, I hope): fix up confusing control flow, by separating the logic for "is there a debuginfo file to be found?" from that of "if a debuginfo file was found, let's record certain facts (section offsets etc) about it." This makes it possible to add arbitrary other schemes for finding debuginfo files without further complicating the existing control flow. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12056 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
88d2c09eff965e495433e7c5f66efb9ad884d52c |
|
27-Sep-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Android only: don't ignore zero-sized symbols, since some of them are ones that m_redir really needs to see. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12055 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
a5acac39bf3be7546222b1316faee5ee524be0d1 |
|
20-Sep-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
A refactoring change; no functional effect. struct _DebugInfo contains a bunch of fields which are used as a very simple state machine that observes mmap calls and decides when to read debuginfo for the associated file. This change moves these fields into their own structure, struct _DebugInfoFSM, for cleanness, so as to make it clear they have a common purpose. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12041 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
0f4126c9b5898dde89473d5993c98dd4d41ee8b7 |
|
20-Sep-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Get rid of DebugInfo::memname, a hangover from the now-removed AIX5 support. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12040 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
1891b5769bd8b2ec13bc26c07f126d23f4b65c97 |
|
10-Sep-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
ML_(read_elf_debug_info): debug printing of program header entries: print file offsets consistently in base 10, not 16. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12024 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
6e166c274b2b1f7a5627ebfe047b43de2ffc08f8 |
|
10-Sep-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
ML_(read_elf_debug_info): if we exit from this routine via the BAD macro, set di->soname back to NULL, so that if we later reenter with the same 'di', we don't fall over the initial di->soname == NULL assertion. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12023 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
a5cace0c2a3e212931badbf6398a0cd98393121a |
|
15-Aug-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove the assumption, in m_debuginfo, that each address is associated with only one symbol. Instead, allow an address to have arbitrarily many names. This reflects reality better, particularly for systemy libraries such as glibc and ld.so, and is background work needed for fixing #275284. This is not in itself a fix for #275284. A followup commit to un-break compilation on OSX will follow shortly. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11981 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
b09d0ad095dd9e1ff32fd663039a48b176faaf9a |
|
12-Jul-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Disable stabs reading on Android; it's uncompilable, and there's no point. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11883 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
0610882a520af8f8ad743796ee84946e82af993f |
|
06-Jul-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Disable stabs reading on ppc64-linux; it always segfaults. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11858 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
a8f761bd63c68d050c35369d15cc71c5aebb6a2c |
|
05-Jul-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Improve debug printing for ELF program header analysis. No functional change. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11854 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
eb16f33a1d0c554042a49cd3cc30c4ce22b8e689 |
|
08-Jun-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix the computation of debuginfo bias values, in the case where the debuginfo object has been not been prelinked but the main object has. Fixes a segfault observed running any C++ application (eg, drd/tests/annotate_smart_pointer) on Fedora 14 (32-bit), when the debuginfo RPM for libstdc++ is installed. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11801 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
feb15667591c693ddc6c5c2c18256904edf6a9c7 |
|
04-Jun-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Followup fix to r11794 (generalise processing of PT_LOAD entries): change some incorrect "rx->bias" (which due to lameness of C's type system was valid) to "inrx->bias". git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11795 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
2b74f4568d59b44ae075976958542807b12ca8e5 |
|
02-Jun-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
ML_(read_elf_debug_info): when processing PT_LOAD entries from the program header, don't make the following assumptions - that there is only one r-x and one rw- entry - that the r-x entry appears before the rw- entry This makes it possible to handle ELF objects processed by Mike Hommey's elfhack program. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11794 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
452e89a9f847975609b3ad318943830f2cce841c |
|
30-May-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Handle ELF objects with two .eh_frame sections. This fixes a problem handling libxul.so when linked by gold on x86_64. (n-i-bz) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11790 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
889a6aede01eec00a2c523fc9a12f288082d0dae |
|
11-May-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
When reading Dwarf3 variable type and location information, print a line showing the number of variables read for each object. Currently disabled -- is a sanity-check mechanism for exp-sgcheck. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11744 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
d2be8cc17fed04cbd701e9a2cc1cf365ff45cc44 |
|
28-Mar-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Remove a bunch more warnings generated by gcc-4.6 about dead assignments ("[-Wunused-but-set-variable]"), on ppc32-linux and ppc64-linux. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11674 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
b5b87408c0c99f9f6938d8cd921e2a5f420577c4 |
|
07-Mar-2011 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add a port to IBM z/Architecture (s390x) running Linux -- Valgrind side components. (Florian Krohm <britzel@acm.org> and Christian Borntraeger <borntraeger@de.ibm.com>). Fixes #243404. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11604 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
e93f9365af69e8153b53c27206ad118a7d6755e5 |
|
19-Oct-2010 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Avoid a double free when a binary has a build-id and no debuglink section. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11458 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
15ff8f3e2004b3eb55a5062339fb49d6048f7fef |
|
18-Oct-2010 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't look for build-id notes if NT_GNU_BUILD_ID is not defined. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11449 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
6ef87e64e564f3edbddce7535ac8a539fc57bde2 |
|
18-Oct-2010 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add support for using build-id to find debugging information as some distributions are starting to drop the old debuglink support now. Fixes #254257. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11448 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
9eecbbb9a9cbbd30b903c09a9e04d8efc20bda33 |
|
03-May-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates to 2010. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11121 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
01b768bb62d54eb86d64c6ddc418296dffa3e069 |
|
15-Feb-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Guard new debug print statement in r11045 correctly (at all!) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11047 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
7e5634b51c3dde291d750f0d8d950c8a5c6a3aaa |
|
15-Feb-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make -v messages w.r.t. finding of auxiliary debuginfo files less confusing. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11045 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
3026f71684a930286186aa10fef266c304672e8f |
|
01-Jan-2010 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make the Dwarf3 CFI stack unwinding machinery work on arm-linux too. This is a first step towards making not be completely x86/amd64-linux specific, and so replaces some x86/amd64-specific stuff with more general constructions: * structure 'DiCfSI', into which the info is summarised, has been made target-specific (ugh), since the sets of registers to be unwound differ on different targets. * enum CfiReg and the CFIC_ constants have been expanded accordingly, to handle both arm and x86/amd64 registers. The abbreviation "IA" (Intel Architecture) has been used in a few places where the x86 and amd64 definitions are shared. * the CFI reader/summariser in readdwarf.c has been expanded & generalised appropriately. * the DiCfSI evaluator in debuginfo.c, VG_(use_CFI_info), has also been generalised appropriately. The main change is that instead of passing around triples of (IP, SP, BP) values, a new structure 'D3UnwindRegs' is passed around instead. This is defined differently for IA and ARM and succeeds in hiding at least some of the differences where we don't care about them. Note also, D3UnwindRegs duplicates, in purpose and structure, structure 'RegSummary' in priv_d3basics.h. This will be tidied up in due course. This commit almost certainly breaks stack unwinding on amd64-linux. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10986 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
f41999ab02e786ba31efa02b60111305920589a0 |
|
03-Dec-2009 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Cope with prelink splitting the bss section of an ELF file into separate dynbss and bss sections by merging them back together again. This means that (a) we will find variables in the bss and (b) we won't assert when there is a debuginfo file present where the bss is still in one piece. Patch from Jakub Jelinek, closes #217084. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10963 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
3c9cf3442185b5891e15450d6e3058aeff6796fe |
|
12-Nov-2009 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Various improvements to DWARF handling to cope with changes in recent versions of gcc as shipped with Fedora 12. Specific changes include: - Vastly increase the number of opcodes we understand how to evaluate when processing a location expression. - Process frame unwind data from the debug_frame ELF section as well as the eh_frame section. - Handle version 3 CIEs in frame unwind data. - Handle the compact form of DW_AT_data_member_location which just gives a constant offset from the start of it's base type instead of a full location expression. Based on patches from Jakub Jelinek on bugs #210479 and #210566. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10939 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
d264514038b82ea069f84478121c2e628b1ae0d4 |
|
29-Oct-2009 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add support for ELF indirect functions. These are symbols of type STT_GNU_IFUNC which, instead of pointing directly at the function, point at a routine which will return the address of the real function. Redirection of indirect functions is handled by valgrind as follows: - When a redirection specification matches an indirect function symbol an active redirection is added in the normal way, but with the isIFunc flag set. - When a call is made to an address which matches an active redirection with the isIFunc flag set the call is redirected, but not to the target address of the redirection - instead it is sent to a small wrapper routine that is preloaded into the client. - The wrapper routine calls the original client routine and collects the result, which it reports to valgrind using a client request, and then returns the result to the caller. - When valgrind gets the client request it looks up the active redirection for the indirect function and then adds a new active redirection which redirects from the address returned by the indirection function to the redirection target. This new redirection does not have the isIFunc flag set so behaves as a normal redirection. In addition to the above we also add a few new redirections to memcheck to capture internal calls made by glibc to things like strlen, as these internal calls do not go through the indirect function and instead go direct to the chosen implementation. Based on a patch from Dodji Seketeli and comments from Jakub Jelinek, this commit closes bug 206013. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10920 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
738856f99eea33d86ce91dcb1d6cd5b151e307ca |
|
15-Jul-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge coregrind/ changes from branches/MESSAGING_TIDYUP r10464. This commit tidies up and rationalises what could be called the "messaging" system -- that part of V to do with presenting output to the user. In particular it brings significant improvements to XML output. Changes are: * XML and normal text output now have separate file descriptors, which solves longstanding problems for XML consumers caused by the XML output getting polluted by unexpected non-XML output. * This also means that we no longer have to hardwire all manner of output settings (verbosity, etc) when XML is requested. * The XML output format has been revised, cleaned up, and made more suitable for use by error detecting tools in general (various Memcheck-specific features have been removed). XML output is enabled for Ptrcheck and Helgrind, and Memcheck is updated to the new format. * One side effect is that the behaviour of VG_(message) has been made to be consistent with printf: it no longer automatically adds a newline at the end of the output. This means multiple calls to it can be used to build up a single line message; or a single call can write a multi-line message. The ==pid== preamble is automatically inserted at each newline. * VG_(message)(Vg_UserMsg, ..args..) now has the abbreviated form VG_(UMSG)(..args..); ditto VG_(DMSG) for Vg_DebugMsg and VG_(EMSG) for Vg_DebugExtraMsg. A couple of other useful printf derivatives have been added to pub_tool_libcprint.h, most particularly VG_(vcbprintf). * There's a small change in the core-tool interface to do with error handling: VG_(needs_tool_errors) has a new method void (*before_pp_Error)(Error* err) which, if non-NULL, is called just before void (*pp_Error)(Error* err). This is to give tools the chance to look at errors before any part of them is printed, so they can print any XML preamble they like. * coregrind/m_errormgr.c has been overhauled and cleaned up, and is a bit simpler and more commented. In particular pp_Error and VG_(maybe_record_error) are significantly changed. The diff is huge, but mostly very boring. Most of the changes are of the form - VG_(message)(Vg_UserMsg, "this is a message %d", n); + VG_(message)(Vg_UserMsg, "this is a message %d\n", n); Unfortunately as a result of this, it touches a large number of source files. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10465 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
8b68b64759254d514d98328c496cbd88cde4c9a5 |
|
24-Jun-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
This commit merges the BUILD_TWEAKS branch onto the trunk. It has the following improvements: - Arch/OS/platform-specific files are now included/excluded via the preprocessor, rather than via the build system. This is more consistent (we use the pre-processor for small arch/OS/platform-specific chunks within files) and makes the build system much simpler, as the sources for all programs are the same on all platforms. - Vast amounts of cut+paste Makefile.am code has been factored out. If a new platform is implemented, you need to add 11 extra Makefile.am lines. Previously it was over 100 lines. - Vex has been autotoolised. Dependency checking now works in Vex (no more incomplete builds). Parallel builds now also work. --with-vex no longer works; it's little use and a pain to support. VEX/Makefile is still in the Vex repository and gets overwritten at configure-time; it should probably be renamed Makefile-gcc to avoid possible problems, such as accidentally committing a generated Makefile. There's a bunch of hacky copying to deal with the fact that autotools don't handle same-named files in different directories. Julian plans to rename the files to avoid this problem. - Various small Makefile.am things have been made more standard automake style, eg. the use of pkginclude/pkglib prefixes instead of rolling our own. - The existing five top-level Makefile.am include files have been consolidated into three. - Most Makefile.am files now are structured more clearly, with comment headers separating sections, declarations relating to the same things next to each other, better spacing and layout, etc. - Removed the unused exp-ptrcheck/tests/x86 directory. - Renamed some XML files. - Factored out some duplicated dSYM handling code. - Split auxprogs/ into auxprogs/ and mpi/, which allowed the resulting Makefile.am files to be much more standard. - Cleaned up m_coredump by merging a bunch of files that had been overzealously separated. The net result is 630 fewer lines of Makefile.am code, or 897 if you exclude the added Makefile.vex.am, or 997 once the hacky file copying for Vex is removed. And the build system is much simpler. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10364 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
9c20ece00e07304f66da5f43b87ec45bc9c04550 |
|
20-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge r9993, r9995 (comment changes about vg_stat) from the DARWIN branch, and rename all the vg_stat fields to avoid problems that the old names cause on Darwin. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9996 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
cda2f0fbda4c4b2644babc830244be8aed95de1d |
|
18-May-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merged non-Darwin-specific parts of r9397,r9423,r9490, 9461, 9462 from the DARWIN branch. A big ugly DARWIN/trunk sync commit, mostly to do with changing the representation of SysRes and vki_sigset_t. Functionality of the trunk shouldn't be changed by it. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9876 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
c8259b85b701d25d72aabe9dc0a8154517f96913 |
|
23-Apr-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add support for reading Windows PDB debug info (symbols and line numbers) when Valgrind is running Wine. Modified version of a patch by John Reiser (vgsvn+wine-load-pdb-debuginfo.patch) with extensions to read a second format of line number tables. Wine uses a new client request, VG_USERREQ__LOAD_PDB_DEBUGINFO, to tell Valgrind when to read PDB info. Wine's implementation of module loading is vastly different from that used by ld-linux.so, and it is too difficult to recognize what is going on just by observing the calls to mmap and mprotect. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9580 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
ce9dd9ea681bed49bb55c8039c35157a03078e79 |
|
20-Mar-2009 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Check whether the symbol table is in the main object file or the debug object file and use that information to decide which svma and bias values to use when working out what section a symbol refers to. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9469 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
4c245e595b9f6300d3120408ca873f7115d9cc7d |
|
16-Mar-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Fix all the non-VEX problems identified with the Clang Static Analyzer. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9416 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
9f207460d70d38c46c9e81996a3dcdf90961c6db |
|
10-Mar-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Updated copyright years. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9344 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
402c9eed11b9b60c6e134d05db938e395466cf99 |
|
09-Mar-2009 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Keep track of the svma and bias values for the debug data separately as they may be different to those for other sections of the ELF file if we have separated debug information and the main file has been prelinked since they were split. Fixes bug #185816. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9329 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
b881b25079b40351db39f52fe9359aef464115f0 |
|
28-Feb-2009 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Get rid of the second argument ("PtrdiffT debug_offset") to ML_(read_debuginfo_stabs) since it's always equal to di->text_bias. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9294 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
2085f4a6aca44d2466e0d18022a5185e8a64f2f0 |
|
22-Jan-2009 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't worry about an unmapped, zero sized, bss segment. Bug #181594. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9026 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
2cbb6ee2b33753a82df8f596305d1256ac57cdf2 |
|
22-Jan-2009 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Accept zero size text segments. Bug #181594. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9025 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
160d5a82d2d5d7d0964140dea17751c1daa3315e |
|
22-Jan-2009 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Handle the rodata and sbss sections and cope with variables that are in those sections. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9024 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
bfd892f0b1161e0a36fc7277041d1b5460083b79 |
|
22-Jan-2009 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Bias values should be PtrdiffT now. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9023 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
3553c6779d567632e3efb225fe6046f47c894cc7 |
|
22-Jan-2009 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Removed unused round_Addr_upwards function. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9022 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
65e6d9236ebd353d5176be9ea47d5227ee693448 |
|
22-Jan-2009 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Improve detection of where ELF sections have been mapped by taking the ELF segment table into account when deciding on the mapping between SVMA and AVMA for a section. This also allows the BSS kludge to be dropped, as the BSS address is now correctly determined. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9020 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
c4431bfe04c7490ea2d74939d222d87f13f30960 |
|
15-Jan-2009 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Introduce a new type, PtrdiffT. Replace lots of uses of OffT (all those that are memory offsets) with PtrdiffT; OffT should only be used for file sizes and offsets. Change Off64T from a ULong to a Long, as it should be. Replace some uses of ULong in the address space manager with Off64T to match. Also add a comment explaining the meanings of the basic types like Addr, OffT, SizeT, etc. Also fix the prototype for VG_(pread) -- the last arg is an OffT, not an Int. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8959 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
8669fd38673be80b022b5730092970fee8cf66d1 |
|
27-Oct-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Rename some local variables called 'index' to something else, to stop gcc-3.2.2 complaining they shadow some built-in global declaration of 'index'. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8715 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
9c606bd8634cd6b67bb41fa645b5c639668cfa2d |
|
18-Sep-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge all remaining changes from branches/PTRCHECK. These are some relatively minor extensions to m_debuginfo, a major overhaul of m_debuginfo/readdwarf3.c to get its space usage under control, and changes throughout the system to enable heap-use profiling. The majority of the merged changes were committed into branches/PTRCHECK as the following revs: 8591 8595 8598 8599 8601 and 8161. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8621 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
ec61b6509566cf36ab3968d69226cecf177cb0fe |
|
19-Aug-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Presently, Valgrind (non-client) code that wants to use the stat family of syscalls is impossible to write in a way that's portable and correct. On some targets (eg x86-linux) you need to do sys_stat64 and receive the results in a 'struct vki_stat64'. But on other targets (eg amd64-linux) neither sys_stat64 nor 'struct vki_stat64' exist. This commit adds a new type, 'struct vg_stat', which contains 64 bit fields in all the right places, and makes VG_(stat) and VG_(fstat) use it. This means callers to the two functions no longer need to worry about the is-it-64-bit-clean-or-not question, since these routines reformat the received data into a'struct vg_stat'. Kind of like what glibc must have been doing for decades. This (indirectly) fixes a bug on x86-linux, in which m_debuginfo would sometimes fail to read debug info, due to VG_(di_notify_mmap) using VG_(stat) (hence sys_stat) on the file, which failed, and when in fact it should have used sys_stat64. Bug reported and tracked down by Marc-Oliver Straub. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8522 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
a0b6b2cf9abc7b0d87be1215a245eaccc0452af9 |
|
07-Jul-2008 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merged FORMATCHECK branch (r8368) to trunk. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8369 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
a97a789f16ed75ec64c479b5b196173103f48eeb |
|
30-May-2008 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't complain on .got.plt sections of size zero. Apparently such sections are generated by older toolchains (binutils 2.15.90.0.3 ?) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8158 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
092b6268cc4a38ae9ee41d1e3355937536ddc579 |
|
25-May-2008 |
bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
- Added support for querying information about .plt sections. - Added support for .got.plt sections. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8127 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
7cf4e6b6aed533af53339f36099ed244dc4a5b7f |
|
01-May-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge branches/OTRACK_BY_INSTRUMENTATION into the trunk. This adds support to Memcheck for tracking the origin of uninitialised values, if you use the --track-origins=yes flag. This currently causes some Memcheck regression tests to fail, because they now print an extra line of advisory text in their output. This will be fixed. The core-tool interface is slightly changed. The version number for the interface needs to be incremented. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7982 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
76d15fa48b28127397368c6cbe33739c33d4d74d |
|
03-Mar-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't be quite so paranoid about rejecting symbols that fall outside the .text segment. Instead only reject ones that fall outside the r-x area. This is in line with r7427, which instituted such a change in other places in the system. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7546 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
b8b79addf04dd5d0b558916e26df0b1927cbd758 |
|
03-Mar-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge in the DATASYMS branch. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7540 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
4d474d086188fd1f29fa97dbd84d8ea2e589a9b8 |
|
11-Feb-2008 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates ("200X-2007" --> "200X-2008"). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7398 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
fc7773aa46d4909aa9bf7999cf4549c29e8b8b4e |
|
21-Nov-2007 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Don't load debug sections from the linked debug file if we have already loaded them from the main ELF file. Fixes #145609. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7196 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
e2a9ad3b71e0eccca6115349192d5e844be4eb0a |
|
17-Sep-2007 |
njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Split the OSet interface into two parts: "OSetGen_", which is the existing interface and provides full power; and "OSetWord_", which is an easier-to-use interface for if you just want to store words. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6841 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
1ac9d0c05ed4b419eae89cf11cc62404a824c156 |
|
01-May-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Avoid compilation warnings with gcc-4.2. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6722 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
72427fa91a5e05e3323b5a8a407bd8d7b04c75cc |
|
27-Feb-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Add limited support for DWARF3 'expressions' in stack-unwind (CFI) info (DW_CFA_def_cfa_expression, DW_CFA_expression, DW_CFA_val_expression). Mechanism to support all of these is in place although only DW_CFA_val_expression is currently connected up. This is really nasty. The basic idea is to partially evaluate each expression at the debuginfo-reading time by running it on a stack machine in which each stack element is an expression tree. If the expression can be 'run' successfully, the tree (dag, really) remaining at the top of the stack is massaged and put into the DiCfSI record for that address range. At unwind time the tree is evaluated if needed. Such cases are in fact extremely rare and so the vast majority of unwindings use the same mechanism as before. As a result of all this: * some obscure cases in glibc-2.5's libpthread.so unwind when they didn't before * --debug-dump=frames produces identical output to that of readelf for libc-2.5.so and associated libpthread.so * All the action centers around the new type CfiExpr, which is a union expression-tree type in the same style as IRExpr et al * Many dark corners of the CFI reader have been looked at and (re-)validated git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6620 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
461d6c69908dade34a67afe34b09f54cce74d5a3 |
|
23-Feb-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Make the frame unwinder able to handle 64-bit DWARF (untested :-( mostly by a lot of comparison of this code vs that of binutils-2.17/binutils/dwarf.c vs the relevant specs. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6610 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
f767d967b9ef331dcd7d0cd4584f6570cd829333 |
|
12-Feb-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Essentially non-functional tidyings and improvements to debuginfo reading. Two sets of changes: * New flags for debugging the readers. --debug-dump=syms --debug-dump=line --debug-dump=frames These (currently accepted but nonfunctional) are intended to create output in the style of (that is, identical to) /usr/bin/readelf --syms /usr/bin/readelf --debug-dump=line /usr/bin/readelf --debug-dump=frames respectively. The plan is that flaws in these readers can then be easily found by diff-ing the output against that from readelf. Also, a new flag --trace-symtab-patt=<object filename pattern> which is used to limit all debuginfo-related debug info to the set of shared object names matching the given pattern. This facilitates extracting the debuginfo details of one specific shared object, which is usually what is required, rather than having to wade through megabytes of junk from every object in the process. * Propagate the avma/svma/image address-naming scheme (as described at the top of debuginfo.c) through large parts of readelf.c and readdwarf.c. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6588 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
3891dd4124828c451c0e36c89a5c6f0f2ac56f71 |
|
12-Jan-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
ML_(read_callframe_info_dwarf2): deal better with CIEs with no augmentation (has to do with read_encoded_Addr). This "fix" is a kludge and may be replaced in future by something cleaner. See extensive comment addition for the whole sorry tale. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6509 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
50a3aa1c52eda3795abbb4a72da6840124a9d844 |
|
11-Jan-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
In struct _SegInfo, rename field 'size' to 'text_size' so as to be consistent with all the other 'foo_start_avma'/'foo_size' pairings. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6508 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
0bf42fcdf72683d499daf6429a2785103ab59c63 |
|
11-Jan-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
In struct _SegInfo, rename field 'offset' to 'text_bias'. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6507 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
c6d3f6f0aec8607dded979fd15a9876a486ec682 |
|
11-Jan-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Non-functional change: rename a bunch of variables and field names that hold various kinds of addresses during debuginfo reading, so as to make it easier to understand. See comment at top of debuginfo.c. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6506 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
9ebd6e0c607fa30301b1325874eb8de871c21cc5 |
|
08-Jan-2007 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Update copyright dates. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6488 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
4ee4f98c6dd3dd9517954efc628753bf46811d2d |
|
17-Oct-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Merge r6129: Changes to support XCOFF: - allow modules to have 'member names' as well as file names. A member name is a "foo.o" name inside a "bar.a"; necessary as AIX keeps all its dynamic libraries in .a files. - rename the type RiLoc to DiLoc (this holds a line number indication). No idea why it was called RiLoc in the first place. - trace changes in type SysRes - implement VG_(di_aix5_notify_segchange) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6266 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
4cfea4f9480393ed6799db463b2e0fb8865a1a2f |
|
14-Oct-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Create a new module, m_vki, and move all knowledge about the kernel interface, except for the syscall numbers, into that. Mostly this means moving include/vki-*.h to include/vki/vki-*.h. include/pub_tool_basics.h previously dragged in the entire kernel interface. I've done away with that, so that modules which need to see the kernel interface now have to include pub_{core,tool}_vki.h explicitly. This is why there are many modified .c files -- they have all acquired an extra #include line. This certainly breaks all platforms except x86. Will fix shortly. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6225 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
574b893549e985c554e8143abfc33cbe35f8225e |
|
05-Jul-2006 |
tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Use fstat64 to work out the size of a file if it is available as it copes with a wider range of filesystems than the old fstat call. Fixes bug #130020. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5979 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
534e2019b34f2be1ae10a3b35961704030617893 |
|
12-Apr-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Properly handle external debuginfo (.gnu_debuglink) for stripped and prelinked libraries (patch from L. David Baron). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5841 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
72c84c9b37f6ddebc1c91ad1b26019d2fea9ddc3 |
|
06-Apr-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Avoid compiler warnings on ppc64-linux. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5829 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|
eadcd86d1b0f59efed44c162ef4378ccfb528290 |
|
04-Apr-2006 |
sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> |
Cleanup/restructure m_debuginfo, as described in coregrind/m_debuginfo/README.txt. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5823 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_debuginfo/readelf.c
|