svn commit: r339096 - stable/11/usr.bin/clang/lld
Mark Johnston
markj at FreeBSD.org
Tue Oct 2 21:19:44 UTC 2018
Author: markj
Date: Tue Oct 2 21:19:42 2018
New Revision: 339096
URL: https://svnweb.freebsd.org/changeset/base/339096
Log:
MFC r328810 (by emaste):
ld.lld.1: miscellaneous style improvements
MFC r329002 (by emaste):
Update ld.lld.1 based on the version committed upstream
MFC r329003 (by emaste):
ld.lld.1: explain long options may use one or two dashes
Modified:
stable/11/usr.bin/clang/lld/ld.lld.1
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/usr.bin/clang/lld/ld.lld.1
==============================================================================
--- stable/11/usr.bin/clang/lld/ld.lld.1 Tue Oct 2 18:12:32 2018 (r339095)
+++ stable/11/usr.bin/clang/lld/ld.lld.1 Tue Oct 2 21:19:42 2018 (r339096)
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 10, 2018
+.Dd February 7, 2018
.Dt LD.LLD 1
.Os
.Sh NAME
@@ -36,7 +36,7 @@
.Op Ar options
.Ar objfile ...
.Sh DESCRIPTION
-A linker takes one or more object, archive and library files, and combines
+A linker takes one or more object, archive, and library files, and combines
them into an output file (an executable, a shared library, or another object
file).
It relocates code and data from the input files and resolves symbol
@@ -47,10 +47,22 @@ is a drop-in replacement for the GNU BFD and gold link
It accepts most of the same command line arguments and linker scripts
as GNU linkers.
.Pp
-The following options are available:
+Many options have both a single-letter and long form.
+When using the long form options other than those beginning with the
+letter
+.Cm o
+may be specified using either one or two dashes preceeding the option name.
+Long options beginning with
+.Cm o
+require two dashes to avoid confusion with the
+.Fl o Ar path
+option.
+.Pp
+These options are available:
.Bl -tag -width indent
.It Fl -allow-multiple-definition
-Allow multiple definitions.
+Do not error if a symbol is defined multiple times.
+The first definition will be used.
.It Fl -as-needed
Only set
.Dv DT_NEEDED
@@ -69,18 +81,56 @@ Bind defined function symbols locally.
Bind defined symbols locally.
.It Fl -build-id= Ns Ar value
Generate a build ID note.
+.Ar value
+may be one of
+.Cm md5 ,
+.Cm sha1 ,
+.Cm tree ,
+.Cm uuid ,
+.Cm 0x Ns Ar hex-string ,
+and
+.Cm none .
+.Cm tree
+is an alias for
+.Cm sha1 .
+Build-IDs of type
+.Cm md5 ,
+.Cm sha1 ,
+and
+.Cm tree
+are calculated from the object contents.
.It Fl -build-id
Generate a build ID note.
.It Fl -color-diagnostics= Ns Ar value
Use colors in diagnostics.
+.Ar value
+may be one of
+.Cm always ,
+.Cm auto ,
+and
+.Cm never .
+.Cm auto
+enables color if and only if output is to a terminal.
.It Fl -color-diagnostics
-Use colors in diagnostics.
+Alias for
+.Fl -color-diagnostics= Ns Cm auto .
.It Fl -compress-debug-sections= Ns Ar value
Compress DWARF debug sections.
+.Ar value
+may be
+.Cm none
+or
+.Cm zlib .
.It Fl -define-common
Assign space to common symbols.
-.It Fl -defsym= Ns Ar value
+.It Fl -defsym= Ns Ar symbol= Ns Ar expression
Define a symbol alias.
+.Ar expression
+may be another symbol or a linker script expression.
+For example,
+.Fl -defsym= Ns Cm foo= Ns Cm bar
+or
+.Fl -defsym= Ns Cm foo= Ns Cm bar+0x100 .
.It Fl -demangle
Demangle symbol names.
.It Fl -disable-new-dtags
@@ -95,8 +145,9 @@ Keep all symbols in the symbol table.
Specify the dynamic linker to be used for a dynamically linked executable.
This is recorded in an ELF segment of type
.Dv PT_INTERP .
-.It Fl -dynamic-list Ar value
-Read a list of dynamic symbols.
+.It Fl -dynamic-list Ar file
+Read a list of dynamic symbols from
+.Ar file .
.It Fl -eh-frame-hdr
Request creation of
.Li .eh_frame_hdr
@@ -119,8 +170,10 @@ A value of zero indicates that there is no limit.
Report unresolved symbols as errors.
.It Fl -exclude-libs Ar value
Exclude static libraries from automatic export.
-.It Fl -export-dynamic-symbol Ar value
-Put a symbol in the dynamic symbol table.
+.It Fl -export-dynamic-symbol Ar symbol
+Include
+.Ar symbol
+in the dynamic symbol table.
.It Fl -export-dynamic
Put symbols in the dynamic symbol table.
.It Fl -fatal-warnings
@@ -132,10 +185,16 @@ field to the specified value.
.It Fl -fini Ar symbol
Specify a finalizer function.
.It Fl -format= Ns Ar input-format
-Change the input format of the inputs following this option.
-.It Fl -full-shutdown
-Perform a full shutdown instead of calling
-.Fn _exit .
+Specify the format of the inputs following this option.
+.Ar input-format
+may be one of
+.Cm binary ,
+.Cm elf ,
+and
+.Cm default .
+.Cm default
+is a synonym for
+.Cm elf .
.It Fl -gc-sections
Enable garbage collection of unused sections.
.It Fl -gdb-index
@@ -143,7 +202,15 @@ Generate
.Li .gdb_index
section.
.It Fl -hash-style Ar value
-Specify hash style (sysv, gnu or both).
+Specify hash style.
+.Ar value
+may be
+.Cm sysv ,
+.Cm gnu ,
+or
+.Cm both .
+.Cm both
+is the default.
.It Fl -help
Print a usage message.
.It Fl -icf=all
@@ -169,8 +236,9 @@ Number of LTO codegen partitions.
Add a directory to the library search path.
.It Fl l Ar libName
Root name of library to use.
-.It Fl -Map Ar value
-Print a link map to the specified file.
+.It Fl -Map Ar file
+Print a link map to
+.Ar file .
.It Fl m Ar value
Set target emulation.
.It Fl -no-as-needed
@@ -203,22 +271,40 @@ Report unresolved symbols even if the linker is creati
Restores the default behavior of loading archive members.
.It Fl -noinhibit-exec
Retain the executable output file whenever it is still usable.
-.It Fl -nopie
+.It Fl -no-pie
Do not create a position independent executable.
.It Fl -nostdlib
Only search directories specified on the command line.
.It Fl -oformat Ar format
-Specify the binary format for the output object file.
+Specify the format for the output object file.
+The only supported
+.Ar format
+is
+.Cm binary ,
+which produces output with no ELF header.
.It Fl -omagic
Set the text and data sections to be readable and writable.
-.It Fl -opt-remarks-filename Ar value
-YAML output file for optimization remarks.
+.It Fl -opt-remarks-filename Ar file
+Write optimization remarks in YAML format to
+.Ar file .
.It Fl -opt-remarks-with-hotness
Include hotness information in the optimization remarks file.
.It Fl O Ar value
Optimize output file size.
+.Ar value
+may be:
+.Bl -tag -width indent
+.It Cm O0
+Disable string merging.
+.It Cm O1
+Enable string merging.
+.It Cm O2
+Enable string tail merging.
+.El
+.Cm O1
+is the default.
.It Fl o Ar path
-Write the output executable, library or object to
+Write the output executable, library, or object to
.Ar path .
If not specified,
.Dv a.out
@@ -245,9 +331,9 @@ The supported values are
.Ar windows
and
.Ar posix .
-.It Fl -script Ar value
-Read linker script from the path
-.Ar value .
+.It Fl -script Ar file
+Read linker script from
+.Ar file .
.It Fl -section-start Ar address
Set address of section.
.It Fl -shared
@@ -266,8 +352,9 @@ in an archive.
Strip all symbols.
.It Fl -strip-debug
Strip debugging information.
-.It Fl -symbol-ordering-file Ar value
-Lay out sections in the order specified by the symbol file.
+.It Fl -symbol-ordering-file Ar file
+Lay out sections in the order specified by
+.Ar file .
.It Fl -sysroot= Ns Ar value
Set the system root.
.It Fl -target1-abs
@@ -312,8 +399,10 @@ Pruning policy for the ThinLTO cache.
Number of ThinLTO jobs.
.It Fl -threads
Run the linker multi-threaded.
-.It Fl -trace-symbol Ar value
-Trace references to symbols.
+This option is enabled by default.
+.It Fl -trace-symbol Ar symbol
+Trace references to
+.Ar symbol .
.It Fl -trace
Print the names of the input files.
.It Fl -Ttext Ar value
@@ -322,18 +411,21 @@ Same as
with
.Li .text
as the sectionname.
-.It Fl -undefined Ar value
-Force undefined symbol during linking.
+.It Fl -undefined Ar symbol
+Force
+.Ar symbol
+to be an undefined symbol during linking.
.It Fl -unresolved-symbols= Ns Ar value
Determine how to handle unresolved symbols.
.It Fl -verbose
Verbose mode.
-.It Fl -version-script Ar value
-Read a version script.
+.It Fl -version-script Ar file
+Read version script from
+.Ar file .
.It Fl V , Fl -version
Display the version number and exit.
.It Fl v
-Display the version number, and proceed with linking if object files are
+Display the version number and proceed with linking if object files are
specified.
.It Fl -warn-common
Warn about duplicate common symbols.
@@ -346,19 +438,75 @@ Use wrapper functions for symbol.
.It Fl z Ar option
Linker option extensions.
.Bl -tag -width indent
+.It Cm execstack
+Make the main stack executable.
+Stack permissions are recorded in the
+.Dv PT_GNU_STACK
+segment.
+.It Cm muldefs
+Do not error if a symbol is defined multiple times.
+The first definition will be used.
+This is a synonym for
+.Fl -allow-multiple-definition.
+.It Cm nocombreloc
+Disable combining and sorting multiple relocation sections.
+.It Cm nocopyreloc
+Disable the creation of copy relocations.
+.It Cm nodelete
+Set the
+.Dv DF_1_NODELETE
+flag to indicate that the object cannot be unloaded from a process.
+.It Cm nodlopen
+Set the
+.Dv DF_1_NOOPEN
+flag to indcate that the object may not be opened by
+.Xr dlopen 3 .
+.It Cm norelro
+Do not indicate that portions of the object shold be mapped read-only
+after initial relocation processing.
+The object will omit the
+.Dv PT_GNU_RELRO
+segment.
.It Cm notext
Allow relocations against read-only segments.
Sets the
.Dv DT_TEXTREL flag in the
.Dv DYNAMIC
section.
+.It Cm now
+Set the
+.Dv DF_BIND_NOW
+flag to indicate that the run-time loader should perform all relocation
+processing as part of object initialization.
+By default relocations may be performed on demand.
+.It Cm origin
+Set the
+.Dv DF_ORIGIN
+flag to indicate that the object requires
+$ORIGIN
+processing.
+.It Cm retpolineplt
+Emit retpoline format PLT entries as a mitigation for CVE-2017-5715.
+.It Cm rodynamic
+Make the
+.Li .dynamic
+section read-only.
+The
+.Dv DT_DEBUG
+tag will not be emitted.
+.It Cm stack-size= Ns Ar size
+Set the main thread's stack size to
+.Ar size .
+The stack size is recorded as the size of the
+.Ar size .
+.Dv PT_GNU_STACK
+program segment.
.It Cm text
Do not allow relocations against read-only segments.
This is the default.
+.It Cm wxneeded
+Create a
+.Dv PT_OPENBSD_WXNEEDED
+segment.
.El
.El
-.Sh IMPLEMENTATION NOTES
-The targets supported by
-.Nm
-are:
-elf32-i386 elf32-iamcu elf32-littlearm elf32-ntradbigmips elf32-ntradlittlemips elf32-powerpc elf32-tradbigmips elf32-tradlittlemips elf32-x86-64 elf64-amdgpu elf64-littleaarch64 elf64-powerpc elf64-tradbigmips elf64-tradlittlemips elf64-x86-64
More information about the svn-src-stable
mailing list