OVERVIEW: LLVM Linker
USAGE: /usr/bin/ld64.lld [options] file...
ADDITIONAL CONTENT:
-add_empty_section <segment> <section>
Create an empty <section> in <segment>
-filelist <file> Read names of files to link from <file>
-sectcreate <segment> <section> <file>
Create <section> in <segment> from the contents of <file>
-segcreate <segment> <section> <file>
Alias for -sectcreate
CREATING A BUNDLE:
-bundle_loader <executable>
Resolve undefined symbols from <executable>
DYNAMIC LIBRARIES (DYLIB):
-compatibility_version <version>
Compatibility <version> of this library
-current_version <version>
Current <version> of this library
-dylib_install_name <name>
Alias for -install_name
-dylinker_install_name <name>
Alias for -install_name
-install_name <name> Set an internal install path in a dylib
-mark_dead_strippable_dylib
Mark output dylib as dead-strippable: When a client links against it but does not use any of its symbols, the dylib will not be added to the client's list of needed dylibs
INTROSPECTING THE LINKER:
-dependency_info <path> Dump dependency info
-map <path> Writes all symbols and their addresses to <path>
-save-temps Save intermediate LTO compilation results
-t Log every file the linker loads: object, archive, and dylib
-why_live <symbol> Log a chain of references to <symbol>, for use with -dead_strip
-why_load Log why each object file is loaded from a static library
-whyload Alias for -why_load
LIBRARIES:
-all_load Load all members of all static archive libraries
-force_load_swift_libs Apply -force_load to libraries listed in LC_LINKER_OPTIONS whose names start with 'swift'
-force_load <path> Load all members static archive library at <path>
-framework <name> Search for <name>.framework/<name> on the framework search path
-F <dir> Add dir to the framework search path
-hidden-l<name> Like -l<name>, but load all symbols with hidden visibility
-load_hidden <path> Load all symbols from static library with hidden visibility
-L <dir> Add dir to the library search path
-l<name> Search for lib<name>.dylib or lib<name>.a on the library search path
-needed-l<name> Like -l<name>, but link library even if its symbols are not used and -dead_strip_dylibs is active
-needed_framework <name>
Like -framework <name>, but link <name> even if none of its symbols are used and -dead_strip_dylibs is active
-needed_library <path> Like bare <path>, but link library even if its symbols are not used and -dead_strip_dylibs is active
-noall_load Don't load all static members from archives, this is the default, this negates -all_load
-ObjC Load all members of static archives that are an Objective-C class or category.
-reexport-l<name> Like -l<name>, but export all symbols of <name> from newly created library
-reexport_framework <name>
Like -framework <name>, but export all symbols of <name> from the newly created library
-reexport_library <path>
Like bare <path>, but export all symbols of <path> from newly created library
-search_dylibs_first Search for lib<name>.dylib on first pass, then for lib<name>.a on second pass through search path (default for Xcode 3 and earlier)
-search_paths_first Search for lib<name>.dylib and lib<name>.a at each step in traversing search path (default for Xcode 4 and later)
-syslibroot <rootdir> Prepend <rootdir> to all library and framework search paths
-weak-l<name> Like -l<name>, but mark library and its references as weak imports
-weak_framework <name> Like -framework <name>, but mark framework and its references as weak imports
-weak_library <path> Like bare <path>, but mark library and its references as weak imports
-Z Remove standard directories from the library and framework search paths
LLD-SPECIFIC:
--bp-compression-sort-startup-functions
Order startup functions to improve compressed size in addition to startup time
--bp-compression-sort=[none,function,data,both]
Order sections to improve compressed size
--bp-startup-sort=[none,function]
Order sections based on profile data to improve startup time
--call-graph-profile-sort
Reorder sections with call graph profile (default)
--check-category-conflicts
Check for conflicts between category & class methods
--codegen-data-generate-path=<cgdata>
Write the CG data to the specified path <cgdata>.
--color-diagnostics=[auto,always,never]
Use colors in diagnostics (default: auto)
--color-diagnostics Alias for --color-diagnostics=always
--compression-sort-startup-functions
Deprecated. Please use --bp-compression-sort-startup-functions
--compression-sort=[none,function,data,both]
Deprecated. Please use --bp-compression-sort=
--cs-profile-generate Perform context sensitive PGO instrumentation
--cs-profile-path=<value>
Context sensitive profile file path
--dead-strip-duplicates Do not error on duplicate symbols that will be dead stripped.
--deduplicate-strings Enable string deduplication
--disable_verify Do not verify LLVM modules during LTO
--error-limit=<value> Maximum number of errors to print before exiting (default: 20)
--help-hidden Display help for hidden options
--icf=[none,safe,safe_thunks,all]
Set level for identical code folding (default: none). Possible values:
none - Disable ICF
safe - Only folds non-address significant functions (as described by `__addrsig` section)
safe_thunks - Like safe, but replaces address-significant functions with thunks
all - Fold all identical functions
--ignore-auto-link-option=<value>
Ignore a single auto-linked library or framework. Useful to ignore invalid options that ld64 ignores
--irpgo-profile-sort=<profile>
Deprecated. Please use --irpgo-profile and --bp-startup-sort=function
--irpgo-profile=<profile>
Read the IRPGO <profile> for use with --bp-startup-sort and other profile-guided optimizations
--keep-icf-stabs<value> Generate STABS entries for symbols folded by ICF. These entries can then be used by dsymutil to discover the address range where folded symbols are located.
--load-pass-plugin=<value>
Load passes from plugin library
--lto-CGO<cgopt-level> Set codegen optimization level for LTO (default: 2)
--lto-debug-pass-manager
Debug new pass manager
--lto-newpm-passes=<value>
Passes to run during LTO
--lto-O<opt-level> Set optimization level for LTO (default: 2)
--no-bp-compression-sort-startup-functions
Do not order startup function for compression
--no-call-graph-profile-sort
Do not reorder sections with call graph profile
--no-color-diagnostics Alias for --color-diagnostics=never
--no-compression-sort-startup-functions
Deprecated. Please use --no-bp-compression-sort-startup-functions
--no-deduplicate-strings
Disable string deduplication. This helps uncover cases of comparing string addresses instead of equality and might have a link time performance benefit.
--no-pgo-warn-mismatch turn off warnings about profile cfg mismatch
--no-warn-duplicate-rpath
Do not warn if the same -rpath is specified multiple times
--no-warn-dylib-install-name
Do not warn on -install_name if -dylib is not passed (default)
--no-warn-thin-archive-missing-members
Do not warn on missing object files referenced by thin archives
-no_objc_category_merging
Do not merge Objective-C categories
-objc_category_merging Merge Objective-C categories that share the same base class
--pgo-warn-mismatch turn on warnings about profile cfg mismatch (default)
--print-dylib-search Print which paths lld searched when trying to find dylibs
--print-symbol-order=<value>
Print a symbol order specified by --call-graph-profile-sort into the specified file
--reproduce=<value> Write tar file containing inputs and command to reproduce link
--strict-auto-link Always warn for missing frameworks or libraries if they are loaded via LC_LINKER_OPTIONS
--thinlto-cache-policy=<value>
Pruning policy for the ThinLTO cache
--thinlto-jobs=<value> Number of ThinLTO jobs. Default to --threads=
--threads=<value> Number of threads. '1' disables multi-threading. By default all available hardware threads are used
--time-trace-granularity=<value>
Minimum time granularity (in microseconds) traced by time profiler
--time-trace=<file> Record time trace to <file>
--time-trace Record time trace to file next to output
--verbose-bp-section-orderer
Print information on how many sections were ordered by balanced partitioning and a measure of the expected number of page faults
--version Display the version number and exit
--warn-duplicate-rpath Warn if the same -rpath is specified multiple times (default)
--warn-dylib-install-name
Warn on -install_name if -dylib is not passed
--warn-thin-archive-missing-members
Warn on missing object files referenced by thin archives (default)
MAIN EXECUTABLE:
-export_dynamic Preserve all global symbols during LTO and when dead-stripping executables
-no_pie Do not build a position independent executable
-pagezero_size <size> Size of unreadable segment at address zero is hex <size> (default is 4KB on 32-bit and 4GB on 64-bit)
-pie Build a position independent executable (default)
OBSOLETE:
-lto_library <path> Obsolete. LLD supports LTO directly, without using an external dylib.
-sectorder <segname> <sectname> <orderfile>
Obsolete. Replaced by more general -order_file option
OPTIMIZATIONS:
-dead_strip Remove unreachable functions and data
-interposable Indirects access to all exported symbols in an image
-no_deduplicate Disable code deduplication (synonym for `--icf=none')
-no_implicit_dylibs Do not optimize public dylib transitive symbol references
-order_file <file> Layout functions and data according to specification in <file>
OPTIONS:
-demangle Demangle symbol names in diagnostics
--end-lib End a grouping of objects that should be treated as if they were together in an archive
-O <value> Optimize output file size
--start-lib Start a grouping of objects that should be treated as if they were together in an archive
OUTPUT KIND:
-arch <arch_name> The architecture (e.g. ppc, ppc64, i386, x86_64)
-bundle Produce a bundle
-dylib Produce a shared library
-dynamic Link dynamically (default)
-execute Produce a main executable (default)
-o <path> The name of the output file (default: `a.out')
RARELY USED:
-adhoc_codesign Write an ad-hoc code signature to the output file (default for arm64 binaries)
-allowable_client <name>
Specify <name> of a dylib, framework, or executable that is allowed to link to this dylib
-application_extension Mark output as safe for use in an application extension, and validate that linked dylibs are safe
-arch_errors_fatal Escalate to errors any warnings about inputs whose architecture does not match the -arch option
-arch_multiple Augment error and warning messages with the architecture name
-cache_path_lto <path> Use <path> as a directory for the incremental LTO cache
-client_name <name> Specifies a <name> this client should match with the -allowable_client <name> in an explicitly linked dylib
-data_const Force migration of readonly data into __DATA_CONST segment
-dead_strip_dylibs Remove dylibs that are unreachable by the entry point or exported symbols
-dyld_env <dyld_env_var>
Specifies a LC_DYLD_ENVIRONMENT variable value pair.
-e <symbol> Make <symbol> the entry point of an executable (default is "start" from crt1.o)
-fatal_warnings Treat warnings as errors
-final_output <name> Specify dylib install name if -install_name is not used; used by compiler driver for multiple -arch arguments
-headerpad_max_install_names
Allocate extra space so all load-command paths can expand to MAXPATHLEN via install_name_tool
-headerpad <size> Allocate hex <size> extra space for future expansion of the load commands via install_name_tool (default is 0x20)
-ignore_auto_link Ignore LC_LINKER_OPTIONs
-max_relative_cache_size_lto <percent>
Limit the incremental LTO cache growth to <percent> of free disk, space
-mcpu <value> Processor family target for LTO code generation
-mllvm <value> Options to pass to LLVM
-no-deduplicate-symbol-strings
Do not deduplicate strings in the symbol string table. Might result in larger binaries but slightly faster link times.
-no_adhoc_codesign Do not write an ad-hoc code signature to the output file (default for x86_64 binaries)
-no_application_extension
Disable application extension functionality (default)
-no_data_const Block migration of readonly data away from __DATA segment
-no_dtrace_dof Disable dtrace-dof processing (default).
-no_function_starts Do not create table of function start addresses
-no_uuid Do not generate the LC_UUID load command
-objc_stubs_fast Produce larger stubs for Objective-C method calls with fewer jumps (default).
-objc_stubs_small Produce smaller stubs for Objective-C method calls with more jumps.
-object_path_lto <path> Retain any temporary mach-o file in <path> that would otherwise be deleted during LTO
-prune_after_lto <seconds>
Remove LTO cache entries after <seconds>
-prune_interval_lto <seconds>
Prune the incremental LTO cache after <seconds> (-1 disables pruning)
-rename_section <from_segment> <from_section> <to_segment> <to_section>
Rename <from_segment>/<from_section> as <to_segment>/<to_section>
-rename_segment <from_segment> <to_segment>
Rename <from_segment> as <to_segment>
-reproducible Make the output reproducible by removing timestamps and other non-deterministic data. This is the default behavior.
-sectalign <segment> <section> <boundary>
Align <section> within <segment> to hex power-of-2 <boundary>
-segprot <segment> <max> <init>
Specifies the <max> and <init> virtual memory protection of <segment> as r/w/x/-seg_addr_table path
-sub_library <name> Re-export the dylib as <name>
-sub_umbrella <name> Re-export the framework as <name>
-umbrella <name> Re-export this dylib through the umbrella framework <name>
-v Print the linker version and search paths in addition to linking
-w Suppress all warnings
SYMBOL RESOLUTION:
-alias <symbol_name> <alternate_name>
Create a symbol alias with default global visibility
-exported_symbols_list <file>
Symbols specified in <file> remain global, while others become private externs
-exported_symbol <symbol>
<symbol> remains global, while others become private externs
-flat_namespace Resolve symbols from all dylibs, both direct and transitive. Do not record source libraries: dyld must re-search at runtime and use the first definition found
-no_exported_symbols Don't export any symbols from the binary, useful for main executables that don't have plugins
-rpath <path> Add <path> to dyld search list for dylibs with load path prefix `@rpath/'
-twolevel_namespace Make dyld look up symbols by (dylib,name) pairs (default)
-undefined <treatment> Handle undefined symbols according to <treatment>: error, warning, suppress, or dynamic_lookup (default is error)
-unexported_symbols_list <file>
Global symbols specified in <file> become private externs
-unexported_symbol <symbol>
Global <symbol> becomes private extern
-U <symbol> Allow <symbol> to have no definition
-u <symbol> Require that <symbol> be defined for the link to succeed
SYMBOL TABLE:
-add_ast_path <path> AST paths will be emitted as STABS
-non_global_symbols_no_strip_list <path>
Specify in <path> the non-global symbols that should remain in the output symbol table
-non_global_symbols_strip_list <path>
Specify in <path> the non-global symbols that should be removed from the output symbol table
-oso_prefix <path> Remove the prefix <path> from OSO symbols in the debug map
-S Strip debug information (STABS or DWARF) from the output
-x Exclude non-global symbols from the output symbol table
UNDOCUMENTED:
-data_in_code_info Emit data-in-code information (default)
-encryptable Generate the LC_ENCRYPTION_INFO load command
-fixup_chains Emit chained fixups
-function_starts Create table of function start addresses (default)
-ignore_optimization_hints
Ignore Linker Optimization Hints
-init_offsets Store __TEXT segment offsets of static initializers
-no_data_in_code_info Do not emit data-in-code information
-no_encryption Do not generate the LC_ENCRYPTION_INFO load command
-no_fixup_chains Emit fixup information as classic dyld opcodes
-no_objc_relative_method_lists
Don't emit relative method lists (use traditional representation)
-objc_relative_method_lists
Emit relative method lists (more compact representation)
VERSION TARGETING:
-macos_version_min <version>
Oldest macOS version for which linked output is usable
-platform_version <platform> <min_version> <sdk_version>
Platform (e.g., macos, ios, tvos, watchos, xros, bridgeos, mac-catalyst, ios-sim, tvos-sim, watchos-sim, xros-sim, driverkit) and version numbers
Options (160)
| Option | Description | Source |
|---|---|---|
-bundle_loader executable | Resolve undefined symbols from <executable> | help |
-compatibility_version version | Compatibility <version> of this library | help |
-current_version version | Current <version> of this library | help |
-dylib_install_name name | Alias for -install_name | help |
-dylinker_install_name name | Alias for -install_name | help |
-mark_dead_strippable_dylib | Mark output dylib as dead-strippable: When a client links against it but does not use any of its symbols, the dylib will not be added to the client's list of needed dylibs | help |
-map path | Writes all symbols and their addresses to <path> | help |
-save-temps | Save intermediate LTO compilation results | help |
-t | Log every file the linker loads: object, archive, and dylib | help |
-why_live symbol | Log a chain of references to <symbol>, for use with -dead_strip | help |
-why_load | Log why each object file is loaded from a static library | help |
-whyload | Alias for -why_load | help |
-all_load | Load all members of all static archive libraries | help |
-force_load path | Load all members static archive library at <path> | help |
-framework name | Search for <name>.framework/<name> on the framework search path | help |
-F dir | Add dir to the framework search path | help |
-hidden-l name | Like -l<name>, but load all symbols with hidden visibility | help |
-load_hidden path | Load all symbols from static library with hidden visibility | help |
-L dir | Add dir to the library search path | help |
-l name | Search for lib<name>.dylib or lib<name>.a on the library search path | help |
-needed-l name | Like -l<name>, but link library even if its symbols are not used and -dead_strip_dylibs is active | help |
-needed_framework name | Like -framework <name>, but link <name> even if none of its symbols are used and -dead_strip_dylibs is active | help |
-noall_load | Don't load all static members from archives, this is the default, this negates -all_load | help |
-ObjC | Load all members of static archives that are an Objective-C class or category. | help |
-reexport-l name | Like -l<name>, but export all symbols of <name> from newly created library | help |
-reexport_framework name | Like -framework <name>, but export all symbols of <name> from the newly created library | help |
-reexport_library path | Like bare <path>, but export all symbols of <path> from newly created library | help |
-search_dylibs_first | Search for lib<name>.dylib on first pass, then for lib<name>.a on second pass through search path (default for Xcode 3 and earlier) | help |
-search_paths_first | Search for lib<name>.dylib and lib<name>.a at each step in traversing search path (default for Xcode 4 and later) | help |
-syslibroot rootdir | Prepend <rootdir> to all library and framework search paths | help |
-weak-l name | Like -l<name>, but mark library and its references as weak imports | help |
-weak_library path | Like bare <path>, but mark library and its references as weak imports | help |
-Z | Remove standard directories from the library and framework search paths | help |
--bp-compression-sort-startup-functions | Order startup functions to improve compressed size in addition to startup time | help |
--bp-compression-sort none | Order sections to improve compressed size | help |
--bp-startup-sort none | Order sections based on profile data to improve startup time | help |
--call-graph-profile-sort | Reorder sections with call graph profile (default) | help |
--check-category-conflicts | Check for conflicts between category & class methods | help |
--codegen-data-generate-path cgdata | Write the CG data to the specified path <cgdata>. | help |
--color-diagnostics auto | Use colors in diagnostics (default: auto) | help |
--compression-sort-startup-functions | Deprecated. | help |
--compression-sort none | Deprecated. | help |
--cs-profile-generate | Perform context sensitive PGO instrumentation | help |
--cs-profile-path value | Context sensitive profile file path | help |
--deduplicate-strings | Enable string deduplication | help |
--disable_verify | Do not verify LLVM modules during LTO | help |
--error-limit value | Maximum number of errors to print before exiting (default: 20) | help |
--help-hidden | Display help for hidden options | help |
--icf none | Set level for identical code folding (default: none). | help |
--ignore-auto-link-option value | Ignore a single auto-linked library or framework. | help |
--irpgo-profile-sort profile | Deprecated. | help |
--irpgo-profile profile | Read the IRPGO <profile> for use with --bp-startup-sort and other profile-guided optimizations | help |
--load-pass-plugin value | Load passes from plugin library | help |
--lto-CGO cgopt-level | Set codegen optimization level for LTO (default: 2) | help |
--lto-debug-pass-manager | Debug new pass manager | help |
--lto-newpm-passes value | Passes to run during LTO | help |
--lto-O opt-level | Set optimization level for LTO (default: 2) | help |
--no-bp-compression-sort-startup-functions | Do not order startup function for compression | help |
--no-call-graph-profile-sort | Do not reorder sections with call graph profile | help |
--no-color-diagnostics | Alias for --color-diagnostics=never | help |
--no-compression-sort-startup-functions | Deprecated. | help |
--no-deduplicate-strings | Disable string deduplication. | help |
--no-pgo-warn-mismatch | turn off warnings about profile cfg mismatch | help |
--no-warn-duplicate-rpath | Do not warn if the same -rpath is specified multiple times | help |
--no-warn-dylib-install-name | Do not warn on -install_name if -dylib is not passed (default) | help |
--no-warn-thin-archive-missing-members | Do not warn on missing object files referenced by thin archives | help |
-no_objc_category_merging | Do not merge Objective-C categories | help |
-objc_category_merging | Merge Objective-C categories that share the same base class | help |
--pgo-warn-mismatch | turn on warnings about profile cfg mismatch (default) | help |
--print-dylib-search | Print which paths lld searched when trying to find dylibs | help |
--print-symbol-order value | Print a symbol order specified by --call-graph-profile-sort into the specified file | help |
--reproduce value | Write tar file containing inputs and command to reproduce link | help |
--strict-auto-link | Always warn for missing frameworks or libraries if they are loaded via LC_LINKER_OPTIONS | help |
--thinlto-cache-policy value | Pruning policy for the ThinLTO cache | help |
--thinlto-jobs value | Number of ThinLTO jobs. | help |
--threads value | Number of threads. | help |
--time-trace-granularity value | Minimum time granularity (in microseconds) traced by time profiler | help |
--time-trace file | Record time trace to <file> | help |
--verbose-bp-section-orderer | Print information on how many sections were ordered by balanced partitioning and a measure of the expected number of page faults | help |
--version | Display the version number and exit | help |
--warn-duplicate-rpath | Warn if the same -rpath is specified multiple times (default) | help |
--warn-dylib-install-name | Warn on -install_name if -dylib is not passed | help |
--warn-thin-archive-missing-members | Warn on missing object files referenced by thin archives (default) | help |
-export_dynamic | Preserve all global symbols during LTO and when dead-stripping executables | help |
-no_pie | Do not build a position independent executable | help |
-pie | Build a position independent executable (default) | help |
-dead_strip | Remove unreachable functions and data | help |
-interposable | Indirects access to all exported symbols in an image | help |
-no_deduplicate | Disable code deduplication (synonym for `--icf=none') | help |
-order_file file | Layout functions and data according to specification in <file> | help |
-demangle | Demangle symbol names in diagnostics | help |
--end-lib | End a grouping of objects that should be treated as if they were together in an archive | help |
-O value | Optimize output file size | help |
-bundle | Produce a bundle | help |
-dylib | Produce a shared library | help |
-dynamic | Link dynamically (default) | help |
-execute | Produce a main executable (default) | help |
-o path | The name of the output file (default: `a.out') | help |
-adhoc_codesign | Write an ad-hoc code signature to the output file (default for arm64 binaries) | help |
-allowable_client name | Specify <name> of a dylib, framework, or executable that is allowed to link to this dylib | help |
-application_extension | Mark output as safe for use in an application extension, and validate that linked dylibs are safe | help |
-arch_errors_fatal | Escalate to errors any warnings about inputs whose architecture does not match the -arch option | help |
-arch_multiple | Augment error and warning messages with the architecture name | help |
-cache_path_lto path | Use <path> as a directory for the incremental LTO cache | help |
-client_name name | Specifies a <name> this client should match with the -allowable_client <name> in an explicitly linked dylib | help |
-data_const | Force migration of readonly data into __DATA_CONST segment | help |
-dead_strip_dylibs | Remove dylibs that are unreachable by the entry point or exported symbols | help |
-dyld_env dyld_env_var | Specifies a LC_DYLD_ENVIRONMENT variable value pair. | help |
-e symbol | Make <symbol> the entry point of an executable (default is "start" from crt1.o) | help |
-fatal_warnings | Treat warnings as errors | help |
-final_output name | Specify dylib install name if -install_name is not used; | help |
-headerpad_max_install_names | Allocate extra space so all load-command paths can expand to MAXPATHLEN via install_name_tool | help |
-headerpad size | Allocate hex <size> extra space for future expansion of the load commands via install_name_tool (default is 0x20) | help |
-ignore_auto_link | Ignore LC_LINKER_OPTIONs | help |
-max_relative_cache_size_lto percent | Limit the incremental LTO cache growth to <percent> of free disk, space | help |
-mcpu value | Processor family target for LTO code generation | help |
-mllvm value | Options to pass to LLVM | help |
-no-deduplicate-symbol-strings | Do not deduplicate strings in the symbol string table. | help |
-no_adhoc_codesign | Do not write an ad-hoc code signature to the output file (default for x86_64 binaries) | help |
-no_application_extension | Disable application extension functionality (default) | help |
-no_data_const | Block migration of readonly data away from __DATA segment | help |
-no_dtrace_dof | Disable dtrace-dof processing (default). | help |
-no_function_starts | Do not create table of function start addresses | help |
-no_uuid | Do not generate the LC_UUID load command | help |
-objc_stubs_fast | Produce larger stubs for Objective-C method calls with fewer jumps (default). | help |
-objc_stubs_small | Produce smaller stubs for Objective-C method calls with more jumps. | help |
-prune_after_lto seconds | Remove LTO cache entries after <seconds> | help |
-prune_interval_lto seconds | Prune the incremental LTO cache after <seconds> (-1 disables pruning) | help |
-reproducible | Make the output reproducible by removing timestamps and other non-deterministic data. | help |
-sub_library name | Re-export the dylib as <name> | help |
-sub_umbrella name | Re-export the framework as <name> | help |
-umbrella name | Re-export this dylib through the umbrella framework <name> | help |
-v | Print the linker version and search paths in addition to linking | help |
-w | Suppress all warnings | help |
-exported_symbols_list file | Symbols specified in <file> remain global, while others become private externs | help |
-exported_symbol symbol | <symbol> remains global, while others become private externs | help |
-flat_namespace | Resolve symbols from all dylibs, both direct and transitive. | help |
-no_exported_symbols | Don't export any symbols from the binary, useful for main executables that don't have plugins | help |
-rpath path | Add <path> to dyld search list for dylibs with load path prefix `@rpath/' | help |
-twolevel_namespace | Make dyld look up symbols by (dylib,name) pairs (default) | help |
-unexported_symbols_list file | Global symbols specified in <file> become private externs | help |
-unexported_symbol symbol | Global <symbol> becomes private extern | help |
-U symbol | Allow <symbol> to have no definition | help |
-u symbol | Require that <symbol> be defined for the link to succeed | help |
-non_global_symbols_no_strip_list path | Specify in <path> the non-global symbols that should remain in the output symbol table | help |
-non_global_symbols_strip_list path | Specify in <path> the non-global symbols that should be removed from the output symbol table | help |
-oso_prefix path | Remove the prefix <path> from OSO symbols in the debug map | help |
-S | Strip debug information (STABS or DWARF) from the output | help |
-x | Exclude non-global symbols from the output symbol table | help |
-data_in_code_info | Emit data-in-code information (default) | help |
-encryptable | Generate the LC_ENCRYPTION_INFO load command | help |
-fixup_chains | Emit chained fixups | help |
-function_starts | Create table of function start addresses (default) | help |
-ignore_optimization_hints | Ignore Linker Optimization Hints | help |
-init_offsets | Store __TEXT segment offsets of static initializers | help |
-no_encryption | Do not generate the LC_ENCRYPTION_INFO load command | help |
-no_fixup_chains | Emit fixup information as classic dyld opcodes | help |
-no_objc_relative_method_lists | Don't emit relative method lists (use traditional representation) | help |
-objc_relative_method_lists | Emit relative method lists (more compact representation) | help |
-macos_version_min version | Oldest macOS version for which linked output is usable | help |