OS Manuals

/usr/bin/wasm-ld

LLVM linker

From lld-15 15.0.7-r32 (os), captured 2026-11-05 by running wasm-ld --help (exit 0). permalink

OVERVIEW: LLVM Linker

USAGE: /usr/bin/wasm-ld [options] file...

OPTIONS:
  --allow-undefined-file=<value>
                         Allow symbols listed in <file> to be undefined in linked binary
  --allow-undefined      Allow undefined symbols in linked binary. This options is equivalent to --import-undefined and --unresolved-symbols=ignore-all
  --Bsymbolic            Bind defined symbols locally
  --check-features       Check feature compatibility of linked objects (default)
  --color-diagnostics=[auto,always,never]
                         Use colors in diagnostics (default: auto)
  --color-diagnostics    Alias for --color-diagnostics=always
  --compress-relocations Compress the relocation targets in the code section.
  --demangle             Demangle symbol names
  --emit-relocs          Generate relocations in output
  --entry <entry>        Name of entry point symbol
  --error-limit=<value>  Maximum number of errors to emit before stopping (0 = no limit)
  --error-unresolved-symbols
                         Report unresolved symbols as errors
  --experimental-pic     Enable Experimental PIC
  --export-all           Export all symbols (normally combined with --no-gc-sections)
  --export-dynamic       Put symbols in the dynamic symbol table
  --export-if-defined=<value>
                         Force a symbol to be exported, if it is defined in the input
  --export-table         Export function table to the environment
  --export=<value>       Force a symbol to be exported
  -E                     Alias for --export-dynamic
  --fatal-warnings       Treat warnings as errors
  --features=<value>     Comma-separated used features, inferred from input objects by default.
  --gc-sections          Enable garbage collection of unused sections
  --global-base=<value>  Where to start to place global data
  --growable-table       Remove maximum size from function table, allowing table to grow
  --help                 Print option help
  --import-memory        Import memory from the environment
  --import-table         Import function table from the environment
  --import-undefined     Turn undefined symbols into imports where possible
  --initial-memory=<value>
                         Initial size of the linear memory
  --lto-debug-pass-manager
                         Debug new pass manager
  --lto-O<opt-level>     Optimization level for LTO
  --lto-partitions=<value>
                         Number of LTO codegen partitions
  -L <dir>               Add a directory to the library search path
  -l <libName>           Root name of library to use
  --Map=<value>          Print a link map to the specified file
  --max-memory=<value>   Maximum size of the linear memory
  --merge-data-segments  Enable merging data segments
  --mllvm=<value>        Additional arguments to forward to LLVM's option processing
  -M                     Alias for --print-map
  -m <value>             Set target emulation
  --no-check-features    Ignore feature compatibility of linked objects
  --no-color-diagnostics Alias for --color-diagnostics=never
  --no-demangle          Do not demangle symbol names
  --no-entry             Do not output any entry point
  --no-export-dynamic    Do not put symbols in the dynamic symbol table (default)
  --no-gc-sections       Disable garbage collection of unused sections
  --no-lto-legacy-pass-manager
                         Use new pass manager
  --no-merge-data-segments
                         Disable merging data segments
  --no-pie               Do not create a position independent executable (default)
  --no-print-gc-sections Do not list removed unused sections
  --no-whole-archive     Do not force load of all members in a static library (default)
  -O <value>             Optimize output file size
  -o <path>              Path to file to write output
  --pie                  Create a position independent executable
  --print-gc-sections    List removed unused sections
  --print-map            Print a link map to the standard output
  --relocatable          Create relocatable object file
  --reproduce=<value>    Dump linker invocation and input files for debugging
  --rsp-quoting=[posix,windows]
                         Quoting style for response files
  --save-temps           Save intermediate LTO compilation results
  --shared-memory        Use shared linear memory
  --shared               Build a shared object
  --stack-first          Place stack at start of linear memory rather than after data
  --strip-all            Strip all symbols
  --strip-debug          Strip debugging information
  -S                     Alias for --strip-debug
  -s                     Alias for --strip-all
  --thinlto-cache-dir=<value>
                         Path to ThinLTO cached object file directory
  --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
  --trace-symbol=<value> Trace references to symbols
  --trace                Print the names of the input files
  -t                     Alias for --trace
  --undefined=<value>    Force undefined symbol during linking
  --unresolved-symbols=<value>
                         Determine how to handle unresolved symbols
  --verbose              Verbose mode
  --version              Display the version number and exit
  -v                     Display the version number
  --warn-unresolved-symbols
                         Report unresolved symbols as warnings
  --whole-archive        Force load of all members in a static library
  --wrap=<symbol>=<symbol>
                         Use wrapper functions for symbol
  -y <value>             Alias for --trace-symbol
  -z <option>            Linker option extensions
Options (78)
OptionDescriptionSource
--allow-undefined-file valueAllow symbols listed in <file> to be undefined in linked binaryhelp
--allow-undefinedAllow undefined symbols in linked binary.help
--BsymbolicBind defined symbols locallyhelp
--check-featuresCheck feature compatibility of linked objects (default)help
--color-diagnostics autoUse colors in diagnostics (default: auto)help
--demangleDemangle symbol nameshelp
--emit-relocsGenerate relocations in outputhelp
--entry entryName of entry point symbolhelp
--error-limit valueMaximum number of errors to emit before stopping (0 = no limit)help
--error-unresolved-symbolsReport unresolved symbols as errorshelp
--experimental-picEnable Experimental PIChelp
--export-allExport all symbols (normally combined with --no-gc-sections)help
--export-dynamicPut symbols in the dynamic symbol tablehelp
--export-if-defined valueForce a symbol to be exported, if it is defined in the inputhelp
--export-tableExport function table to the environmenthelp
--export valueForce a symbol to be exportedhelp
-EAlias for --export-dynamichelp
--fatal-warningsTreat warnings as errorshelp
--features valueComma-separated used features, inferred from input objects by default.help
--gc-sectionsEnable garbage collection of unused sectionshelp
--global-base valueWhere to start to place global datahelp
--growable-tableRemove maximum size from function table, allowing table to growhelp
--helpPrint option helphelp
--import-memoryImport memory from the environmenthelp
--import-tableImport function table from the environmenthelp
--import-undefinedTurn undefined symbols into imports where possiblehelp
--initial-memory valueInitial size of the linear memoryhelp
--lto-debug-pass-managerDebug new pass managerhelp
--lto-O opt-levelOptimization level for LTOhelp
--lto-partitions valueNumber of LTO codegen partitionshelp
-L dirAdd a directory to the library search pathhelp
-l libNameRoot name of library to usehelp
--Map valuePrint a link map to the specified filehelp
--max-memory valueMaximum size of the linear memoryhelp
--merge-data-segmentsEnable merging data segmentshelp
--mllvm valueAdditional arguments to forward to LLVM's option processinghelp
-MAlias for --print-maphelp
-m valueSet target emulationhelp
--no-check-featuresIgnore feature compatibility of linked objectshelp
--no-demangleDo not demangle symbol nameshelp
--no-entryDo not output any entry pointhelp
--no-export-dynamicDo not put symbols in the dynamic symbol table (default)help
--no-gc-sectionsDisable garbage collection of unused sectionshelp
--no-lto-legacy-pass-managerUse new pass managerhelp
--no-merge-data-segmentsDisable merging data segmentshelp
--no-pieDo not create a position independent executable (default)help
--no-whole-archiveDo not force load of all members in a static library (default)help
-O valueOptimize output file sizehelp
-o pathPath to file to write outputhelp
--pieCreate a position independent executablehelp
--print-gc-sectionsList removed unused sectionshelp
--print-mapPrint a link map to the standard outputhelp
--relocatableCreate relocatable object filehelp
--reproduce valueDump linker invocation and input files for debugginghelp
--rsp-quoting posixQuoting style for response fileshelp
--save-tempsSave intermediate LTO compilation resultshelp
--shared-memoryUse shared linear memoryhelp
--sharedBuild a shared objecthelp
--stack-firstPlace stack at start of linear memory rather than after datahelp
--strip-allStrip all symbolshelp
--strip-debugStrip debugging informationhelp
-SAlias for --strip-debughelp
-sAlias for --strip-allhelp
--thinlto-cache-dir valuePath to ThinLTO cached object file directoryhelp
--thinlto-cache-policy valuePruning policy for the ThinLTO cachehelp
--threads valueNumber of threads.help
--tracePrint the names of the input fileshelp
-tAlias for --tracehelp
--undefined valueForce undefined symbol during linkinghelp
--unresolved-symbols valueDetermine how to handle unresolved symbolshelp
--verboseVerbose modehelp
--versionDisplay the version number and exithelp
-vDisplay the version numberhelp
--warn-unresolved-symbolsReport unresolved symbols as warningshelp
--whole-archiveForce load of all members in a static libraryhelp
--wrap symbol>=<symbolUse wrapper functions for symbolhelp
-y valueAlias for --trace-symbolhelp
-z optionLinker option extensionshelp

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.