summaryrefslogtreecommitdiffstats
path: root/patchelf.1
blob: 48652568ec62bfdbfec916901f3d45adde6bc3f0 (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
57
58
59
60
61
62
63
.\" 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
.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 a given FILE, editing in place.

.IP "--set-interpreter INTERPRETER"
Change the dynamic loader ("ELF interpreter") of executable given to
INTERPRETER.

.IP --print-intepreter
Prints the ELF interpreter of the executable.

.IP "--set-rpath RPATH"
Change the RPATH of the executable or library to RPATH.

.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 --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 --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)