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 [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
Matthew Legendre [Fri, 17 Apr 2009 22:49:28 +0000 (17:49 -0500)]
Windows build fix
madhavi [Fri, 17 Apr 2009 19:32:27 +0000 (14:32 -0500)]
Added logic in emitElf.C and Object-elf.C to preserve the order of strings
in dynstr section, as it appears in the original binary. New symbols and
strings that we create as part of binary rewriting (Version entries, targ* etc)
are appended to the end of the dynstr section and corresponding links are
setup.
madhavi [Fri, 17 Apr 2009 15:54:44 +0000 (10:54 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
madhavi [Fri, 17 Apr 2009 15:51:17 +0000 (10:51 -0500)]
Commit: Matt's changes for fixing liveness bugs
James Waskiewicz [Fri, 17 Apr 2009 02:23:36 +0000 (22:23 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
James Waskiewicz [Fri, 17 Apr 2009 01:41:38 +0000 (21:41 -0400)]
more type info testing, serialization functions, etc.
add debug output to test_callback_2 in the event of a nightly failure
change libtest12 so that it does not call pthread_self for test_callback_2
fix bug with overflow of atoi with type range parsing (not 100% fixed, just detects error and
sets range to LONG_MIN or LONG_MAX)... this could be fixed for real but it would
involve changing how we represent range information in symtab types, which might be an
inconvenient API for something that very few people (if any) use.
Matthew Legendre [Thu, 16 Apr 2009 20:18:58 +0000 (15:18 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Thu, 16 Apr 2009 20:18:15 +0000 (15:18 -0500)]
Build fixes to StackwalkerAPI to reflect changes in new SymtabAPI interfaces
Matthew Legendre [Thu, 16 Apr 2009 20:16:51 +0000 (15:16 -0500)]
Temporary debugging code to print the value of rax when in debugSuicide mode on linux/x86_64.
Will remove this after it has debugged a specific problem
Matthew Legendre [Thu, 16 Apr 2009 20:15:31 +0000 (15:15 -0500)]
Fix debugSuicide (single stepping until process exit) to work through instPoint traps.
This is needed to help debug a crash reported by Rice
Andrew Bernat [Thu, 16 Apr 2009 18:38:43 +0000 (13:38 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Thu, 16 Apr 2009 18:37:48 +0000 (13:37 -0500)]
Add draft of DepGraphAPI documentation for me and Tugrul to edit. This
will eventually end up in Framemaker.
Bill Williams [Thu, 16 Apr 2009 18:33:45 +0000 (13:33 -0500)]
Removed debug output.
Bill Williams [Thu, 16 Apr 2009 18:25:55 +0000 (13:25 -0500)]
C++ comment converted to C for mutatee compilation.
Bill Williams [Thu, 16 Apr 2009 18:25:24 +0000 (13:25 -0500)]
Bug fix in doa thread handling: check for thread exit as well as for thread attach, since the order of arrival of these is not guaranteed.
Bill Williams [Wed, 15 Apr 2009 22:16:00 +0000 (17:16 -0500)]
Added InstructionCache to the project file for VC.
Bill Williams [Wed, 15 Apr 2009 21:32:37 +0000 (16:32 -0500)]
Liveness optimization: cache read & write sets one function at a time, so that we don't have to decode instructions multiple times (once for block summaries, once for reverse flow within a block).
Bill Williams [Wed, 15 Apr 2009 21:31:18 +0000 (16:31 -0500)]
FP liveness changed to use FXSAVE/FXRESTORE rather than FSAVE/FRESTORE when available; this should significantly improve our performance on floating-point code.
James Waskiewicz [Tue, 14 Apr 2009 23:13:02 +0000 (19:13 -0400)]
windows build fix and cleaning
James Waskiewicz [Tue, 14 Apr 2009 21:42:23 +0000 (17:42 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
James Waskiewicz [Tue, 14 Apr 2009 21:38:28 +0000 (17:38 -0400)]
Fix a bug with type parsing that I introduced while fixing another bug. We make a lot of internal calls to Module::getModuleTypes during the process of parsing type information. If getModuleTypes() calls parseTypesNow() very bad things happen. This commit introduces getModuleTypesPrivate() for us to use internally while keeping getModuleTypes() as a public interface. getModuleTypesPrivate() _should_ be private ... with friends of Module being able to call it, but this would lead to a bunch of hidden functions being declared as friends... could be done, but ugly.
Andrew Bernat [Tue, 14 Apr 2009 21:37:44 +0000 (16:37 -0500)]
Use GCC tricks to decrease overhead of unused debugging printfs.
James Waskiewicz [Tue, 14 Apr 2009 20:10:12 +0000 (16:10 -0400)]
fix bug with SymtabAPI::Module where asking for type information was not triggering type parsing. fleshes out test_type_info a bit more
James Waskiewicz [Tue, 14 Apr 2009 16:05:57 +0000 (12:05 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
Drew Bernat [Tue, 14 Apr 2009 16:05:07 +0000 (12:05 -0400)]
Fix possible race between cleaning up internal data structures and using them at the BPatch layer. Fixes test2_14 race.
James Waskiewicz [Tue, 14 Apr 2009 16:04:19 +0000 (12:04 -0400)]
serialization functions for SymtabAPI::Type classes (first of perhaps several), windows build fix, warnings fixes, BPatch_type and other upPtr replacement with annotations
Andrew Bernat [Mon, 13 Apr 2009 20:53:01 +0000 (15:53 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Mon, 13 Apr 2009 20:52:41 +0000 (15:52 -0500)]
Rename findSymbolByType(..., enum, ...) to findSymbol to un-confuse the compiler.
Michael Lam [Mon, 13 Apr 2009 19:46:49 +0000 (15:46 -0400)]
Adds .gitignore entries for Solaris 2.9
Matthew Legendre [Mon, 13 Apr 2009 18:06:08 +0000 (13:06 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Mon, 13 Apr 2009 18:05:50 +0000 (13:05 -0500)]
Fix aligned issue in creating new region in SymtabAPI
Madhavi Krishnan [Fri, 10 Apr 2009 21:40:04 +0000 (16:40 -0500)]
Corrected previous typo
Andrew Bernat [Fri, 10 Apr 2009 19:13:48 +0000 (14:13 -0500)]
Add generated mutatees to .gitignore file in newtestsuite directory.
Andrew Bernat [Fri, 10 Apr 2009 19:02:23 +0000 (14:02 -0500)]
Re-enable test1_34 on AIX. This is an exploratory commit; loop detection works with GCC/G++ but it is unknown whether the native compilers will cooperate.
Ray Chen [Fri, 10 Apr 2009 16:43:47 +0000 (12:43 -0400)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst
James Waskiewicz [Fri, 10 Apr 2009 06:42:33 +0000 (02:42 -0400)]
symtab::localVar... make serializable, remove upPtr notion in favor of outside annotations (type safe, yay), change storage of location lists to automatic vector, rather than the seperate malloc system used before...
madhavi [Thu, 9 Apr 2009 23:02:27 +0000 (18:02 -0500)]
Updated parseThat to detect SIGHUP and not return as crashed when it gets SIGHUP
madhavi [Thu, 9 Apr 2009 22:11:35 +0000 (17:11 -0500)]
Added support for running runHunt on binary edit mode. We can also pass arguments to the execute the rewritten binary by using --args parameter
madhavi [Thu, 9 Apr 2009 20:15:54 +0000 (15:15 -0500)]
Reverted previous commit that changes the order of Symbols in dynsym section of rewrittern binary
madhavi [Thu, 9 Apr 2009 18:59:44 +0000 (13:59 -0500)]
Add __stack_chk_fail to list of non-returning functions
Andrew Bernat [Thu, 9 Apr 2009 03:43:09 +0000 (22:43 -0500)]
Added Aggregate.h to list of public/copied header files.
James Waskiewicz [Wed, 8 Apr 2009 19:36:41 +0000 (15:36 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
James Waskiewicz [Wed, 8 Apr 2009 19:34:59 +0000 (15:34 -0400)]
windows buildfix and some cleanup
Matthew Legendre [Wed, 8 Apr 2009 18:05:42 +0000 (13:05 -0500)]
Added __assert_fail as non-returning PLT function, which was showing up in a pgf compiled binary.
James Waskiewicz [Wed, 8 Apr 2009 15:32:47 +0000 (11:32 -0400)]
restore storage class of vector location lists to what it used to be, even though it appears to be leaky on the memory front, since it appears that this change is causing some strange test breakages. Look for this to be re-fixed in a future commit
James Waskiewicz [Wed, 8 Apr 2009 13:16:03 +0000 (09:16 -0400)]
eliminate debug output
James Waskiewicz [Wed, 8 Apr 2009 12:57:08 +0000 (08:57 -0400)]
linux, windows buildfix, remove some output, further work on new symtab tests.
Merge branch 'master' of git.dyninst.org:/pub/dyninst
Conflicts:
symtabAPI/h/Symbol.h
James Waskiewicz [Wed, 8 Apr 2009 09:12:05 +0000 (05:12 -0400)]
lookup relocations in libc for test_relocation (not done yet)
James Waskiewicz [Wed, 8 Apr 2009 08:29:53 +0000 (04:29 -0400)]
more returning symtab serialization up to speed
Bill Williams [Tue, 7 Apr 2009 22:59:46 +0000 (17:59 -0500)]
Several instructions had incorrect table entries, and the sse_prefix table was in need of substantial updates, after my commit yesterday. This addresses those problems, fixing bug 980.
Bill Williams [Tue, 7 Apr 2009 19:03:53 +0000 (14:03 -0500)]
haddpd was marked as not using a mod r/m byte, when it does. Fixed.
madhavi [Tue, 7 Apr 2009 22:35:28 +0000 (17:35 -0500)]
Reverted back GNU_HASH case as it is not defined in all platforms
madhavi [Tue, 7 Apr 2009 22:32:19 +0000 (17:32 -0500)]
Replicated previous changes for binary rewriter mode in 64bit mode
madhavi [Tue, 7 Apr 2009 19:41:47 +0000 (14:41 -0500)]
This commit fixes the errors with binary rewriting binutlis.
When instrumented and rewritten, the executable was not able to find
its symbols in dynsym section. This was because, we were not copying the
HASH section (used to point to the symbols) properly. This commit fixes this
problem.
madhavi [Tue, 7 Apr 2009 19:27:34 +0000 (14:27 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
madhavi [Tue, 7 Apr 2009 19:27:18 +0000 (14:27 -0500)]
ELF section header contains links to the other sections containing data.
For example, the hash section contains links to dynsym section. We were
not creating these links correctly for new ELF sections created by binary rewriter.
This commit creates these links correctly.
Michael Lam [Tue, 7 Apr 2009 17:48:05 +0000 (13:48 -0400)]
Fixed intermodule variable references on x86_64 (bug 976)
Michael Lam [Tue, 7 Apr 2009 16:50:27 +0000 (12:50 -0400)]
Restore the old version of EmitterAMD64::emitLoadIndir (fixes test failures on x86_64)
madhavi [Tue, 7 Apr 2009 15:39:17 +0000 (10:39 -0500)]
Commit to maintain the original order of dynamic symbols in .dynsym section
in the rewritten binary.
James Waskiewicz [Tue, 7 Apr 2009 08:44:24 +0000 (04:44 -0400)]
fix problem introduced with dwarf parsing that was causing localVars and params to go missing
Ray Chen [Tue, 7 Apr 2009 07:30:55 +0000 (03:30 -0400)]
Resolve conflicts in make.config on git pull.
James Waskiewicz [Tue, 7 Apr 2009 07:20:26 +0000 (03:20 -0400)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst
Ray Chen [Tue, 7 Apr 2009 07:11:50 +0000 (03:11 -0400)]
Gets AIX64 platform working again.
modified: dyninstAPI/src/aix.C
modified: dyninstAPI/src/inst-power.C
James Waskiewicz [Tue, 7 Apr 2009 06:51:18 +0000 (02:51 -0400)]
windows build fixes and some more work on symtab serialization
madhavi [Mon, 6 Apr 2009 23:38:33 +0000 (18:38 -0500)]
This commit fixes incorrect checking to create new relocation sections in rewritten binaries
Bill Williams [Mon, 6 Apr 2009 22:58:49 +0000 (17:58 -0500)]
Bug fixes for various SSE additions & extensions that are new since our last table audit. Added a spot check to our tests for them. Addresses bug 974.
Also removed asserts and replaced with decodes to invalid Instruction objects, addressing bug 968.
Michael Lam [Mon, 6 Apr 2009 20:49:41 +0000 (16:49 -0400)]
This ports the intermodule variable referencing from x86 to x86_64, closing bug 973.
It also fixes the x86_64 implementation of emitLoadIndir, which made assumptions that did not parallel those of the 32-bit version, and it generalizes the intermodule reference "jump slot" generation code so that the same routines can be used on x86 and x86_64.
Bill Williams [Mon, 6 Apr 2009 20:40:27 +0000 (15:40 -0500)]
Added test file.
madhavi [Mon, 6 Apr 2009 15:48:03 +0000 (10:48 -0500)]
Minor changes to parseThat help message; Changed loadLibrary routine to support binary rewriter
Ray Chen [Sun, 5 Apr 2009 06:14:01 +0000 (02:14 -0400)]
Gets rs6000-ibm-aix64-5.2 platform building again.
new file: dyninstAPI_RT/rs6000-ibm-aix64-5.2/Makefile
new file: instructionAPI/rs6000-ibm-aix64-5.2/Makefile
modified: make.config
Ray Chen [Sun, 5 Apr 2009 06:06:44 +0000 (02:06 -0400)]
Enable tests #25 and #29 in v1 testsuite.
These tests already worked. They just needed #defines to match.
modified: dyninstAPI/tests/src/test1.C
modified: dyninstAPI/tests/src/test1.mutatee.c
Ray Chen [Sat, 4 Apr 2009 04:02:58 +0000 (00:02 -0400)]
Update region sort function to include size as a secondary sort key.
Binary search of address on a region list can fail if the region sort function
does not take size into account.
modified: symtabAPI/src/Symtab.C
Bill Williams [Fri, 3 Apr 2009 21:48:26 +0000 (16:48 -0500)]
Safety check: archIsATailCall() returns false if allInstructions() is too small to represent a tail call.
Bill Williams [Fri, 3 Apr 2009 20:55:29 +0000 (15:55 -0500)]
getControlFlowTarget now includes the size of the instruction in the expression it returns on IA32. We no longer need to special-case this bind.
Bill Williams [Fri, 3 Apr 2009 19:55:52 +0000 (14:55 -0500)]
Bugfix: check ELF headers for validity before we look for the debug info file. This prevents a crash if we try to open a script.
Bill Williams [Fri, 3 Apr 2009 19:55:15 +0000 (14:55 -0500)]
Added new bind/eval test for InstructionAPI.
Bill Williams [Fri, 3 Apr 2009 18:47:09 +0000 (13:47 -0500)]
Scale is now a u8 value; this produces correct type conversion behavior.
Bill Williams [Fri, 3 Apr 2009 18:46:29 +0000 (13:46 -0500)]
Bugfix from Kevin: replace bitwise not with logical not for isJumpIndir().