This is the version 3.0 release of the Dyninst API. Currently, the API library is available for the MIPS/Irix, POWER/AIX, Sparc/Solaris, x86/Linux, and x86/Windows NT. Documentation for the API can be found at: http://www.dyninst.org/ The core/dyninstAPI/tests directory contains the source code for programs that test the API functions. These programs are useful as examples of how to use the API. See the README file in that directory for how to run or rebuild them. Setting up the environment -------------------------- Before compiling or using the Dyninst API library, you should set the environment variables PLATFORM and DYNINST_ROOT. PLATFORM should be set to one of the following values depending upon what operating system you are running on: i386-unknown-linux2.2 Linux 2.2 on an Intel x86 processor i386-unknown-nt4.0 Windows NT on an Intel x86 processor mips-sgi-irix6.5 Irix 6.5 rs6000-ibm-aix4.2 AIX Version 4.2 sparc-sun-solaris2.7 Solaris 2.7 on a SPARC processor DYNINST_ROOT should be set to the pathname of the top of the library directory tree (dyninstAPI-3.0). DYNINSTAPI_RT_LIB should be set to the full pathname of the file libdyninstAPI_RT.so.1 (on Windows NT, libdyninstAPI_RT.dll). If you have correctly set the DYNINST_ROOT and PLATFORM environment variables, then the proper pathname is: $DYNINST_ROOT/lib/$PLATFORM/libdyninstAPI_RT.so.1 On Windows NT, you may instead simply put the directory %DYNINST_ROOT%/lib/%PLATFORM% in your path. On Unix-based systems, you will also need to add $DYNINST_ROOT/lib/$PLATFORM to your LD_LIBRARY_PATH environment variable (LD_LIBRARY64_PATH on Irix). On Windows NT, you will instead need to add %DYNINST_ROOT%/lib/%PLATFORM% to your PATH environment variable. This is so that mutator applications can be linked dynamically with the Dyninst library. Building the Dyninst API from source ------------------------------------ If you downloaded the source distribution of this package, you can build the Dyninst API libraries by running "make" in the core directory (one level up from where this README file is located), assuming your environment is set up as described above. On Unix platforms, you must use GNU make. The top-level makefile contains directives for compiling the Paradyn parallel performance tool, from which the Dyninst API was derived. If you have downloaded only the Dyninst API, you will see a number of messages about missing directories. These directories are needed only for making Paradyn, so you should ignore these messages. If you downloaded the entire Paradyn distribution, you can make only the API libraries by running "make dynInstAPI" in the core directory. ----------------------------------------------------------------------------- This software is derived from the Paradyn system and therefore subject to the same copyright. A copy of the Paradyn copyright appears at the end of this file. The Dyninst API team 11/21/2001 ----------------------- Start of Paradyn Copyright -------------------------- Copyright (c) 1996 Barton P. Miller We provide the Paradyn Parallel Performance Tools (below described as Paradyn") on an AS IS basis, and do not warrant its validity or performance. We reserve the right to update, modify, or discontinue this software at any time. We shall have no obligation to supply such updates or modifications or any other form of support to you. This license is for research uses. For such uses, there is no charge. We define "research use" to mean you may freely use it inside your organization for whatever purposes you see fit. But you may not re-distribute Paradyn or parts of Paradyn, in any form source or binary (including derivatives), electronic or otherwise, to any other organization or entity without our permission. (for other uses, please contact us at paradyn@cs.wisc.edu) All warranties, including without limitation, any warranty of merchantability or fitness for a particular purpose, are hereby excluded. By your use of Paradyn, you understand and agree that we (or any other person or entity with proprietary rights in Paradyn) are under no obligation to provide either maintenance services, update services, notices of latent defects, or correction of defects for Paradyn. Even if advised of the possibility of such damages, under no circumstances shall we (or any other person or entity with proprietary rights in the software licensed hereunder) be liable to you or any third party for direct, indirect, or consequential damages of any character regardless of type of action, including, without limitation, loss of profits, loss of use, loss of good will, or computer failure or malfunction. You agree to indemnify us (and any other person or entity with proprietary rights in the software licensed hereunder) for any and all liability it may incur to third parties resulting from your use of Paradyn.