James Waskiewicz [Tue, 2 Jun 2009 10:59:46 +0000 (06:59 -0400)]
fix general build to properly install parseThat in the bindir
James Waskiewicz [Tue, 2 Jun 2009 10:07:35 +0000 (06:07 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
James Waskiewicz [Tue, 2 Jun 2009 10:07:07 +0000 (06:07 -0400)]
add a couple files the last commit missed
James Waskiewicz [Tue, 2 Jun 2009 10:02:08 +0000 (06:02 -0400)]
enable a bunch of tests in rewriter mode. add a couple new tests for the rewriter
(snip_change_shlib_var and snip_ref_shlib_var) to test whether rewritten code that
references and/or changes variables in a shared library will work properly.
changes the build structure for parseThat slightly to make it possible to add it to the
general overall dyninst build. This was done to ensure that no race conditions could happen
with configure if, during the nightlies, several machines are running configure at the
same time.
Adds a parseThat test to the newtestsuite (with a hopefully hand ParseThat wrapper class
to make issuing calls to parseThat fairly easy)... test_pt_ls.
Madhavi Krishnan [Fri, 29 May 2009 15:38:31 +0000 (10:38 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Madhavi Krishnan [Fri, 29 May 2009 15:38:21 +0000 (10:38 -0500)]
Fixes for bug 1003. Changed image-flowgraph to create a new basic block, when we reach an exit block through a tail call, to identify and parse jump table targets correctly.
Andrew Bernat [Thu, 28 May 2009 21:36:30 +0000 (16:36 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Thu, 28 May 2009 21:36:14 +0000 (16:36 -0500)]
Bill-approved InstructionAPI logic fixes.
Andrew Bernat [Thu, 28 May 2009 21:35:50 +0000 (16:35 -0500)]
Add initial handling of callees/multiple-definition instructions.
Andrew Bernat [Thu, 28 May 2009 21:35:27 +0000 (16:35 -0500)]
Fix logic bug with DDG entry iterator.
Andrew Bernat [Thu, 28 May 2009 21:34:59 +0000 (16:34 -0500)]
Change ::name to ::format to make consistent with other classes.
Andrew Bernat [Wed, 27 May 2009 19:51:31 +0000 (14:51 -0500)]
Add analysis methods for callees in DDG code.
Madhavi Krishnan [Tue, 26 May 2009 22:09:34 +0000 (17:09 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Andrew Bernat [Tue, 26 May 2009 20:44:03 +0000 (15:44 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Tue, 26 May 2009 20:43:52 +0000 (15:43 -0500)]
Update depGraphAPI documentation
* Add inheritance diagram.
* Include PDF output
Madhavi Krishnan [Tue, 26 May 2009 19:45:34 +0000 (14:45 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Madhavi Krishnan [Tue, 26 May 2009 19:45:28 +0000 (14:45 -0500)]
We can have multiple consecutive relocatable sections with one
entry point from the Dynamic section(DT_REL). In this case, we need
to read the size of the relocation section from the dynamic section
(DT_RELSZ) and read data from as many sections as required from the
starting address. This fix implements the above.
Matthew Legendre [Tue, 26 May 2009 18:09:18 +0000 (13:09 -0500)]
Fix problem where SymtabAPI's isCode would return true for offsets in bss
Madhavi Krishnan [Thu, 21 May 2009 21:33:31 +0000 (16:33 -0500)]
Solaris build fixes
My commit on Friday broke object-elf on Solaris. On Solaris,
we do not yet parse the Dynamic section to get pointers to ELF
sections we are interested in relocating. For now, we will
resort to using section names in Solaris (as we did before).
Matthew Legendre [Thu, 21 May 2009 17:24:51 +0000 (12:24 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Thu, 21 May 2009 17:23:22 +0000 (12:23 -0500)]
Additional code cleanup in SymtabAPI
Matthew Legendre [Thu, 21 May 2009 17:21:51 +0000 (12:21 -0500)]
InstructionAPI fixes. Recognize implicit operands in push/pop instructions
Matthew Legendre [Thu, 21 May 2009 17:21:06 +0000 (12:21 -0500)]
Code cleanup. Remove warnings, clean valgrind noise, improve debugging prints
Matthew Legendre [Thu, 21 May 2009 17:16:29 +0000 (12:16 -0500)]
Fix for potential buffer overrun when parsing instructions with lots of prefixes
Matthew Legendre [Thu, 21 May 2009 17:14:22 +0000 (12:14 -0500)]
More indirect jump via rip fixes in InstructionAPI
Matthew Legendre [Thu, 21 May 2009 17:12:28 +0000 (12:12 -0500)]
Deal with negative library load addresses that were showing up on Linux/AMD64
Matthew Legendre [Thu, 21 May 2009 17:08:22 +0000 (12:08 -0500)]
Allow LD_PRELOAD loading of RT library on AMD64
Matthew Legendre [Thu, 21 May 2009 17:06:59 +0000 (12:06 -0500)]
Remove un-needed dynamic symbol check that was breaking Ubunto RT library loading
Matthew Legendre [Thu, 21 May 2009 17:05:30 +0000 (12:05 -0500)]
Liveness fix. Our conservative liveness mode was still making some ABI assumptions.
Matthew Legendre [Thu, 21 May 2009 17:03:45 +0000 (12:03 -0500)]
Optimization needed for findThunkAndOffset needed jump table parsing
Matthew Legendre [Thu, 21 May 2009 17:02:39 +0000 (12:02 -0500)]
Recognize a new type of jump table used by x86_64 gcc
Matthew Legendre [Thu, 21 May 2009 17:01:49 +0000 (12:01 -0500)]
Windows fixes to get needed for a segfaulting symbol sort and thread creation
Matthew Legendre [Thu, 21 May 2009 16:59:43 +0000 (11:59 -0500)]
Fix multiple parsing problems with rip relative indirect jumps, ala jmp $0x30(
Matthew Legendre [Thu, 21 May 2009 16:52:30 +0000 (11:52 -0500)]
Fixes possible off-by-one-bug in jump table size calculations
Matthew Legendre [Thu, 21 May 2009 16:43:27 +0000 (11:43 -0500)]
Jump table parsing was not correctly handling SIB based indirect jumps with a scale value of 8. e.g 'jmp 0x1234(%eax, %ecx, 8)
Matthew Legendre [Thu, 21 May 2009 16:41:48 +0000 (11:41 -0500)]
Remove debugging printf from newtestsuite
TugrulInce [Thu, 21 May 2009 00:15:19 +0000 (20:15 -0400)]
This commit updates the various dependence graph creation mechanisms.
Major changes:
Control Dependence Graph and Flow Dependence Graph are now stored at basic block level. This change makes DepGraphAPI more memory efficient at the expense of more on-demand computation. We will keep working on on-demand creation of graphs.
Nodes in the graphs are now accessed through iterators, we don't give out / fill in any sets or vectors.
There are small changes here and there as well.
Madhavi Krishnan [Tue, 19 May 2009 15:06:00 +0000 (10:06 -0500)]
IA64 fix for binary rewriter crashes
Most tests were crashing in IA64 because Object-elf was
not determining the dynamic section of a binary correctly.
We were using offset of the dynamic section in find its ELF
section number. But libc has two sections in the same offset as
the dynamic section. The first section is tbss of size 64 and
type NOBITS, followed by the dynamic section itself. We tried reading
the contents of tbss and intepreted it as dynamic section - and hence
crashed.
Now, we use a prioritized combination of offset, size and section type to
determine the dynamic section if there are more than one section
in the same offset.
Madhavi Krishnan [Fri, 15 May 2009 22:23:34 +0000 (17:23 -0500)]
Binary rewriting fixes
(1) Look up ELF sections using pointer from PT_DYNAMIC section
instead of names
(2) Do not move rel.plt/rela.plt section
(3) Combine all REL sections loaded at load time into one section
(4) Removed fbt from function signatures in emitElf as we no longer use it
(5) Changed findRegion by name to use pointers instead of names
Bill Williams [Wed, 13 May 2009 20:50:41 +0000 (15:50 -0500)]
Merge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst
Bill Williams [Wed, 13 May 2009 20:50:20 +0000 (15:50 -0500)]
Move make.config.local up to where it's needed, and only include make.config in dynutil (removing make.config.local direct include).
James Waskiewicz [Tue, 12 May 2009 03:54:35 +0000 (23:54 -0400)]
more makefile buildfixes... fix install of dynutil header files, and add proper dependency lines for newtestsuite and depGraphAPI. Also turns on building of newtestsuite as default behavior.
James Waskiewicz [Fri, 8 May 2009 20:58:17 +0000 (16:58 -0400)]
buildfix
Bill Williams [Fri, 8 May 2009 17:07:29 +0000 (12:07 -0500)]
Update for consistency with autoconf'ed LIBRARY_DEST definition.
Bill Williams [Thu, 7 May 2009 18:11:33 +0000 (13:11 -0500)]
Merge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst
Bill Williams [Thu, 7 May 2009 18:10:46 +0000 (13:10 -0500)]
Fix for nightlies: dynutil makefile didn't include make.config or make the include directory if not present.
James Waskiewicz [Thu, 7 May 2009 02:26:26 +0000 (22:26 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
James Waskiewicz [Thu, 7 May 2009 02:25:01 +0000 (22:25 -0400)]
add ppc64_linux to newtestsuite
Andrew Bernat [Wed, 6 May 2009 19:49:00 +0000 (14:49 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Wed, 6 May 2009 14:06:15 +0000 (09:06 -0500)]
Add search-based iterators to Node class (NodeSearchIterator; forward/backwards and DFS/BFS are selectable). Also minor bugfixes.
Bill Williams [Wed, 6 May 2009 19:20:16 +0000 (14:20 -0500)]
Merge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst
Bill Williams [Wed, 6 May 2009 19:19:43 +0000 (14:19 -0500)]
Updates to autoconf: fixed test suite detection of mutatee compilers, allowed install directories to default to old style in make.config if someone's using an old make.config.local.
Bill Williams [Wed, 6 May 2009 19:17:13 +0000 (14:17 -0500)]
Updates to autoconf: fixed test suite detection of mutatee compilers, allowed install directories to default to old style in make.config if someone's using an old make.config.local.
Bill Williams [Fri, 1 May 2009 20:25:58 +0000 (15:25 -0500)]
Autoconf updates:
* moved to configure.in/configure in main directory
* made platform-specific dependencies acutally platform-specific
* fixed static/dynamic library detection
* installation path now respects autoconf's --prefix option (same default as usual)
* -fno-stack-prot detection
* optional libraries are optional, including appropriate cap defines
Matthew Legendre [Mon, 4 May 2009 22:44:42 +0000 (17:44 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Mon, 4 May 2009 22:43:47 +0000 (17:43 -0500)]
Add getExecutable function to address translation. Add more intelligent getSize operation for functions
Matthew Legendre [Mon, 4 May 2009 22:40:52 +0000 (17:40 -0500)]
New features and bug fixes for StackwalkerAPI. Adds detach operation, fixes problem with new thread detection, improves stack wandering stepper
TugrulInce [Mon, 4 May 2009 21:41:53 +0000 (17:41 -0400)]
I added a section about xPDG into the depGraphAPI documentation. I also edited a few other places.
modified: depGraphAPI/doc/depGraphAPI.tex
Andrew Bernat [Fri, 1 May 2009 17:21:33 +0000 (12:21 -0500)]
Move title to separate page and add TOC.
Andrew Bernat [Fri, 1 May 2009 17:15:58 +0000 (12:15 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Fri, 1 May 2009 17:15:46 +0000 (12:15 -0500)]
Convert DepGraphAPI to LaTeX format instead of Frame.
TugrulInce [Thu, 30 Apr 2009 22:14:31 +0000 (18:14 -0400)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst
TugrulInce [Thu, 30 Apr 2009 22:13:14 +0000 (18:13 -0400)]
I added a few fixes/improvements to depGraphAPI:
1) We are now using the instruction categories Bill recently added. (Thanks for that functionality btw).
2) I changed the direction of the edges to be consistent between DDG, CDG and FDG.
3) Got rid of now-unnecessary data structure in CDG.
Andrew Bernat [Thu, 30 Apr 2009 22:07:38 +0000 (17:07 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Thu, 30 Apr 2009 22:07:27 +0000 (17:07 -0500)]
Initial implementation of iterators (NodeIterator and EdgeIterator) for Graph and DDG data structures.
Madhavi Krishnan [Thu, 30 Apr 2009 20:28:40 +0000 (15:28 -0500)]
Fix for missing elf symbols in AMD64 due to error in copying data from oldElf to newElf file. This fixes bug 984.
Andrew Bernat [Thu, 30 Apr 2009 14:53:19 +0000 (09:53 -0500)]
Remove old DDG directory (moved to depGraphAPI) and unnecessary depGraphAPI files.
James Waskiewicz [Wed, 29 Apr 2009 03:37:16 +0000 (23:37 -0400)]
windows build fix (export visibility2Str() )
James Waskiewicz [Tue, 28 Apr 2009 15:47:24 +0000 (11:47 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
more type serialization
James Waskiewicz [Tue, 28 Apr 2009 15:15:29 +0000 (11:15 -0400)]
more serialization of symtab type information
Andrew Bernat [Mon, 27 Apr 2009 21:11:12 +0000 (16:11 -0500)]
Update installed header files
Andrew Bernat [Mon, 27 Apr 2009 20:50:17 +0000 (15:50 -0500)]
Update DepGraphAPI source files to conform with published API.
Andrew Bernat [Mon, 27 Apr 2009 20:49:26 +0000 (15:49 -0500)]
Move graph structures to common/dynutils
Andrew Bernat [Mon, 27 Apr 2009 20:48:53 +0000 (15:48 -0500)]
Move DDG analysis draft
James Waskiewicz [Mon, 27 Apr 2009 20:34:26 +0000 (16:34 -0400)]
minor findType() bugfix... when iterating over an array, it is wise to examine elements sequentially, rather than only look at the first element each iteration
James Waskiewicz [Mon, 27 Apr 2009 19:15:48 +0000 (15:15 -0400)]
tweak test_type_info: turns out looking for "long" is not consistent across compilers/platforms (some use "long int")
Andrew Bernat [Mon, 27 Apr 2009 18:55:21 +0000 (13:55 -0500)]
Move Graph, Node, Edge objects to common/dynutil; move all others to new depGraphAPI directory.
James Waskiewicz [Mon, 27 Apr 2009 16:13:30 +0000 (12:13 -0400)]
check for (and try to work around) errno = EAGAIN after pthread_create
failures (aix sometimes reports "resource temporarily unavailable")
James Waskiewicz [Mon, 27 Apr 2009 15:50:48 +0000 (11:50 -0400)]
fix dwarf parsing of union field members
James Waskiewicz [Fri, 24 Apr 2009 06:46:22 +0000 (02:46 -0400)]
remove erroneous "typedef" added while trying to solve a different prob
James Waskiewicz [Fri, 24 Apr 2009 06:03:59 +0000 (02:03 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
James Waskiewicz [Fri, 24 Apr 2009 06:03:14 +0000 (02:03 -0400)]
windows buildfix
James Waskiewicz [Fri, 24 Apr 2009 04:58:31 +0000 (00:58 -0400)]
gcc 4.4.40 buildfixes
James Waskiewicz [Fri, 24 Apr 2009 02:27:30 +0000 (22:27 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
James Waskiewicz [Fri, 24 Apr 2009 02:19:07 +0000 (22:19 -0400)]
disable test_exception on non x86-linux platforms (we just don't do the parsing needed for it).
update test_relocation to search for relocations pertinent to one of our own libraries
(libtestA) instead of libc... libc function/symbol/relocation names are not entirely predictable.
Update test_type_info to not care if structs & unions have more parameters than "expected" --
when compiled as c++, the mutatee struct/unions may have c++ info such as ctors, operator=, etc
.
Bill Williams [Thu, 23 Apr 2009 18:46:04 +0000 (13:46 -0500)]
Fix for reversion of status warning: a paused LWP can be placed into an exited state or a stopped state during its pause. We now check for this after we finish waiting for the pause, and do not try to update lwp (and process) status to stopped if the LWP has exited.
Bill Williams [Thu, 23 Apr 2009 15:57:30 +0000 (10:57 -0500)]
Added instruction categories & used them in liveness to replace entry id hacks.
Andrew Bernat [Wed, 22 Apr 2009 18:52:09 +0000 (13:52 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Wed, 22 Apr 2009 18:51:52 +0000 (13:51 -0500)]
Prepping dependence graph components for release. Several files have been renamed and files have been cleaned up.
TODO:
labelling entry nodes on CDG/FDG
Programmatic PDG interface
Move graph/node/edge to dynutil
Matthew Legendre [Tue, 21 Apr 2009 17:04:47 +0000 (12:04 -0500)]
Build fixes for SymtabAPI relocation test mutatee
James Waskiewicz [Tue, 21 Apr 2009 02:53:58 +0000 (22:53 -0400)]
mini commit: range checking and debug printfs
James Waskiewicz [Tue, 21 Apr 2009 00:16:19 +0000 (20:16 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
James Waskiewicz [Tue, 21 Apr 2009 00:15:45 +0000 (20:15 -0400)]
fixes for pgCC compilation and test_callback_2
Matthew Legendre [Mon, 20 Apr 2009 22:16:57 +0000 (17:16 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Mon, 20 Apr 2009 22:16:27 +0000 (17:16 -0500)]
Fix for debugSuicide
Matthew Legendre [Mon, 20 Apr 2009 22:15:31 +0000 (17:15 -0500)]
StackwalkerAPI threading fixes
Kevin Roundy [Mon, 20 Apr 2009 16:42:29 +0000 (11:42 -0500)]
This commit closes bug 990. The code generation for snippet type BPatch_originalAddressExpr was not allocating registers properly, it failed to check to see if a register had already been allocated before allocating a new one.
Matthew Legendre [Fri, 17 Apr 2009 23:07:15 +0000 (18:07 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
madhavi [Fri, 17 Apr 2009 23:00:33 +0000 (18:00 -0500)]
Commit: Fixed error caused by previous commit
Matthew Legendre [Fri, 17 Apr 2009 22:49:40 +0000 (17:49 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst