mirror of
https://github.com/rui314/mold.git
synced 2024-10-06 01:28:12 +03:00
Update mold.1 (automated commit)
This commit is contained in:
parent
2c3dcc4370
commit
55e516da6f
11
docs/mold.1
11
docs/mold.1
@ -86,6 +86,17 @@ By default, \fBmold\fR doesn't merge input sections by name when merging input o
|
||||
.IP
|
||||
This option changes the behavior so that \fBmold\fR merges input sections by name by the default section merging rules\.
|
||||
.TP
|
||||
\fB\-\-remove\-landing\-pads\fR, \fB\-\-no\-remove\-landing\-pads\fR
|
||||
As a security measure, a few CPU instruction sets have recently gained support of landing pad instructions\. If the feature is enabled, an \fIindirect\fR branch must "land" on a landing pad instruction, or a CPU\-level fault is raised\. In other words, it restricts the locations to which indirect branch instructions can jump to\. The feature makes ROP or JOP attacks harder to conduct\.
|
||||
.IP
|
||||
To use the feature, a function whose pointer is taken needs to begin with a landing pad because a function call via a function pointer is compiled to an indirect branch\. On the other hand, if a function is called only directly (i\.e\. referred to only by \fIdirect\fR branch instructions), it doesn't have to begin with it\.
|
||||
.IP
|
||||
By default, the compiler always emits a landing pad at the beginning of each global function because it doesn't know whether or not the function's pointer is taken in another translation unit\. As a result, the resulting binary has more attack surface than necessary\.
|
||||
.IP
|
||||
If \fB\-\-remove\-landing\-pads\fR is given, mold conducts a whole program analysis to identify functions whose addresses are actually taken and rewrites landing pads with no\-ops for non\-address\-taken functions, reducing the attack surface\.
|
||||
.IP
|
||||
This feature is currently available only on x86\-64\.
|
||||
.TP
|
||||
\fB\-\-repro\fR
|
||||
Archive input files, as well as a text file containing command line options, in a tar file so that you can run \fBmold\fR with the exact same inputs again\. This is useful for reporting a bug with a reproducer\. The output filename is \fBpath/to/output\.tar\fR, where \fBpath/to/output\fR is an output filename specified by \fB\-o\fR\.
|
||||
.TP
|
||||
|
Loading…
Reference in New Issue
Block a user