<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hello LLD developers!<br>
<br>
Lld is claimed to be compatible with the existing linker options.<br>
However, there is a discrepancy in how the -Bstatic switch (disable
linking against shared libs) is treated by lld and GNU ld.<br>
<br>
According to the GNU ld docs, the switch affects library searching
for -l options <b>which follow it</b>.<br>
This means -Bstatic can be used multiple times in the command line
to disable dynamic linking for particular -l options. For example:<br>
<br>
ld -Bstatic -lslib1 -lslib2 -Bdynamic -ldlib1 -Bstatic -lslib3...<br>
<br>
Even though the GNU linker won't search for so-files for slib1,
slib2 and slib3, so-file for dlib1 will still be considered as it is
preceded by -Bdynamic.<br>
<br>
Lld behaves differently. <br>
-Bdynamic is not recognized yet, whereas -Bstatic applies static
linkage on the binary level, i.e. it's no longer possible to link
against any shared lib. Lld looks for static archives only if
-Bstatic is met in the command line.<br>
<br>
Is this intentional behaviour or this functionality just hasn't been
fully implemented yet?<br>
<br>
Thank you!<br>
<br>
Kind regards,<br>
Oleg<br>
</body>
</html>