diff options
Diffstat (limited to 'sources/patchelf/README')
-rw-r--r-- | sources/patchelf/README | 107 |
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. + |