Ray [Fri, 5 Jun 2009 15:54:50 +0000 (11:54 -0400)]
Updates various textual references to reflect the core directory name change.
Tugrul Ince [Thu, 4 Jun 2009 22:45:18 +0000 (18:45 -0400)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Tugrul Ince [Thu, 4 Jun 2009 22:44:11 +0000 (18:44 -0400)]
This commit fixes bug 1008.
We were unable to obtain correct return type of functions when the return type attribute (DW_AT_type) only existed in the tag related to the declaration of the function and not in the tag related to the implementation. We now go and read that attribute from the tag that declares the function.
Andrew Bernat [Thu, 4 Jun 2009 19:23:46 +0000 (14:23 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Thu, 4 Jun 2009 19:23:09 +0000 (14:23 -0500)]
Add TO_CORE specification
Matthew Legendre [Thu, 4 Jun 2009 16:47:04 +0000 (11:47 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Thu, 4 Jun 2009 16:45:22 +0000 (11:45 -0500)]
Fixes for Linux/Power32 for issue that was causing us to incorrect mark many functions non-relocatable.
Matthew Legendre [Thu, 4 Jun 2009 16:44:02 +0000 (11:44 -0500)]
Fixes related to RT library loading in rewritten binaries
Andrew Bernat [Wed, 3 Jun 2009 21:47:24 +0000 (16:47 -0500)]
Fix: call reads both eSP (for stack push) and eIP.
Matthew Legendre [Wed, 3 Jun 2009 20:11:34 +0000 (15:11 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Andrew Bernat [Wed, 3 Jun 2009 19:56:02 +0000 (14:56 -0500)]
Add e_xchg to intra-insn handling
Andrew Bernat [Wed, 3 Jun 2009 19:28:23 +0000 (14:28 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Wed, 3 Jun 2009 19:27:31 +0000 (14:27 -0500)]
Add .gitignore for depGraphAPI/doc
Andrew Bernat [Wed, 3 Jun 2009 19:27:02 +0000 (14:27 -0500)]
DDG updates
Matthew Legendre [Wed, 3 Jun 2009 16:19:06 +0000 (11:19 -0500)]
Build fixes for new tests under the pgcc compiler
Matthew Legendre [Wed, 3 Jun 2009 14:54:17 +0000 (09:54 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
James Waskiewicz [Wed, 3 Jun 2009 03:51:38 +0000 (23:51 -0400)]
windows build fix
James Waskiewicz [Wed, 3 Jun 2009 03:43:47 +0000 (23:43 -0400)]
stray output cleanup & allow newtestsuite mutatees to timeout of waiting
for the mutator to attach to them. There's a strange problem on aix where the mutator is
crashing with some high optimization mutatees (a seperate problem, really) the crash appears to
be causing some kind of race with the runTests dispatcher (likely the real problem), which is
not properly cleaning up b/c/ the mutatee is still actively waiting for the mutator to attach
to it. This is a bit of a kludge, but ultimately it makes sense that the mutatee should timeout
in this way regardless.
Matthew Legendre [Tue, 2 Jun 2009 22:08:28 +0000 (17:08 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Tue, 2 Jun 2009 22:08:12 +0000 (17:08 -0500)]
Merge branch 'master' of /p/paradyn/development/bill/test/dyninst
Paradyn Project [Tue, 2 Jun 2009 22:06:03 +0000 (17:06 -0500)]
Build fixes for power
Matthew Legendre [Tue, 2 Jun 2009 22:00:35 +0000 (17:00 -0500)]
Fixes to allow binary rewriter to load RT library
Matthew Legendre [Tue, 2 Jun 2009 21:42:13 +0000 (16:42 -0500)]
Remove autoconf variables from our SHA-1 implementation
Andrew Bernat [Tue, 2 Jun 2009 17:29:55 +0000 (12:29 -0500)]
Several DepGraphAPI fixes, InstructionAPI fixes, and DepGraphAPI enhancements.
InstructionAPI: leave uses the top of the stack. Fixed.
DepGraphAPI: we now represent intra-instruction dependences correctly.
Graph: added fine-grained control over node representations in DOT output format.
James Waskiewicz [Tue, 2 Jun 2009 11:10:53 +0000 (07:10 -0400)]
allow parseThat tests to create the BINEDIT dir if needed (for dumping stderr and stdout, etc)
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.
Bill Williams [Thu, 28 May 2009 17:49:15 +0000 (12:49 -0500)]
Merge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst
Matthew Legendre [Thu, 28 May 2009 16:44:13 +0000 (11:44 -0500)]
Merge branch 'master' of /p/paradyn/development/bill/test/dyninst
Conflicts:
dyninstAPI/src/ast.C
dyninstAPI/src/emit-x86.C
dyninstAPI/src/emit-x86.h
dyninstAPI/src/emitter.h
dyninstAPI/src/inst-x86.C
Matthew Legendre [Thu, 28 May 2009 16:23:08 +0000 (11:23 -0500)]
Fixes to allow binary rewritten binaries to load RT library and use multithreaded tramp guards and mutatee traps
Bill Williams [Thu, 28 May 2009 16:14:35 +0000 (11:14 -0500)]
AMD64 fixes: hash section emission, PIC generation of calls and variable references, use R11 rather than RAX for scratch work in call emission so that varargs functions work (ABI specifies RAX = number of XMM registers containing function parameters).
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).
Bill Williams [Thu, 21 May 2009 19:45:05 +0000 (14:45 -0500)]
Symtab changes: fixes for hash section (drop symbols that shouldn't be hashed), use mangled names for relocations, creating variables with no region associated is okay
Dyninst changes:
* variableAddr/variableValue distinction handled correctly for PIC load case
* Relocated thunks/call 0s now emitted properly as PIC for binary rewriter
* ConstString ASTs attempt to do the right thing in PIC case for rewriter
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