blob: 7e661153a6508ca885f5dbffdfdcf720eb386e10 [file] [log] [blame]
Alexander Shaposhnikov85ea2de2019-06-07 22:03:02 +00001llvm-lipo - LLVM tool for manipulating universal binaries
2=========================================================
3
James Hendersona0566842019-06-27 13:24:46 +00004.. program:: llvm-lipo
5
Alexander Shaposhnikov85ea2de2019-06-07 22:03:02 +00006SYNOPSIS
7--------
8
9:program:`llvm-lipo` [*filenames...*] [*options*]
10
11DESCRIPTION
12-----------
13:program:`llvm-lipo` can create universal binaries from Mach-O files, extract regular object files from universal binaries, and display architecture information about both universal and regular files.
14
15COMMANDS
16--------
17:program:`llvm-lipo` supports the following mutually exclusive commands:
18
19.. option:: -help, -h
20
Anusha Basanaa87f8562019-08-07 23:25:12 +000021 Display usage information and exit.
Alexander Shaposhnikov85ea2de2019-06-07 22:03:02 +000022
23.. option:: -version
24
Anusha Basanaa87f8562019-08-07 23:25:12 +000025 Display the version of this program.
Alexander Shaposhnikov85ea2de2019-06-07 22:03:02 +000026
27.. option:: -verify_arch <architecture 1> [<architecture 2> ...]
28
Anusha Basanaa87f8562019-08-07 23:25:12 +000029 Take a single input file and verify the specified architectures are present in the file.
Alexander Shaposhnikov85ea2de2019-06-07 22:03:02 +000030 If so then exit with a status of 0 else exit with a status of 1.
31
Shoaib Meenai8f4973f2019-06-12 17:37:01 +000032.. option:: -archs
33
34 Take a single input file and display the architectures present in the file.
35 Each architecture is separated by a single whitespace.
36 Unknown architectures are displayed as unknown(CPUtype,CPUsubtype).
37
Anusha Basanaa87f8562019-08-07 23:25:12 +000038.. option:: -info
39
40 Take at least one input file and display the descriptions of each file.
41 The descriptions include the filename and architecture types separated by whitespace.
42 Universal binaries are grouped together first, followed by thin files.
43 Architectures in the fat file: <filename> are: <architectures>
44 Non-fat file: <filename> is architecture: <architecture>
45
46.. option:: -thin
47
48 Take a single universal binary input file and the thin flag followed by an architecture type.
49 Require the output flag to be specified, and output a thin binary of the specified architecture.
50
51.. option:: -create
52
53 Take at least one input file and require the output flag to be specified.
54 Output a universal binary combining the input files.
55
56.. option:: -replace
57
58 Take a single universal binary input file and require the output flag to be specified.
59 The replace flag is followed by an architecture type, and a thin input file.
60 Output a universal binary with the specified architecture slice in the
61 universal binary input replaced with the contents of the thin input file.
62
63.. option:: -segalign
64
65 Additional flag that can be specified with create and replace.
66 The segalign flag is followed by an architecture type, and an alignment.
67 The alignment is a hexadecimal number that is a power of 2.
68 Output a file in which the slice with the specified architecture has the specified alignment.
69
Alexander Shaposhnikov85ea2de2019-06-07 22:03:02 +000070BUGS
71----
72
73To report bugs, please visit <http://llvm.org/bugs/>.