*** Dyninst 6.1 Release Notes ***
This is the version 6.1 release of the DyninstAPI. Currently, the Dyninst API library is available for the x86/Linux, x86_64/Linux, x86/WindowsXP/2000/2003, ia64/Linux, PowerPC/Linux, PowerPC64/Linux, Sparc/Solaris, PowerPC/AIX, and PowerPC64/AIX. Changes since Dyninst 6.0 - Major performance improvements in Dyninst generated instrumentation code - Binary rewriter support for shared libraries - Improvements to code parsing with stripped binaries - Full integration with InstructionAPI on x86-based platforms - Assorted bug fixes Documentation for the DyninstAPI can be found at: http://www.paradyn.org/ 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. About the static binary rewriter -------------------------------- Dyninst 6.1 includes support for static binary rewriting. Static binary rewriting is currenly available only on x86/Linux and x86_64/Linux platforms. See the _DyninstAPI Programmer's Guide_ for details. 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.1 (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 ia64-unknown-linux2.4 Linux 2.6 on an Intel IA64 processor rs6000-ibm-aix5.1 AIX 5.1 on a 32-bit POWER processor rs6000-ibm-aix64-5.2 AIX 5.1 on a 64-bit POWER processor sparc-sun-solaris2.9 Solaris 2.9 on a SPARC 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 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. For IA-64, libunwind must be installed, which can be found at http://www.hpl.hp.com/research/linux/libunwind/. Finally, to build Dyninst you need the libxml2 library, xmlsoft.org. libxml2 is not required to actually run Dyninst, although SymtabAPI's xml output features will be disabled if it's not present. ----------------------------------------------------------------------------- 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 Dec 7, 2009 |