summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2019-08-18 23:53:17 +0000
committerRobert Mustacchi <rm@joyent.com>2019-08-29 17:29:36 +0000
commit05a20ab13d51a1ec48a9d993aa40798df5789abd (patch)
tree00980ce6a8d742e54827347514fdb934d55c9e75
parent75f3d687b66304117c7ea9676a959382b37e6ad4 (diff)
downloadillumos-joyent-05a20ab13d51a1ec48a9d993aa40798df5789abd.tar.gz
3386 ld(1) should document -z symbol-cap
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com> Reviewed by: Richard Lowe <richlowe@richlowe.net> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Dan McDonald <danmcd@joyent.com>
-rw-r--r--usr/src/man/man1/ld.126
1 files changed, 24 insertions, 2 deletions
diff --git a/usr/src/man/man1/ld.1 b/usr/src/man/man1/ld.1
index 0da768b1bb..2d0893fdc4 100644
--- a/usr/src/man/man1/ld.1
+++ b/usr/src/man/man1/ld.1
@@ -1,7 +1,7 @@
'\" te
.\" Copyright 1989 AT&T
.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
-.\" Copyright (c) 2012, Joyent, Inc. All Rights Reserved
+.\" Copyright 2019 Joyent, Inc.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
.\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
@@ -34,7 +34,7 @@ ld \- link-editor for object files
[\fB-z\fR nopartial] [\fB-z\fR noversion] [\fB-z\fR now] [\fB-z\fR origin]
[\fB-z\fR preinitarray=\fIfunction\fR] [\fB-z\fR redlocsym] [\fB-z\fR relaxreloc]
[\fB-z\fR rescan-now] [\fB-z\fR recan] [\fB-z\fR rescan-start \fI\&...\fR \fB-z\fR rescan-end]]
-[\fB-z\fR target=sparc|x86] [\fB-z\fR text | textwarn | textoff]
+[\fB-z\fR symbolcap] [\fB-z\fR target=sparc|x86] [\fB-z\fR text | textwarn | textoff]
[\fB-z\fR type=\fIexec\fR|\fIkmod\fR|\fIreloc\fR|\fIshared\fR]
[\fB-z\fR verbose] [\fB-z\fR wrap=\fIsymbol\fR] \fIfilename\fR...
.fi
@@ -1521,6 +1521,28 @@ Archive rescan groups cannot be nested.
.sp
.ne 2
.na
+\fB\fB-z\fR \fBsymbolcap\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies that a relocatable object that defines object capabilities
+should have those converted to symbol capabilities. A relocatable object
+that does not have any object capabilities will ignore this option.
+.sp
+Symbol capabilities provide a means for multiple implementations of a
+function to co-exist and have one picked at runtime based upon the
+hardware capabilities of the system. When \fB-z symbolcap\fR is invoked,
+all global functions are converted into local functions that have the
+corresponding capability name appended to them and an undefined symbol
+with the original name left in the resulting relocatable object. At
+runtime, the global symbol will be bound to the corresponding
+implementation that is appropriate based on the capabilities of the
+system.
+.RE
+
+.sp
+.ne 2
+.na
\fB\fB-z\fR \fBtarget=sparc|x86\fR \fI\fR\fR
.ad
.sp .6