Alexander Shaposhnikov | 85ea2de | 2019-06-07 22:03:02 +0000 | [diff] [blame] | 1 | llvm-lipo - LLVM tool for manipulating universal binaries |
| 2 | ========================================================= |
| 3 | |
James Henderson | a056684 | 2019-06-27 13:24:46 +0000 | [diff] [blame] | 4 | .. program:: llvm-lipo |
| 5 | |
Alexander Shaposhnikov | 85ea2de | 2019-06-07 22:03:02 +0000 | [diff] [blame] | 6 | SYNOPSIS |
| 7 | -------- |
| 8 | |
| 9 | :program:`llvm-lipo` [*filenames...*] [*options*] |
| 10 | |
| 11 | DESCRIPTION |
| 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 | |
| 15 | COMMANDS |
| 16 | -------- |
| 17 | :program:`llvm-lipo` supports the following mutually exclusive commands: |
| 18 | |
| 19 | .. option:: -help, -h |
| 20 | |
Anusha Basana | a87f856 | 2019-08-07 23:25:12 +0000 | [diff] [blame] | 21 | Display usage information and exit. |
Alexander Shaposhnikov | 85ea2de | 2019-06-07 22:03:02 +0000 | [diff] [blame] | 22 | |
| 23 | .. option:: -version |
| 24 | |
Anusha Basana | a87f856 | 2019-08-07 23:25:12 +0000 | [diff] [blame] | 25 | Display the version of this program. |
Alexander Shaposhnikov | 85ea2de | 2019-06-07 22:03:02 +0000 | [diff] [blame] | 26 | |
| 27 | .. option:: -verify_arch <architecture 1> [<architecture 2> ...] |
| 28 | |
Anusha Basana | a87f856 | 2019-08-07 23:25:12 +0000 | [diff] [blame] | 29 | Take a single input file and verify the specified architectures are present in the file. |
Alexander Shaposhnikov | 85ea2de | 2019-06-07 22:03:02 +0000 | [diff] [blame] | 30 | If so then exit with a status of 0 else exit with a status of 1. |
| 31 | |
Shoaib Meenai | 8f4973f | 2019-06-12 17:37:01 +0000 | [diff] [blame] | 32 | .. 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 Basana | a87f856 | 2019-08-07 23:25:12 +0000 | [diff] [blame] | 38 | .. 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 Shaposhnikov | 85ea2de | 2019-06-07 22:03:02 +0000 | [diff] [blame] | 70 | BUGS |
| 71 | ---- |
| 72 | |
| 73 | To report bugs, please visit <http://llvm.org/bugs/>. |