summaryrefslogtreecommitdiffstats
path: root/README
blob: a54dbc6c03b2f9594d1bdd6777b3ed0591e72310 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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 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/patchelf


BUGS

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


RELEASE HISTORY

0.3 (TBD):

* Support for 64-bit ELF binaries.

* Support for big-endian binaries (such as on powerpc-linux).

0.2 (January 15, 2007):

* Provides a hack to get certain programs (such as the
  Belastingaangifte 2005) to work.

0.1 (October 11, 2005):

* Initial release.