Home | Back
        *** Dyninst 7.0.1 Release Notes ***

This is the version 7.0.1 release of the DyninstAPI.  Currently, the
Dyninst API library is available for the x86/Linux, x86_64/Linux,
x86/WindowsXP/2000/2003, PowerPC/Linux, PowerPC64/Linux,
PowerPC/VxWorks, x86/VxWorks, x86/FreeBSD, x86_64/FreeBSD, and
BlueGene/P platforms.  BlueGene/P currently only supports static
binary rewriting; VxWorks, Windows, and PowerPC64/Linux currently do
not support static binary rewriting.

Changes since Dyninst 7.0

- Fixed bug with --prefix argument to configure.

Changes since Dyninst 6.1

- New ParseAPI component integrated into Dyninst
- Dyninst and component library names brought in line with
Linux standards.  Note that this means the Dyninst runtime library is
now best found as libdyninstAPI_RT.so, not libdyninstAPI_RT.so.1.
*Update your environment variables accordingly.*
- The deprecated BPatch_thread functions that moved to BPatch_process in Dyninst 5.x have been removed.  *Update your mutators accordingly.*
- Full integration with InstructionAPI on all platforms
- FreeBSD support
- VxWorks support
- BlueGene/P rewriter support
- PowerPC64/Linux stability improvements
- DynC add-on to allow construction of snippets in a C-based language released

Documentation for Dyninst and its components can be found at:

    http://www.paradyn.org/html/manuals.html

You should have received a copy of the Dyninst manual and all of the component manuals.  These .pdfs should be found in the doc/ directory.

The dyninst/testsuite/src/dyninst directory contains the source code
for programs that test the API functions.  These programs are useful
as examples of how to use the API.

If you have any problems or questions, feel free to email us at
bugs@dyninst.org.

Building the DyninstAPI from source
------------------------------------

Dyninst now uses autoconf to detect many of its essential
dependencies.  Accordingly, our build procedure is now simply:

cd dyninst
./configure
make

'configure --help' gives a list of configuration options.

Setting up the environment
--------------------------

To run DyninstAPI, DYNINSTAPI_RT_LIB should be set to the full
pathname of the file libdyninstAPI_RT.so (on Windows use
libdyninstAPI_RT.dll).  By default, this will be in a
platform-specific directory: dyninstAPI/PLATFORM/lib, where PLATFORM
is one of the following:

i386-unknown-linux2.4 Linux 2.6 on an Intel x86 processor
i386-unknown-nt4.0 Windows XP/2000/2003 on an Intel x86 processor
x86_64-unknown-linux2.4 Linux 2.6 on an AMD64 processor
ppc32_linux Linux 2.6 on a 32-bit PowerPC processor
ppc64_linux Linux 2.6 on a 64-bit PowerPC processor
amd64-unknown-freebsd7.2 FreeBSD on an AMD64 processor
i386-unknown-freebsd7.2 FreeBSD on an Intel x86 processor
ppc32_bgp BlueGene/P systems
ppc32-unknown-vxworks6.x VxWorks on a 32-bit PowerPC processor


On Unix-based systems, you will also need to add the
dyninstAPI/{PLATFORM}/lib directory to your LD_LIBRARY_PATH
environment variable (LIBPATH on AIX).  On Windows, you will instead
need to add dyninstAPI/i386-unknown-nt4.0/lib to your PATH environment
variable.  This is so that mutator applications can be linked
dynamically with the Dyninst library.

Notes on Using Dyninst with Linux
---------------------------------

On Linux, Dyninst requires some libraries that are not installed by
default in most distributions.  The first is libelf, which is included
with most distributions and can be installed using the distribution's
package manager.  The second is libdwarf.  You can get the latest
source code distribution of libdwarf from
http://reality.sgiweb.org/davea/.  RPM files for libdwarf are also
available from various sites.  Finally, to build Dyninst you need the libxml2 library, from
xmlsoft.org. libxml2 is not required to actually run Dyninst, although
SymtabAPI's xml output features will be disabled if it's not present.

Known Issues
------------

On x86-64 systems, we rely on lahf/sahf instructions being valid in
64-bit mode.  Almost all modern CPUs will support these instructions,
but some older 64-bit CPUs will not.  Dyninst should still work in
32-bit mode on these systems.


-----------------------------------------------------------------------------

This software is derived from the Paradyn system and therefore subject
to the same copyright.  A copy of the copyright is in the LICENSE file.

    The DyninstAPI Team
    March, 2011