PERFORCE change 164121 for review
Robert Watson
rwatson at FreeBSD.org
Thu Jun 11 17:03:28 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=164121
Change 164121 by rwatson at rwatson_freebsd_capabilities on 2009/06/11 17:02:44
Update man page.
Affected files ...
.. //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/rtld-elf-cap.1#4 edit
Differences ...
==== //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/rtld-elf-cap.1#4 (text+ko) ====
@@ -32,7 +32,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 30, 2009
+.Dd June 11, 2009
.Os
.Dt RTLD-ELF-CAP 1
.Sh NAME
@@ -50,11 +50,14 @@
is intended to be directly executed using the
.Xr fexeve 2
system call, and expects the binary to be passed as file descriptor
-.Dv 3 .
+.Dv 3 ,
+as well as additional libraries described by the
+.Dv LD_CAPLIBINDEX
+environmental variable.
.Pp
-Binaries for the sandbox environment are relocatable shared objects with the
-addition of C start-up code (CSU) normally linked only into binaries
-intended for direct execution.
+Binaries for the sandbox environment are normal, dynamically linked binaries
+as created by
+.Xr gcc 1 .
As with traditional
.Fx
binaries, the C run-time expects to begin execution with a
@@ -62,28 +65,20 @@
function which will be passed execution-time arguments explicitly, as well
as having access to inherited environmental variables.
.Pp
-A typical
-.Xr gcc 1
-command line to build a sandbox-mode binary might be:
-.Bd -literal -offset indent
-gcc -o main.so main.c -shared /usr/lib/crt1.o
-.Ed
+Most capability-mode applications will be started using the APIs defined in
+.Xr libcapability 3 ,
+which properly set up the run-time environment for
+.Nm .
.Sh IMPLEMENTATION NOTES
Linking sandbox binaries as relocatable shared objects rather than linking
them with a fixed virtual address allows them to be directly linked into
consumers, if desired, for debugging or performance analysis purposes.
-.Pp
-The C run-time start-up code (CSU) is included to provide an ELF brand as
-well as
-.Dv _start
-function sufficient to properly align the stack, start C run-time services
-such as profiling and thread-local storage, and to provide and pass command
-line arguments and environmental variables to the executing binary.
.Sh SEE ALSO
.Xr gcc 1 ,
.Xr ld-elf.so.1 1 ,
.Xr cap_enter 2 ,
-.Xr fexecve 2
+.Xr fexecve 2 ,
+.Xr libcapability 3
.Sh HISTORY
Support for capabilities and capabilities mode was developed as part of the
.Tn TrustedBSD
@@ -91,6 +86,10 @@
.Sh BUGS
WARNING: THIS IS EXPERIMENTAL SECURITY SOFTWARE THAT MUST NOT BE RELIED ON IN
PRODUCTION SYSTEMS. IT WILL BREAK YOUR SOFTWARE IN NEW AND UNEXPECTED WAYS.
+.Pp
+The format of
+.Dv LD_CAPLIBINDEX
+is not documented, and may change.
.Sh AUTHORS
.Nm
is derived from
More information about the p4-projects
mailing list