Fixed problems related to loading libraries introduced by a previous commit.
authorDaniel McNulty <mcnulty@cs.wisc.edu>
Fri, 26 Feb 2010 17:41:24 +0000 (11:41 -0600)
committerDaniel McNulty <mcnulty@cs.wisc.edu>
Tue, 2 Mar 2010 21:03:33 +0000 (15:03 -0600)
commit5ef8cdcf2762231a79bb7ad98bf5f3f0b812c6d0
treeeafc768e03ff2c065bc8651fa8d8ee4f6b236dda
parent96dac6b53b8faa9e33f51303467c3ad179440ae2
Fixed problems related to loading libraries introduced by a previous commit.

1) On platforms that do not support the binary rewriter, opening a binary with
BPatch_binaryEdit would fail because openResolvedLibraryName was not
implemented for these platforms. A generic version of openResolvedLibraryName
was implemented on these platforms. openResolvedLibraryName is now used to open
the RT library because it can be a collection of BinaryEdits in the static
binary case. Previously, the RT library was opened with openFile.

2) Prior to this commit, in order to work with a static binary via
BPatch_binaryEdit the DYNINSTAPI_RT_LIB environment variable needed to point
to the .a version of the RT lib. This inhibits a user from working with a
dynamic binary and a static binary at the same time. Now, the
DYNINSTAPI_RT_LIB variable is used to find the directory that holds both
versions of the RT library. The correct version is chosen depending on the
type of binary opened via BPatch_binaryEdit.
14 files changed:
dyninstAPI/src/binaryEdit.C
dyninstAPI/src/linux-ia64.C
dyninstAPI/src/linux-power.C
dyninstAPI/src/linux-x86.C
dyninstAPI/src/linux.C
dyninstAPI/src/solaris.C
dyninstAPI/src/symtab.C
dyninstAPI/src/symtab.h
dyninstAPI/src/unix.C
dyninstAPI_RT/ia64-unknown-linux2.4/Makefile
dyninstAPI_RT/ppc32_linux/Makefile
dyninstAPI_RT/ppc64_linux/Makefile
dyninstAPI_RT/sparc-sun-solaris2.9/Makefile
symtabAPI/src/Object.C