Go to file
Eelco Dolstra b4327141f7 * 0.1 release branch. 2005-10-11 13:19:36 +00:00
src * `--interpreter' -> `--set-interpreter'. 2005-10-11 13:05:08 +00:00
tests * `--interpreter' -> `--set-interpreter'. 2005-10-11 13:05:08 +00:00
BUGS * Document other people's bugs ;-) 2005-09-29 08:59:45 +00:00
COPYING * Add a README and a license. 2005-10-11 13:03:30 +00:00
Makefile.am * Add a README and a license. 2005-10-11 13:03:30 +00:00
README * `--interpreter' -> `--set-interpreter'. 2005-10-11 13:05:08 +00:00
bootstrap.sh * Autoconfiscate patchelf. 2004-09-24 22:05:46 +00:00
configure.ac * Use a real programming language. 2005-09-30 09:50:51 +00:00

README

PatchELF is simple utility for modifing existing ELF executables and
libraries.  In particular, it can do the following:

* Change the dynamic loader ("ELF interpreter") of executables:

  $ patchelf --set-interpreter /lib/my-ld-linux.so.2 my-program

* Change the RPATH of executables and libraries:

  $ patchelf --set-rpath /opt/my-libs/lib:/other-libs my-program

* Shrink the RPATH of executables and libraries:

  $ patchelf --shrink-rpath /opt/my-libs/lib:/other-libs my-program

  This removes from the RPATH all directories that do not contain a
  library referenced by DT_NEEDED fields of the executable or library.
  For instance, if an executable references one library libfoo.so, has
  an RPATH "/lib:/usr/lib:/foo/lib", and libfoo.so can only be found
  in /foo/lib, then the new RPATH will be "/foo/lib".


AUTHOR

Copyright 2004, 2005, Eelco Dolstra <eelco@cs.uu.nl>.  See COPYING for
the license.


HOMEPAGE

http://nix.cs.uu.nl/


BUGS

Currently setting the RPATH on libraries ("--set-rpath") will usually
fail if the new RPATH is longer then the old RPATH.