aboutsummaryrefslogtreecommitdiffstats
path: root/sources/patchelf/README
diff options
context:
space:
mode:
Diffstat (limited to 'sources/patchelf/README')
-rw-r--r--sources/patchelf/README107
1 files changed, 107 insertions, 0 deletions
diff --git a/sources/patchelf/README b/sources/patchelf/README
new file mode 100644
index 000000000..1db25bc46
--- /dev/null
+++ b/sources/patchelf/README
@@ -0,0 +1,107 @@
+PatchELF is a 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-2009 Eelco Dolstra <e.dolstra@tudelft.nl>.
+
+
+LICENSE
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+HOMEPAGE
+
+http://nixos.org/patchelf.html
+
+
+BUGS
+
+The `strip' command from binutils generated broken executables when
+applied to the output of patchelf (if `--set-rpath' or
+`--set-interpreter' with a larger path than the original is used).
+This appears to be a bug in binutils
+(http://bugs.strategoxt.org/browse/NIXPKGS-85).
+
+
+RELEASE HISTORY
+
+0.6 (November 7, 2011):
+
+* Hacky support for executables created by the Gold linker.
+
+* Support segments with an alignment of 0 (contributed by Zack
+ Weinberg).
+
+* Added a manual page (contributed by Jeremy Sanders
+ <jeremy@jeremysanders.net>).
+
+0.5 (November 4, 2009):
+
+* Various bugfixes.
+
+* `--force-rpath' now deletes the DT_RUNPATH if it is present.
+
+0.4 (June 4, 2008):
+
+* Support for growing the RPATH on dynamic libraries.
+
+* IA-64 support (not tested) and related 64-bit fixes.
+
+* FreeBSD support.
+
+* `--set-rpath', `--shrink-rpath' and `--print-rpath' now prefer
+ DT_RUNPATH over DT_RPATH, which is obsolete. When updating, if both
+ are present, both are updated. If only DT_RPATH is present, it is
+ converted to DT_RUNPATH unless `--force-rpath' is specified. If
+ neither is present, a DT_RUNPATH is added unless `--force-rpath' is
+ specified, in which case a DT_RPATH is added.
+
+0.3 (May 24, 2007):
+
+* Support for 64-bit ELF binaries (such as on x86_64-linux).
+
+* Support for big-endian ELF binaries (such as on powerpc-linux).
+
+* Various bugfixes.
+
+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.
+