dyninst.git
10 years agoA first pass at implementing thread stop and continue on FreeBSD.
Dan McNulty [Mon, 5 Jul 2010 16:11:01 +0000 (11:11 -0500)]
A first pass at implementing thread stop and continue on FreeBSD.

Includes a bug fix in HandlePostExit, a int_process was being deleted and still
being used. The debugging printf didn't match the actual behavior.

Includes some reworking on thread_db classes.

A majority of this commit deals with FreeBSD's "interesting" thread control
model via ptrace.

To stop a thread, a SIGSTOP is sent to the thread in the process. The entire
process stops and the thread can then be suspend with a call to ptrace with the
request PT_SUSPEND. The entire process is then continued, but the suspended
thread will not run.

To continue a suspended thread in a running process, a SIGSTOP is sent to any
running thread in the process. The entire process stops and the thread
to-be-continued can then be resumed with a call to ptrace with the request
PT_RESUME. At this point, the entire process is continued.

There are a few changes to the platform-independent code to incorporate this
thread control model via ptrace.

The first is a new internal event, EventContinue.  This is generated when a
SIGSTOP is used to resume a suspended thread. Also, int_thread's now have a
fields to represent a pending continue and a pending user continue. User
continues are differentiated from internal continues because internal continues
need to be batched to avoid race conditions between the generator and handler.
The plat_cont function now basically calls ptrace with the request of PT_RESUME
with some added logic for user and internal continues.  The process is
continued later in waitAndHandleEvents after syncRunState is called. This
continue occurs via a new platform-dependent function, plat_contProcess. It
should be a no-op on other platforms that don't need it.

It is now possible to have pending continues similar to pending stops. A
pending continue is handled in int_process code in exactly the same way as a
pending stop.

To stop this continue from being called on other platforms, the
independentLWPControl function was renamed to getThreadControlMode and it now
returns an enum for the three case: NoLWPControl, HybridLWPControl (FreeBSD),
IndependentLWPControl (Linux).

Processes now have a field for the continue signal because on FreeBSD, threads
cannot be continued with there own signals; only the process can be continued
with a signal. The threads set the parent process' continue signal when
approriate.

10 years agoFirst pass at thread_db integration for FreeBSD.
Dan McNulty [Tue, 22 Jun 2010 18:30:14 +0000 (13:30 -0500)]
First pass at thread_db integration for FreeBSD.

Also, made some updates so the single thread tests still pass.

This includes new classes that are derived from int_process and int_thread,
thread_db_process and thread_db_thread. freebsd_process and freebsd_thread now
derive from the thread_db classes. The integration includes changes to the
FreeBSD generator and decoder to handle the new events provided by
thread_db.

Small fixes for static binaries in FreeBSD-specific AddressTranslate code.

10 years agoImplemented iRPC snippets for FreeBSD amd64.
Dan McNulty [Mon, 14 Jun 2010 15:49:56 +0000 (10:49 -0500)]
Implemented iRPC snippets for FreeBSD amd64.

10 years agoMoved around iRPC mmap snippet handling to be used by both Linux and FreeBSD.
Dan McNulty [Fri, 11 Jun 2010 20:55:02 +0000 (15:55 -0500)]
Moved around iRPC mmap snippet handling to be used by both Linux and FreeBSD.

Implemented mmap snippets for FreeBSD.

Turned off pc_fork, pc_fork_exec tests for FreeBSD.

10 years agoFixes for RT library on FreeBSD x86
Dan McNulty [Thu, 10 Jun 2010 14:46:38 +0000 (09:46 -0500)]
Fixes for RT library on FreeBSD x86

10 years agoProgress on ProcControlAPI for FreeBSD.
Dan McNulty [Wed, 9 Jun 2010 21:04:16 +0000 (16:04 -0500)]
Progress on ProcControlAPI for FreeBSD.

tests pc_breakpoint, pc_launch, pc_library, pc_singlestep pass for
single and multiple processes.

Fixed minor bugs in AddressTranslation.

Implemented a chunk of functionality for FreeBSD (includes register
access). Factored some code from linux.C to process.C to implement
register stuff.

Fixed minor bugs in testsuite for proccontrol testsuite.

10 years agoMerge branch 'master' into bsd
Daniel McNulty [Mon, 7 Jun 2010 15:11:23 +0000 (10:11 -0500)]
Merge branch 'master' into bsd

Conflicts:
common/src/addrtranslate-sysv.h
proccontrol/src/sysv.C
symtabAPI/src/emitElf.C
testsuite/i386-unknown-linux2.4/tuples
testsuite/i386-unknown-nt4.0/tuples
testsuite/ia64-unknown-linux2.4/tuples
testsuite/ppc32_linux/tuples
testsuite/ppc64_linux/tuples
testsuite/rs6000-ibm-aix5.1/tuples
testsuite/sparc-sun-solaris2.8/tuples
testsuite/sparc-sun-solaris2.9/tuples
testsuite/src/dyninst/test1.h
testsuite/x86_64-unknown-linux2.4/tuples

10 years agoFurther refactoring of AddressTranslate for FreeBSD
Dan McNulty [Fri, 4 Jun 2010 21:28:14 +0000 (16:28 -0500)]
Further refactoring of AddressTranslate for FreeBSD

A newly created process doesn't have the DT_DEBUG field populated, so
changes were made to lazily parse this field. However, the trap address
needs to be known immediately after an AddressTranslator is created.
Luckily on FreeBSD, there is a symbol in the dynamic linker for the trap
address.

If DT_DEBUG is unavailable, the trap address is parsed from the dynamic
linker. If DT_DEBUG is available, the trap address is parsed from the
r_debug structure.

Consequently, to parse the dynamic linker, we need to know its base
load address in memory. This can be retrieved from memory maps. This
has been implemented for FreeBSD and doesn't require procfs. This
required some refactoring of the existing memory map parsing support
on Linux.

On another note, plat_install in ProcControlAPI was factored to
sysv.C because the functionality is the same on both Linux and FreeBSD.

10 years agoRefactor AddressTranslator code to support FreeBSD.
Dan McNulty [Thu, 3 Jun 2010 21:05:11 +0000 (16:05 -0500)]
Refactor AddressTranslator code to support FreeBSD.

The existing support for System V platforms doesn't work on FreeBSD.
Implemented a new way to get r_debug structure on FreeBSD. Factored
out existing System V support that doesn't work on FreeBSD.

10 years agoFix issue where ProcControlAPI was not properly including libelf, removed build depen...
Matthew Legendre [Thu, 3 Jun 2010 20:20:03 +0000 (15:20 -0500)]
Fix issue where ProcControlAPI was not properly including libelf, removed build dependency on SymtabAPI

10 years agoFix ProcControlAPI race condition where a signal hitting the process during a specifi...
Matthew Legendre [Thu, 3 Jun 2010 20:02:08 +0000 (15:02 -0500)]
Fix ProcControlAPI race condition where a signal hitting the process during a specific part of RPC setup/teardown would hang the thread.

10 years agoFix ProcControlAPI issue where continuing a stopped thread that had a running rpc...
Matthew Legendre [Thu, 3 Jun 2010 19:59:45 +0000 (14:59 -0500)]
Fix ProcControlAPI issue where continuing a stopped thread that had a running rpc on it incorrectly returned an error.

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Thu, 3 Jun 2010 16:13:23 +0000 (11:13 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agoReplaced custom R-B tree with a wrapper around std::map; fixes a pernicious bug in...
Andrew Bernat [Thu, 3 Jun 2010 16:05:46 +0000 (11:05 -0500)]
Replaced custom R-B tree with a wrapper around std::map; fixes a pernicious bug in removal and insertion.

10 years agoBug fix: enable-testsuite was using the wrong variable for our Makefile's test suite...
Bill Williams [Wed, 2 Jun 2010 17:06:55 +0000 (12:06 -0500)]
Bug fix: enable-testsuite was using the wrong variable for our Makefile's test suite control.

10 years agoBug fix: avoid infinite loop when iterating over binEdits. Bug introduced when fixin...
Bill Williams [Wed, 2 Jun 2010 15:26:57 +0000 (10:26 -0500)]
Bug fix: avoid infinite loop when iterating over binEdits.  Bug introduced when fixing compiler warning.

--bw

10 years agoWindows fixes: fix two warnings from unsafe variable name reuse, re-enable hack for...
Bill Williams [Wed, 2 Jun 2010 00:31:43 +0000 (19:31 -0500)]
Windows fixes: fix two warnings from unsafe variable name reuse, re-enable hack for finding loadsnstores.

10 years agoJump table fixes for Windows:
Bill Williams [Fri, 28 May 2010 20:37:22 +0000 (15:37 -0500)]
Jump table fixes for Windows:

* Our zeroAllRegisters visitor should not zero the IP, just the GPRs.  Fixed.
* isOffsetInRegion and findEnclosingRegion do not match memory/disk on Windows.  This led to us misinterpreting jump table targets as invalid.  Replaced isOffsetInRegion with explicit getRegionAddr/getRegionSize calls to mimic the findEnclosingRegion behavior.

10 years agoMake mutatee C compliant.
Bill Williams [Fri, 28 May 2010 18:28:39 +0000 (13:28 -0500)]
Make mutatee C compliant.

10 years agoTest suite fixes: added debugging output to test1_20 so that we can see what instruct...
Bill Williams [Thu, 27 May 2010 20:48:02 +0000 (15:48 -0500)]
Test suite fixes: added debugging output to test1_20 so that we can see what instructions we're instrumenting.  This requires linking the test1_20 mutator against libInstructionAPI, which in turn required a spec change.

10 years agoFix typo in XMM1 name.
Bill Williams [Thu, 27 May 2010 20:46:56 +0000 (15:46 -0500)]
Fix typo in XMM1 name.

10 years agoDon't use a scratch register for emitting AMD64 static mode calls; enables call repla...
Bill Williams [Thu, 27 May 2010 20:46:47 +0000 (15:46 -0500)]
Don't use a scratch register for emitting AMD64 static mode calls; enables call replacement even with no free registers.

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Wed, 26 May 2010 23:39:05 +0000 (18:39 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoDisable pgcc and icc tests in 32 bit mode on x86_64
Matthew Legendre [Wed, 26 May 2010 23:36:09 +0000 (18:36 -0500)]
Disable pgcc and icc tests in 32 bit mode on x86_64

10 years agoBuild fix for VC2003: ensure that everything goes through the test_pid_t typedef...
Bill Williams [Wed, 26 May 2010 21:44:17 +0000 (16:44 -0500)]
Build fix for VC2003: ensure that everything goes through the test_pid_t typedef, with explicit casts if needed.

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Wed, 26 May 2010 20:51:37 +0000 (15:51 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agoFix an error in emitting symbol versions
Andrew Bernat [Wed, 26 May 2010 20:48:10 +0000 (15:48 -0500)]
Fix an error in emitting symbol versions

10 years agoMake liveness respect system calls
Andrew Bernat [Wed, 26 May 2010 20:47:57 +0000 (15:47 -0500)]
Make liveness respect system calls

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Wed, 26 May 2010 20:42:40 +0000 (15:42 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoFix problem with ProcControlAPI not finding interpreter when linked with libelf.so.1
Matthew Legendre [Wed, 26 May 2010 20:42:11 +0000 (15:42 -0500)]
Fix problem with ProcControlAPI not finding interpreter when linked with libelf.so.1

10 years agoMutatee traps implementation copied from Linux.
Dan McNulty [Wed, 26 May 2010 19:30:11 +0000 (14:30 -0500)]
Mutatee traps implementation copied from Linux.

However, mutatee traps currently do not work when enabled so they are
disabled for now.

10 years agoBug fixes for FP liveness, part 2.
Bill Williams [Wed, 26 May 2010 17:35:03 +0000 (12:35 -0500)]
Bug fixes for FP liveness, part 2.

10 years agoEnabled init/fini callbacks for FreeBSD.
Dan McNulty [Tue, 25 May 2010 19:22:29 +0000 (14:22 -0500)]
Enabled init/fini callbacks for FreeBSD.

Implemented multithread capability test for static binaries on FreeBSD.

Factored some code to share between Linux and FreeBSD.

10 years agopgcc built mutatees weren't exporting some expected symbols, causing tests to fail.
Matthew Legendre [Tue, 25 May 2010 19:09:29 +0000 (14:09 -0500)]
pgcc built mutatees weren't exporting some expected symbols, causing tests to fail.

10 years agoEnabled init_fini test for FreeBSD.
Daniel McNulty [Tue, 25 May 2010 18:06:35 +0000 (13:06 -0500)]
Enabled init_fini test for FreeBSD.

10 years agoRT library now extracts thread information on FreeBSD.
Dan McNulty [Tue, 25 May 2010 16:18:51 +0000 (11:18 -0500)]
RT library now extracts thread information on FreeBSD.

10 years agoBug fix for FP liveness in test 1-20 (ICC).
Bill Williams [Mon, 24 May 2010 20:26:35 +0000 (15:26 -0500)]
Bug fix for FP liveness in test 1-20 (ICC).

10 years ago"make nightly" should build "all", not "DyninstAPI".
Bill Williams [Mon, 24 May 2010 16:32:36 +0000 (11:32 -0500)]
"make nightly" should build "all", not "DyninstAPI".

10 years agoAdd InstructionAPI to AIX64 makefile; fix compiler error in Archive-xcoff on AIX64.
Bill Williams [Mon, 24 May 2010 16:29:00 +0000 (11:29 -0500)]
Add InstructionAPI to AIX64 makefile; fix compiler error in Archive-xcoff on AIX64.

10 years agoPushing file missed in last commit, fixing memory problems
Matthew Legendre [Mon, 24 May 2010 20:45:54 +0000 (15:45 -0500)]
Pushing file missed in last commit, fixing memory problems

10 years agoWorking on RT library for FreeBSD.
Dan McNulty [Mon, 24 May 2010 20:31:56 +0000 (15:31 -0500)]
Working on RT library for FreeBSD.

10 years agoFix bug in test1_2 when built with pgCC
Matthew Legendre [Mon, 24 May 2010 20:29:00 +0000 (15:29 -0500)]
Fix bug in test1_2 when built with pgCC
Disable test5_7 and test5_9 on pgCC and we don't have support for their template name demangling

10 years agoFix memory corruption in testsuite and binary rewriting
Matthew Legendre [Mon, 24 May 2010 18:18:46 +0000 (13:18 -0500)]
Fix memory corruption in testsuite and binary rewriting

10 years agoFix problem with runTests failing if . was not in path
Matthew Legendre [Mon, 24 May 2010 16:42:53 +0000 (11:42 -0500)]
Fix problem with runTests failing if . was not in path

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Fri, 21 May 2010 19:00:26 +0000 (14:00 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

Conflicts:
instructionAPI/src/Operation.C

10 years agoSlicing tweaks
Andrew Bernat [Fri, 21 May 2010 18:59:23 +0000 (13:59 -0500)]
Slicing tweaks

Conflicts:

symEval/h/slicing.h
symEval/src/slicing.C

10 years agoCollected main-line fixes
Andrew Bernat [Thu, 22 Apr 2010 17:31:53 +0000 (12:31 -0500)]
Collected main-line fixes
  1) Fix instruction::generateMem and new IAPI parsing internals
  2) Tail call interaction with non-returning calls fixed
  3) Shared code shares non-instrumentable status
  4) Add C++ argument and PLT registers to liveness calculations
  5) Stack analysis assumed branches were calls
  6) IAPI: adding a successor doesn't create an Operand for fallthroughs
  7) IAPI: REP prefix has implicit register usage
  8) Symtab: Skip known outlined code blocks in IA32/AMD64 libc

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Thu, 20 May 2010 22:20:45 +0000 (17:20 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoWindows fixes for testsuite
legendre [Thu, 20 May 2010 22:19:02 +0000 (17:19 -0500)]
Windows fixes for testsuite

10 years agoAllow parallel runs of testsuite
Matthew Legendre [Thu, 20 May 2010 20:23:22 +0000 (15:23 -0500)]
Allow parallel runs of testsuite

10 years agoTurning off 32-bit ABI support on FreeBSD 64-bit.
Daniel McNulty [Thu, 20 May 2010 20:14:10 +0000 (15:14 -0500)]
Turning off 32-bit ABI support on FreeBSD 64-bit.

There appears to be some problems with 32-bit ABI support such as
constants like ULONG_MAX not being changed for the 32-bit ABI.

10 years agoFixing 32/64 ABI configuration in testsuite for FreeBSD 64-bit.
Daniel McNulty [Thu, 20 May 2010 19:39:23 +0000 (14:39 -0500)]
Fixing 32/64 ABI configuration in testsuite for FreeBSD 64-bit.

10 years agoFreeBSD 64-bit binary rewriter -- a few testsuite tests pass.
Dan McNulty [Thu, 20 May 2010 19:19:12 +0000 (14:19 -0500)]
FreeBSD 64-bit binary rewriter -- a few testsuite tests pass.

10 years agoAdd autoconf options for using icc and pgcc in testsuite
Matthew Legendre [Thu, 20 May 2010 17:05:23 +0000 (12:05 -0500)]
Add autoconf options for using icc and pgcc in testsuite

10 years agoTestsuite generated files for amd64 FreeBSD
Daniel McNulty [Thu, 20 May 2010 02:39:24 +0000 (21:39 -0500)]
Testsuite generated files for amd64 FreeBSD

10 years agoAdding 64-bit FreeBSD build directories.
Dan McNulty [Thu, 20 May 2010 02:26:36 +0000 (21:26 -0500)]
Adding 64-bit FreeBSD build directories.

10 years agoBugfixes for binary rewriter. Small changes to proccontrol.
Dan McNulty [Wed, 19 May 2010 21:10:31 +0000 (16:10 -0500)]
Bugfixes for binary rewriter. Small changes to proccontrol.

Enables the testsuite for proccontrol.

10 years agoFix warnings in ProcControlAPI build
Matthew Legendre [Wed, 19 May 2010 16:42:45 +0000 (11:42 -0500)]
Fix warnings in ProcControlAPI build

10 years agoFix issue in ProcControlAPI detach and terminate
Matthew Legendre [Wed, 19 May 2010 16:42:19 +0000 (11:42 -0500)]
Fix issue in ProcControlAPI detach and terminate

10 years agoFixed a bug in modifying the heap symbols on FreeBSD.
Dan McNulty [Mon, 17 May 2010 17:22:38 +0000 (12:22 -0500)]
Fixed a bug in modifying the heap symbols on FreeBSD.

The updateSymbols function was being called when the strtab section was
encountered. In stripped binaries, this section doesn't exist. Moved
the update of dynamic symbols (in .dynsym) to better location.

Also, some build fixes from the previou merge.

10 years agoMerge branch 'master' into bsd
Daniel McNulty [Mon, 17 May 2010 15:15:53 +0000 (10:15 -0500)]
Merge branch 'master' into bsd

Conflicts:
symtabAPI/src/emitElf.C
testsuite/i386-unknown-linux2.4/tuples
testsuite/i386-unknown-nt4.0/tuples
testsuite/ia64-unknown-linux2.4/tuples
testsuite/ppc32_linux/tuples
testsuite/ppc64_linux/tuples
testsuite/rs6000-ibm-aix5.1/tuples
testsuite/sparc-sun-solaris2.8/tuples
testsuite/sparc-sun-solaris2.9/tuples
testsuite/x86_64-unknown-linux2.4/tuples

10 years agoMore work to port ProcControlAPI to FreeBSD.
Dan McNulty [Mon, 17 May 2010 14:58:16 +0000 (09:58 -0500)]
More work to port ProcControlAPI to FreeBSD.

Getting binary rewriter working on FreeBSD 7.2. This includes
creating platform specific directories for FreeBSD 7.2. Also includes
some bug fixes for bugs exposed by switching to FreeBSD 7.2.

10 years agoFinal fixes for StackwalkerAPI/SymtabAPI separation
Matthew Legendre [Fri, 14 May 2010 21:48:07 +0000 (16:48 -0500)]
Final fixes for StackwalkerAPI/SymtabAPI separation

10 years agoWindows fixes for SymtabAPI/StackwalkerAPI separation
legendre [Fri, 14 May 2010 21:46:06 +0000 (16:46 -0500)]
Windows fixes for SymtabAPI/StackwalkerAPI separation

10 years agoFixes for StackwalkerAPI on Linux/ppc32
Matthew Legendre [Fri, 14 May 2010 20:44:02 +0000 (15:44 -0500)]
Fixes for StackwalkerAPI on Linux/ppc32

10 years agoFurther work separating Stack walking from SymtabAPI
Matthew Legendre [Fri, 14 May 2010 16:59:21 +0000 (11:59 -0500)]
Further work separating Stack walking from SymtabAPI

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Wed, 12 May 2010 19:53:17 +0000 (14:53 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoContinue separating some DWARF parsing into StackwalkerAPI
Matthew Legendre [Wed, 12 May 2010 19:52:56 +0000 (14:52 -0500)]
Continue separating some DWARF parsing into StackwalkerAPI

10 years agoRefactoring some DWARF parsing to be accessible to StackwalkerAPI
Matthew Legendre [Wed, 12 May 2010 19:42:03 +0000 (14:42 -0500)]
Refactoring some DWARF parsing to be accessible to StackwalkerAPI

10 years agoRestrict proccontrol mutatees to gcc/g++ for now (and define this once and only once).
Bill Williams [Tue, 11 May 2010 21:20:13 +0000 (16:20 -0500)]
Restrict proccontrol mutatees to gcc/g++ for now (and define this once and only once).

10 years agoReplace g77 with gfortran.
Bill Williams [Tue, 11 May 2010 17:25:21 +0000 (12:25 -0500)]
Replace g77 with gfortran.

10 years agoFurther bugfix for REP/REPNZ. They weren't writing to ECX, or reading the zero flag...
Bill Williams [Mon, 10 May 2010 22:07:33 +0000 (17:07 -0500)]
Further bugfix for REP/REPNZ.  They weren't writing to ECX, or reading the zero flag in the REPNZ case.

10 years agoMigration from g77 to gfortran.
Bill Williams [Mon, 10 May 2010 18:25:02 +0000 (13:25 -0500)]
Migration from g77 to gfortran.

10 years agoDon't overwrite already-done setup in operation-level reads/writes.
Bill Williams [Mon, 10 May 2010 18:24:20 +0000 (13:24 -0500)]
Don't overwrite already-done setup in operation-level reads/writes.

10 years agoAdd missing ECX read to REP prefixed instructions
Bill Williams [Mon, 10 May 2010 18:23:56 +0000 (13:23 -0500)]
Add missing ECX read to REP prefixed instructions

10 years agoFixes for rewriter of static binaries.
Daniel McNulty [Mon, 10 May 2010 03:18:46 +0000 (22:18 -0500)]
Fixes for rewriter of static binaries.
Generated testsuite files for x86 and x86_64 to enable snip_* tests for static
binaries.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Sun, 9 May 2010 17:08:15 +0000 (12:08 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoVarious makefile fixes.
Ray Chen [Fri, 7 May 2010 21:47:01 +0000 (17:47 -0400)]
Various makefile fixes.

1) Fix small typo in main Makefile dependencies.
2) Fix parseThat Makefiles to avoid "same file" error messages on install.
3) Set Fortran compiler to gfortran for i386-unknown-linux platforms.

10 years agoRemove boost::assign from optimization so AIX builds.
Bill Williams [Fri, 7 May 2010 19:29:54 +0000 (14:29 -0500)]
Remove boost::assign from optimization so AIX builds.

10 years agoBug fixes for segment registers, 16-bit mod/rm prefixes.
Bill Williams [Fri, 7 May 2010 16:53:56 +0000 (11:53 -0500)]
Bug fixes for segment registers, 16-bit mod/rm prefixes.

10 years agoEnabling snip_* tests.
Daniel McNulty [Thu, 6 May 2010 21:48:45 +0000 (16:48 -0500)]
Enabling snip_* tests.

10 years agoSlight optimization: statically construct stack pointer/frame pointer/PC ASTs.
Bill Williams [Thu, 6 May 2010 19:42:29 +0000 (14:42 -0500)]
Slight optimization: statically construct stack pointer/frame pointer/PC ASTs.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Thu, 6 May 2010 18:00:03 +0000 (13:00 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoBug fix: safety check find() results before modifying mnemonic.
Bill Williams [Thu, 6 May 2010 16:02:30 +0000 (11:02 -0500)]
Bug fix: safety check find() results before modifying mnemonic.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Thu, 6 May 2010 14:22:27 +0000 (09:22 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoFix for a section alignment bug when using libelf.so.1. Despite the
Daniel McNulty [Wed, 5 May 2010 22:07:22 +0000 (17:07 -0500)]
Fix for a section alignment bug when using libelf.so.1. Despite the
standard specifically saying that a section with an alignment of 1
is a don't care, libelf.so.1 doesn't agree. The default alignment of
newly created Regions is now sizeof(unsigned) instead of 1.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Wed, 5 May 2010 19:51:06 +0000 (14:51 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoMove patching code to separate header file
Andrew Bernat [Wed, 5 May 2010 17:38:00 +0000 (12:38 -0500)]
Move patching code to separate header file

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
Andrew Bernat [Wed, 5 May 2010 17:31:01 +0000 (12:31 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

Conflicts:
symtabAPI/src/emitElf.C

10 years agoPPC libelf doesn't like calling elf_errno() once...
Bill Williams [Wed, 5 May 2010 16:58:00 +0000 (11:58 -0500)]
PPC libelf doesn't like calling elf_errno() once...

10 years agoFix compile error using errno
Andrew Bernat [Wed, 5 May 2010 16:57:34 +0000 (11:57 -0500)]
Fix compile error using errno

10 years agoFix memory rewriting to work with new IAPI parsing internals
Andrew Bernat [Wed, 5 May 2010 16:53:34 +0000 (11:53 -0500)]
Fix memory rewriting to work with new IAPI parsing internals

Conflicts:

dyninstAPI/src/arch-x86.C
dyninstAPI/src/arch-x86.h

10 years agoFix "isFallthrough" method.
Andrew Bernat [Wed, 5 May 2010 16:47:03 +0000 (11:47 -0500)]
Fix "isFallthrough" method.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Wed, 5 May 2010 16:09:14 +0000 (11:09 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

10 years agoAdd libelf error message to a handler for failed ELF updates.
Bill Williams [Wed, 5 May 2010 16:03:10 +0000 (11:03 -0500)]
Add libelf error message to a handler for failed ELF updates.

10 years agoBuild fixes for PPC/Linux.
Bill Williams [Wed, 5 May 2010 16:02:20 +0000 (11:02 -0500)]
Build fixes for PPC/Linux.

10 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Daniel McNulty [Wed, 5 May 2010 16:00:09 +0000 (11:00 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

Conflicts:
testsuite/ppc64_linux/test_info_new.gen.C
testsuite/ppc64_linux/tuples

10 years agoMore GCC 4.4.3 fixes.
Ray Chen [Tue, 4 May 2010 21:23:22 +0000 (17:23 -0400)]
More GCC 4.4.3 fixes.

10 years agoWindows fixes.
Bill Williams [Tue, 4 May 2010 20:51:14 +0000 (15:51 -0500)]
Windows fixes.

10 years agoWidnows testsuite build fixes.
Bill Williams [Tue, 4 May 2010 19:48:58 +0000 (14:48 -0500)]
Widnows testsuite build fixes.