Print this page
uts: Allow for address space randomisation.
Randomise the base addresses of shared objects, non-fixed mappings, the
stack and the heap.  Introduce a service, svc:/system/process-security,
and a tool psecflags(1) to control and observe it

Split Close
Expand all
Collapse all
          --- old/usr/src/man/man1/ld.1
          +++ new/usr/src/man/man1/ld.1
↓ open down ↓ 12 lines elided ↑ open up ↑
  13   13  .nf
  14   14  \fBld\fR [\fB-32\fR | \fB-64\fR] [\fB-a\fR | \fB-r\fR] [\fB-b\fR] [\fB-B\fRdirect | nodirect]
  15   15  [\fB-B\fR dynamic | static] [\fB-B\fR eliminate] [\fB-B\fR group] [\fB-B\fR local]
  16   16  [\fB-B\fR reduce] [\fB-B\fR symbolic] [\fB-c\fR \fIname\fR] [\fB-C\fR] [\fB-d\fR y | n]
  17   17  [\fB-D\fR \fItoken\fR,...] [\fB-e\fR \fIepsym\fR] [\fB-f\fR \fIname\fR | \fB-F\fR \fIname\fR] [\fB-G\fR] [\fB-h\fR \fIname\fR]
  18   18  [\fB-i\fR] [\fB-I\fR \fIname\fR] [\fB-l\fR \fIx\fR] [\fB-L\fR \fIpath\fR] [\fB-m\fR] [\fB-M\fR \fImapfile\fR]
  19   19  [\fB-N\fR \fIstring\fR] [\fB-o\fR \fIoutfile\fR] [\fB-p\fR \fIauditlib\fR] [\fB-P\fR \fIauditlib\fR]
  20   20  [\fB-Q\fR y | n] [\fB-R\fR \fIpath\fR] [\fB-s\fR] [\fB-S\fR \fIsupportlib\fR] [\fB-t\fR]
  21   21  [\fB-u\fR \fIsymname\fR] [\fB-V\fR] [\fB-Y P\fR\fI,dirlist\fR] [\fB-z\fR absexec]
  22   22  [\fB-z\fR allextract | defaultextract | weakextract ] [\fB-z\fR altexec64]
  23      -[\fB-z\fR assert-deflib ] [ \fB-z\fR assert-deflib=\fIlibname\fR ]
       23 +[\fB-z\fR aslr[=\fIstate\fR]] [\fB-z\fR assert-deflib] [ \fB-z\fR assert-deflib=\fIlibname\fR]
  24   24  [\fB-z\fR combreloc | nocombreloc ] [\fB-z\fR defs | nodefs]
  25   25  [\fB-z\fR direct | nodirect] [\fB-z\fR endfiltee]
  26   26  [\fB-z\fR fatal-warnings | nofatal-warnings ] [\fB-z\fR finiarray=\fIfunction\fR]
  27   27  [\fB-z\fR globalaudit] [\fB-z\fR groupperm | nogroupperm] 
  28   28  [\fB-z\fR guidance[=\fIid1\fR,\fIid2\fR...] [\fB-z\fR help ]
  29   29  [\fB-z\fR ignore | record] [\fB-z\fR initarray=\fIfunction\fR] [\fB-z\fR initfirst]
  30   30  [\fB-z\fR interpose] [\fB-z\fR lazyload | nolazyload]
  31   31  [\fB-z\fR ld32=\fIarg1\fR,\fIarg2\fR,...] [\fB-z\fR ld64=\fIarg1\fR,\fIarg2\fR,...]
  32   32  [\fB-z\fR loadfltr] [\fB-z\fR muldefs] [\fB-z\fR nocompstrtab] [\fB-z\fR nodefaultlib]
  33   33  [\fB-z\fR nodelete] [\fB-z\fR nodlopen] [\fB-z\fR nodump] [\fB-z\fR noldynsym]
↓ open down ↓ 804 lines elided ↑ open up ↑
 838  838  exhaust the virtual memory that is available to the 32-bit \fBld\fR. The
 839  839  \fB-z\fR \fBaltexec64\fR option can be used to force the use of the associated
 840  840  64-bit \fBld\fR. The 64-bit \fBld\fR provides a larger virtual address space
 841  841  for building 32-bit objects. See \fIThe 32-bit link-editor and 64-bit
 842  842  link-editor\fR in \fILinker and Libraries Guide\fR.
 843  843  .RE
 844  844  
 845  845  .sp
 846  846  .ne 2
 847  847  .na
      848 +\fB-z\fR \fBaslr[=\fIstate\fR]\fR
      849 +.ad
      850 +.sp .6
      851 +.RS 4n
      852 +Specify whether the executable's address space should be randomized on
      853 +execution.  If \fIstate\fR is "enabled" randomization will always occur when
      854 +this executable is run (regardless of inherited settings).  If \fIstate\fR is
      855 +"disabled" randomization will never occur when this executable is run.  If
      856 +\fIstate\fR is omitted, ASLR is enabled.
      857 +
      858 +An executable that should simple use the settings inherited from its
      859 +environment should not use this flag at all.
      860 +.RE
      861 +
      862 +.sp
      863 +.ne 2
      864 +.na
 848  865  \fB\fB-z\fR \fBcombreloc\fR | \fBnocombreloc\fR\fR
 849  866  .ad
 850  867  .sp .6
 851  868  .RS 4n
 852  869  By default, \fBld\fR combines multiple relocation sections when building
 853  870  executables or shared objects. This section combination differs from
 854  871  relocatable objects, in which relocation sections are maintained in a
 855  872  one-to-one relationship with the sections to which the relocations must be
 856  873  applied. The \fB-z\fR \fBnocombreloc\fR option disables this merging of
 857  874  relocation sections, and preserves the one-to-one relationship found in the
↓ open down ↓ 1010 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX