summaryrefslogtreecommitdiff
path: root/patchelf.1
diff options
context:
space:
mode:
authorFelipe Sateler <fsateler@debian.org>2020-08-29 12:03:40 -0400
committerFelipe Sateler <fsateler@debian.org>2020-08-29 12:03:40 -0400
commit77491da34a860663eb38626910aa8913aa9d3c9c (patch)
tree14a0243a4845e0305bab8e40480787043ecdde94 /patchelf.1
Import patchelf_0.12.orig.tar.gz
[dgit import orig patchelf_0.12.orig.tar.gz]
Diffstat (limited to 'patchelf.1')
-rw-r--r--patchelf.1102
1 files changed, 102 insertions, 0 deletions
diff --git a/patchelf.1 b/patchelf.1
new file mode 100644
index 0000000..8c998ad
--- /dev/null
+++ b/patchelf.1
@@ -0,0 +1,102 @@
+.\" Process this file with
+.\" groff -man -Tascii foo.1
+.\"
+.TH PATCHELF 1 "JUNE 2010" PATCHELF "User Manuals"
+.SH NAME
+patchelf - Modify ELF files
+
+.SH SYNOPSIS
+.B patchelf
+.I OPTION
+.B
+.I FILE
+.SM ...
+.B
+
+.SH DESCRIPTION
+
+PatchELF is a simple utility for modifying existing ELF executables
+and libraries. It can change the dynamic loader ("ELF interpreter")
+of executables and change the RPATH of executables and libraries.
+
+.SH OPTIONS
+
+The single option given operates on each FILE, editing in place.
+
+.IP "--page-size SIZE"
+Uses the given page size instead of the default.
+
+.IP "--set-interpreter INTERPRETER"
+Change the dynamic loader ("ELF interpreter") of executable given to
+INTERPRETER.
+
+.IP --print-interpreter
+Prints the ELF interpreter of the executable.
+
+.IP --print-soname
+Prints DT_SONAME entry of .dynamic section.
+Raises an error if DT_SONAME doesn't exist.
+
+.IP "--set-soname SONAME"
+Sets DT_SONAME entry of a library to SONAME.
+
+.IP "--set-rpath RPATH"
+Change the RPATH of the executable or library to RPATH.
+
+.IP --remove-rpath
+Removes the DT_RPATH or DT_RUNPATH entry of the executable or library.
+
+.IP --shrink-rpath
+Remove 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".
+
+.IP "--allowed-rpath-prefixes PREFIXES"
+Combined with the "--shrink-rpath" option, this can be used for
+further rpath tuning. For instance, if an executable has an RPATH
+"/tmp/build-foo/.libs:/foo/lib", it is probably desirable to keep
+the "/foo/lib" reference instead of the "/tmp" entry.
+
+.IP --print-rpath
+Prints the RPATH for an executable or library.
+
+.IP --force-rpath
+Forces the use of the obsolete DT_RPATH in the file instead of
+DT_RUNPATH. By default DT_RPATH is converted to DT_RUNPATH.
+
+.IP "--add-needed LIBRARY"
+Adds a declared dependency on a dynamic library (DT_NEEDED).
+This option can be give multiple times.
+
+.IP "--replace-needed LIB_ORIG LIB_NEW"
+Replaces a declared dependency on a dynamic library with another one (DT_NEEDED).
+This option can be give multiple times.
+
+.IP "--remove-needed LIBRARY"
+Removes a declared dependency on LIBRARY (DT_NEEDED entry). This
+option can be given multiple times.
+
+.IP "--no-default-lib"
+Marks the object that the search for dependencies of this object will ignore any
+default library search paths.
+
+.IP "--output FILE"
+Set the output file name. If not specified, the input will be modified in place.
+
+.IP --debug
+Prints details of the changes made to the input file.
+
+.IP --version
+Shows the version of patchelf.
+
+.SH AUTHOR
+Eelco Dolstra <e.dolstra@tudelft.nl>
+
+.SH "SEE ALSO"
+.BR elf (5),
+.BR ld.so (8)
+
+