dyninst.git
10 years agoSupport for StackwalkerAPI on AIX
Matthew Legendre [Fri, 26 Feb 2010 19:33:24 +0000 (13:33 -0600)]
Support for StackwalkerAPI on AIX

10 years agoMerge branch 'linux_ppc'
Matthew Legendre [Tue, 2 Feb 2010 22:00:16 +0000 (16:00 -0600)]
Merge branch 'linux_ppc'

10 years agoFixes for StackwalkerAPI on Linux/PPC
Matthew Legendre [Tue, 2 Feb 2010 22:03:41 +0000 (16:03 -0600)]
Fixes for StackwalkerAPI on Linux/PPC

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Tue, 2 Feb 2010 21:42:47 +0000 (15:42 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoFix memory usage bug in SymtabAPI line information parsing
Matthew Legendre [Tue, 2 Feb 2010 17:44:34 +0000 (11:44 -0600)]
Fix memory usage bug in SymtabAPI line information parsing

10 years agoFix race condition in inferior malloc
Matthew Legendre [Fri, 29 Jan 2010 21:47:07 +0000 (15:47 -0600)]
Fix race condition in inferior malloc

10 years agoFix crash in LRUCache
Matthew Legendre [Wed, 27 Jan 2010 21:20:15 +0000 (15:20 -0600)]
Fix crash in LRUCache

10 years agoFix error returns for stackwalks on exited processes and threads.
Matthew Legendre [Tue, 26 Jan 2010 22:26:17 +0000 (16:26 -0600)]
Fix error returns for stackwalks on exited processes and threads.

10 years agoA stackwalking failure arises due to a bug in instrumentation removal. When we remov...
Kevin Roundy [Tue, 26 Jan 2010 17:57:38 +0000 (11:57 -0600)]
A stackwalking failure arises due to a bug in instrumentation removal.  When we remove instrumentation, we pass the instrumentation's baseTrampInstance to the multiTramp's deletedObjs list and replace the multiTramp with a new version that does not include the baseTramp.  In the process of replacing the multiTramp we were clearing the old multiTramp's deletedObjs list, which leads to stackwalking failures if the old multiTramp is still the call stack.  I fixed the problem by not clearing the deletedObjs list.

In the process of debugging I found that the multiTramp::updateCode function is just a public wrapper around the multiTramp::replaceMultiTramp, with a lot of dead code.  I've removed multiTramp::updateCode and made multiTramp::replaceMultiTramp public.

10 years agoFix signal handling stackwalking in the presence of libpthreads
Matthew Legendre [Tue, 26 Jan 2010 16:53:03 +0000 (10:53 -0600)]
Fix signal handling stackwalking in the presence of libpthreads

10 years agoFix problem with infinite looping in Stackwalking
Matthew Legendre [Tue, 26 Jan 2010 16:52:27 +0000 (10:52 -0600)]
Fix problem with infinite looping in Stackwalking

10 years agoFix segfault if we fail to parse location list for local variable
Matthew Legendre [Mon, 25 Jan 2010 19:40:17 +0000 (13:40 -0600)]
Fix segfault if we fail to parse location list for local variable

10 years agoFix segfault in dwarf stack frame parsing
Matthew Legendre [Mon, 25 Jan 2010 19:38:35 +0000 (13:38 -0600)]
Fix segfault in dwarf stack frame parsing

10 years agoPrint statement and warning cleanup
Matthew Legendre [Mon, 25 Jan 2010 19:38:10 +0000 (13:38 -0600)]
Print statement and warning cleanup

10 years agoClean up unneeded and expensive data structure in local variable collections
Matthew Legendre [Mon, 25 Jan 2010 19:35:54 +0000 (13:35 -0600)]
Clean up unneeded and expensive data structure in local variable collections

10 years agoFixes for lazy library parsing in SymtabAPI
Matthew Legendre [Mon, 25 Jan 2010 19:24:50 +0000 (13:24 -0600)]
Fixes for lazy library parsing in SymtabAPI

10 years agoFix issue with stopping already stopped processes in StackwalkerAPI
Matthew Legendre [Mon, 25 Jan 2010 19:20:51 +0000 (13:20 -0600)]
Fix issue with stopping already stopped processes in StackwalkerAPI

10 years agoTwo bugfixes:
Kevin Roundy [Thu, 21 Jan 2010 14:49:20 +0000 (08:49 -0600)]
Two bugfixes:
1.  Changes to existing instrumentation can cause multiTramps to be replaced, there was a bug in this replacement code.  When the multiTramp's trampEnd is replaced it should store a pointer to the new multiTramp but was instead storing a pointer to the old one.
2.  We cache stackwalks as an optimization, but we were failing to do this on Windows, where the stackwalk is triggered through dyn_thread objects instead of through the dyn_lwp.

10 years agoMerge branch 'ppc_test'
Matthew Legendre [Fri, 15 Jan 2010 03:51:47 +0000 (21:51 -0600)]
Merge branch 'ppc_test'

10 years agoAdd error checking for Symtab constructors
Matthew Legendre [Fri, 15 Jan 2010 03:55:15 +0000 (21:55 -0600)]
Add error checking for Symtab constructors

10 years agoPPC fixes for StackwalkerAPI
Matthew Legendre [Fri, 15 Jan 2010 02:44:20 +0000 (20:44 -0600)]
PPC fixes for StackwalkerAPI

10 years agoMerge branch 'ppc_test'
Matthew Legendre [Fri, 15 Jan 2010 02:41:15 +0000 (20:41 -0600)]
Merge branch 'ppc_test'

10 years agoFix SymtabAPI BlueGene issue when dealing with 0 pids (which happen on BG/L and BG/P)
Matthew Legendre [Fri, 15 Jan 2010 02:40:33 +0000 (20:40 -0600)]
Fix SymtabAPI BlueGene issue when dealing with 0 pids (which happen on BG/L and BG/P)

10 years agoFixes to stackwalking through signal handlers
Matthew Legendre [Fri, 15 Jan 2010 00:27:00 +0000 (18:27 -0600)]
Fixes to stackwalking through signal handlers

10 years agoSupport for parsing dwarf expressions when stackwalking
Matthew Legendre [Fri, 15 Jan 2010 00:25:17 +0000 (18:25 -0600)]
Support for parsing dwarf expressions when stackwalking

10 years agoCall dwarf_set_frame_cfa_value if present to keep DWARF stackwalking data correct.
Matthew Legendre [Fri, 15 Jan 2010 00:24:24 +0000 (18:24 -0600)]
Call dwarf_set_frame_cfa_value if present to keep DWARF stackwalking data correct.

10 years agoAdd callback interface to receive callbacks upon signals.
Matthew Legendre [Thu, 14 Jan 2010 16:00:57 +0000 (10:00 -0600)]
Add callback interface to receive callbacks upon signals.

10 years agoAdd getWalker to ProcessState object to return parent walker
Matthew Legendre [Thu, 14 Jan 2010 15:59:57 +0000 (09:59 -0600)]
Add getWalker to ProcessState object to return parent walker

10 years agoUpdate autoconf to check for 32-bit dev environment on 64-bit systems, and if not...
Bill Williams [Wed, 6 Jan 2010 00:12:19 +0000 (18:12 -0600)]
Update autoconf to check for 32-bit dev environment on 64-bit systems, and if not present, skip the 32-bit RTlib and test suite builds.

10 years agoCheck for libdwarf includes in both /usr/include and /usr/include/libdwarf if they...
Bill Williams [Tue, 5 Jan 2010 23:13:09 +0000 (17:13 -0600)]
Check for libdwarf includes in both /usr/include and /usr/include/libdwarf if they're not present.

10 years agoRemoved the eXX and rXX register IDs from publicly returned InstructionAPI insns...
Bill Williams [Mon, 4 Jan 2010 20:27:19 +0000 (14:27 -0600)]
Removed the eXX and rXX register IDs from publicly returned InstructionAPI insns--we can determine the size in the context of the decode, and should be specific.

10 years agoNew, improved .gitignore
Bill Williams [Fri, 18 Dec 2009 17:44:54 +0000 (11:44 -0600)]
New, improved .gitignore

10 years agoBuild fix: don't use non-standard hash extensions for GCC 4.3 and up.
Bill Williams [Tue, 8 Dec 2009 17:22:38 +0000 (11:22 -0600)]
Build fix: don't use non-standard hash extensions for GCC 4.3 and up.

10 years agoLogic error bigfix. Fixes a typo in the original SecurePLT commit.
Ray Chen [Tue, 5 Jan 2010 03:18:11 +0000 (22:18 -0500)]
Logic error bigfix.  Fixes a typo in the original SecurePLT commit.

modified:   symtabAPI/src/Symtab.C

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst Release6_1
Matthew Legendre [Fri, 4 Dec 2009 22:38:22 +0000 (16:38 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoFix issue where InstructionAPI tests would build with wrong boost version
Matthew Legendre [Fri, 4 Dec 2009 22:38:10 +0000 (16:38 -0600)]
Fix issue where InstructionAPI tests would build with wrong boost version

10 years agoSafety check for IA64: skip unaligned jump table entries.
Bill Williams [Fri, 4 Dec 2009 20:18:47 +0000 (14:18 -0600)]
Safety check for IA64: skip unaligned jump table entries.

10 years agoStackwalkerAPI build fix with gcc 4.4.2 compiler
Matthew Legendre [Fri, 4 Dec 2009 18:41:28 +0000 (12:41 -0600)]
StackwalkerAPI build fix with gcc 4.4.2 compiler

10 years agoDisable test_write_param on Solaris--feature is not working and not specified to...
Bill Williams [Fri, 4 Dec 2009 18:08:48 +0000 (12:08 -0600)]
Disable test_write_param on Solaris--feature is not working and not specified to work for 6.1.

10 years agoTestsuite fixes for line info test
Matthew Legendre [Fri, 4 Dec 2009 15:52:28 +0000 (09:52 -0600)]
Testsuite fixes for line info test
Fix windows test to not fault if DYNINST_ROOT is unset

10 years agoFix race condition crash in testsuite termination
Matthew Legendre [Fri, 4 Dec 2009 03:05:33 +0000 (21:05 -0600)]
Fix race condition crash in testsuite termination

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Fri, 4 Dec 2009 03:03:57 +0000 (21:03 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matt Legendre [Fri, 4 Dec 2009 03:03:35 +0000 (22:03 -0500)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoFix solaris crash in function call-site replacement
Matt Legendre [Fri, 4 Dec 2009 03:02:47 +0000 (22:02 -0500)]
Fix solaris crash in function call-site replacement

10 years agoFixed call to incorrect overload in register promotion
Bill Williams [Fri, 4 Dec 2009 00:46:35 +0000 (18:46 -0600)]
Fixed call to incorrect overload in register promotion

10 years agoCompletely disable SymtabAPI serialization
Matthew Legendre [Thu, 3 Dec 2009 21:55:54 +0000 (15:55 -0600)]
Completely disable SymtabAPI serialization

10 years agoFix buffer overflows in serialization code that were causing crashes
Matthew Legendre [Thu, 3 Dec 2009 21:52:54 +0000 (15:52 -0600)]
Fix buffer overflows in serialization code that were causing crashes

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Thu, 3 Dec 2009 00:56:07 +0000 (18:56 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Thu, 3 Dec 2009 00:55:46 +0000 (18:55 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoMerge branch 'windows'
Matthew Legendre [Thu, 3 Dec 2009 00:55:26 +0000 (18:55 -0600)]
Merge branch 'windows'

10 years agoFixes for Windows line information
legendre [Thu, 3 Dec 2009 01:29:39 +0000 (19:29 -0600)]
Fixes for Windows line information

10 years agoFix issue with overlapping instPoints, extra printfs when detecting uninstrumentable...
Matthew Legendre [Thu, 3 Dec 2009 00:55:01 +0000 (18:55 -0600)]
Fix issue with overlapping instPoints, extra printfs when detecting uninstrumentable functions

10 years agoFix problem with bad phdrs in libraries with libelf.so.0
Matthew Legendre [Thu, 3 Dec 2009 00:33:38 +0000 (18:33 -0600)]
Fix problem with bad phdrs in libraries with libelf.so.0

10 years agoBug fix for AMD64: RAX should always be set to the number of FP regs used for varargs.
Bill Williams [Wed, 2 Dec 2009 20:13:46 +0000 (14:13 -0600)]
Bug fix for AMD64: RAX should always be set to the number of FP regs used for varargs.
In the case of Dyninst-generated calls, this is always zero (snippets don't do FP).
We were not zeroing RAX in the rewriter case for within-module calls, leading to failures instrumenting libc with printf.
Fix: move the initialization to EmitterAMD64::emitCall, rather than duplicated in static and dynamic EmitCallInstruction code.

10 years agoBug fix for libc rewriting: treat all files we can ID as shared objects (filename...
Bill Williams [Wed, 2 Dec 2009 23:28:33 +0000 (17:28 -0600)]
Bug fix for libc rewriting: treat all files we can ID as shared objects (filename matches lib*.so*) as needing PIC code generation.
When rewriting system libraries, we may collide with other system libraries and thus load at an address other than our preferred load address.
If this happens:

* A non-PIC library will crash
* A PIC library will need to be instrumented with PIC code

Full resolution of this problem is beyond the scope of the 6.1 release.

10 years agoBuild fix.
Bill Williams [Wed, 2 Dec 2009 20:13:55 +0000 (14:13 -0600)]
Build fix.

10 years agoMerge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst into trunk
Bill Williams [Wed, 2 Dec 2009 17:51:09 +0000 (11:51 -0600)]
Merge branch 'master' of ssh://bill@git.dyninst.org/pub/dyninst into trunk

10 years agoUpdated instructionAPI docs for IAPI 1.1/Dyninst 6.1 release.
Bill Williams [Wed, 2 Dec 2009 17:50:27 +0000 (11:50 -0600)]
Updated instructionAPI docs for IAPI 1.1/Dyninst 6.1 release.
Changed parameter names in init/fini callbacks to be more descriptive and match manual.

10 years agoUpdated instructionAPI docs for IAPI 1.1/Dyninst 6.1 release.
Bill Williams [Wed, 2 Dec 2009 17:43:00 +0000 (11:43 -0600)]
Updated instructionAPI docs for IAPI 1.1/Dyninst 6.1 release.
Changed parameter names in init/fini callbacks to be more descriptive and match manual.

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Wed, 2 Dec 2009 15:38:37 +0000 (09:38 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agofix crash
James Waskiewicz [Wed, 2 Dec 2009 15:32:40 +0000 (10:32 -0500)]
fix crash

10 years agomissed a file...
James Waskiewicz [Wed, 2 Dec 2009 15:30:53 +0000 (10:30 -0500)]
missed a file...

10 years agoskip all deserialize tests (wisc nightlies do not have access to $HOME -- need a...
James Waskiewicz [Wed, 2 Dec 2009 15:21:28 +0000 (10:21 -0500)]
skip all deserialize tests (wisc nightlies do not have access to $HOME -- need a workaround)

10 years agoFix test1_14 failure on Windows
legendre [Tue, 1 Dec 2009 21:19:22 +0000 (15:19 -0600)]
Fix test1_14 failure on Windows

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Tue, 1 Dec 2009 20:58:59 +0000 (14:58 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Tue, 1 Dec 2009 20:16:06 +0000 (14:16 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoFixed problem where files with windows style carriage returns were truncated by LGPL...
legendre [Tue, 1 Dec 2009 19:31:54 +0000 (13:31 -0600)]
Fixed problem where files with windows style carriage returns were truncated by LGPL commit

10 years agosolaris build fix -- minor constness issue
James Waskiewicz [Tue, 1 Dec 2009 19:13:11 +0000 (14:13 -0500)]
solaris build fix -- minor constness issue

10 years agoDisable serialization tests
Matthew Legendre [Tue, 1 Dec 2009 18:04:12 +0000 (12:04 -0600)]
Disable serialization tests

10 years agoMerge branch 'master' of git.dyninst.org:/pub/dyninst
James Waskiewicz [Tue, 1 Dec 2009 16:38:23 +0000 (11:38 -0500)]
Merge branch 'master' of git.dyninst.org:/pub/dyninst

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Mon, 30 Nov 2009 22:17:10 +0000 (16:17 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoFix crash associated with reading debuglink files
Matthew Legendre [Mon, 30 Nov 2009 22:16:47 +0000 (16:16 -0600)]
Fix crash associated with reading debuglink files

10 years agoFork was not correctly handling replacedInstruction objects
Matthew Legendre [Mon, 30 Nov 2009 20:13:48 +0000 (14:13 -0600)]
Fork was not correctly handling replacedInstruction objects

10 years agoFix function call-site replacement to work with binary rewriter and new code optimiza...
Matthew Legendre [Mon, 30 Nov 2009 19:44:17 +0000 (13:44 -0600)]
Fix function call-site replacement to work with binary rewriter and new code optimizations

10 years agoLibrary path build fixes.
Ray Chen [Wed, 25 Nov 2009 13:02:22 +0000 (08:02 -0500)]
Library path build fixes.

Make make.library.tmpl play well with FIRST_LIBDIR environment variable by
including LIBDIR in build line.  This fixes build problems seen on some UMD
workstations.

10 years agoFix issue where recogize_threads was triggering a full parse
Matthew Legendre [Tue, 24 Nov 2009 23:34:26 +0000 (17:34 -0600)]
Fix issue where recogize_threads was triggering a full parse

10 years agoFix bug with unaligned floating point saves.
Matthew Legendre [Tue, 24 Nov 2009 23:03:47 +0000 (17:03 -0600)]
Fix bug with unaligned floating point saves.

10 years agoAdd BPatch_point::getCalledFunctionName for binary rewriting
Matthew Legendre [Tue, 24 Nov 2009 23:03:17 +0000 (17:03 -0600)]
Add BPatch_point::getCalledFunctionName for binary rewriting

10 years agoresolve default serialization cache names using platform specific directories to
James Waskiewicz [Tue, 24 Nov 2009 23:00:47 +0000 (18:00 -0500)]
resolve default serialization cache names using platform specific directories to
avoid cachename collisions when home directory is shared across platforms.

10 years agoBump Dyninst version to 6.1
Matthew Legendre [Tue, 24 Nov 2009 19:44:54 +0000 (13:44 -0600)]
Bump Dyninst version to 6.1

10 years agoChange asserts in dwarf parsing to error returns
Matthew Legendre [Tue, 24 Nov 2009 19:29:01 +0000 (13:29 -0600)]
Change asserts in dwarf parsing to error returns

10 years agoFix dynutil install location for headers
Matthew Legendre [Tue, 24 Nov 2009 00:04:33 +0000 (18:04 -0600)]
Fix dynutil install location for headers

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Mon, 23 Nov 2009 23:40:36 +0000 (17:40 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoUpdate copyright to LGPL on all files
Matthew Legendre [Mon, 23 Nov 2009 23:40:07 +0000 (17:40 -0600)]
Update copyright to LGPL on all files

10 years agoFixes to work around elfutils bug
Matthew Legendre [Mon, 23 Nov 2009 20:00:13 +0000 (14:00 -0600)]
Fixes to work around elfutils bug

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Mon, 23 Nov 2009 17:16:02 +0000 (11:16 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

10 years agoMerge branch 'scwork'
Matthew Legendre [Mon, 23 Nov 2009 17:14:01 +0000 (11:14 -0600)]
Merge branch 'scwork'

Conflicts:
symtabAPI/src/emitElf.C

10 years agoFix bug when getting newly created relocations
Matthew Legendre [Mon, 23 Nov 2009 17:11:39 +0000 (11:11 -0600)]
Fix bug when getting newly created relocations

10 years agoMerge branch 'master' of legendre@git.dyninst.org:/pub/dyninst
Matthew Legendre [Mon, 23 Nov 2009 17:05:30 +0000 (11:05 -0600)]
Merge branch 'master' of legendre@git.dyninst.org:/pub/dyninst

Conflicts:
symtabAPI/src/Object-elf.h

10 years ago32-bit support for previous rewriting fixes
Matthew LeGendre [Mon, 23 Nov 2009 17:02:37 +0000 (11:02 -0600)]
32-bit support for previous rewriting fixes

10 years agoAdd test_snip_remove to testsuite.
Madhavi Krishnan [Fri, 13 Nov 2009 19:32:57 +0000 (13:32 -0600)]
Add test_snip_remove to testsuite.

10 years agoAdded missing test source files.
Bill Williams [Fri, 13 Nov 2009 16:04:46 +0000 (10:04 -0600)]
Added missing test source files.

10 years agoFix for rewriting libraries that can load at non-fixed addresses.
Matthew Legendre [Fri, 13 Nov 2009 00:18:10 +0000 (18:18 -0600)]
Fix for rewriting libraries that can load at non-fixed addresses.

10 years agoBug fix for PLT stub removal (fixes bugs 1047, 1048).
Bill Williams [Thu, 12 Nov 2009 21:10:42 +0000 (15:10 -0600)]
Bug fix for PLT stub removal (fixes bugs 1047, 1048).

PLT tail calls should inherit the return status of their targets (assume returning unless on our blacklist).  However, since we don't have a function for PLT entries (we're now aborting parsing and thus deleting it), we need to check this case specifically for return status.

10 years agoBugfix for init/fini callback: when adding sections with empty functions, don't forge...
Bill Williams [Mon, 9 Nov 2009 23:06:25 +0000 (17:06 -0600)]
Bugfix for init/fini callback: when adding sections with empty functions, don't forget to balanced the stack.

10 years agoSegment register fix, build fix.
Bill Williams [Mon, 9 Nov 2009 17:52:20 +0000 (11:52 -0600)]
Segment register fix, build fix.

10 years agoFix for multiple PLT-entry symbol creation: clean up symtab if we're aborting parsing.
Bill Williams [Mon, 9 Nov 2009 17:52:02 +0000 (11:52 -0600)]
Fix for multiple PLT-entry symbol creation: clean up symtab if we're aborting parsing.
Fix for multiple PLT-entry symbol creation: don't include deleted syms in DynSymtab/Symtab sections.
Fix for function deletion: don't invalidate iterators mid-iteration, delete *all* matches.

10 years agoInitial lower bound/upper bound fix for gap parsing: adhere to section boundaries...
Bill Williams [Wed, 4 Nov 2009 16:01:04 +0000 (10:01 -0600)]
Initial lower bound/upper bound fix for gap parsing: adhere to section boundaries for first/final gaps.
Possible TODO: extend this to all gaps?

10 years agoInit/fini callback incremental commit: platform-specific code to linux.C, improvement...
Bill Williams [Wed, 4 Nov 2009 00:28:03 +0000 (18:28 -0600)]
Init/fini callback incremental commit: platform-specific code to linux.C, improvements to test for dynamic mode.
Still needs custom execution path in order to behave right in dynamic mode.

10 years agoBug fix: existence check and subsequent lookup should be off the same key.
Bill Williams [Wed, 4 Nov 2009 00:26:17 +0000 (18:26 -0600)]
Bug fix: existence check and subsequent lookup should be off the same key.