You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This makes it consistent to use LLD across all configurations. It also
moves away from using gold linker, which has recently been deprecated.
On top of that LLD is faster and has better compatibility with LLVM
toolchain that is already used for building.
This commit also fixes warnings that can sometimes occur with BFD
linker that doesn't fully support DWARF 5, at least the version on the
builder: DWARF: invalid or unhandled FORM value: 0x22
Some projects already replaced linker in their build scripts for this
reason.
Copy file name to clipboardExpand all lines: docs/advanced-topics/fuzz_introspector.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -101,16 +101,16 @@ There are some differences in build environment for Fuzz Introspector builds
101
101
in comparison to e.g. ASAN or code coverage builds. The reason is that
102
102
Fuzz Introspector relies on certain compile-time tools to do its analysis.
103
103
This compile time tooling differs between languages, namely:
104
-
- For C/C++, Fuzz Introspector relies on [LLVM LTO](https://llvm.org/docs/LinkTimeOptimization.html) and [LLVM Gold](https://llvm.org/docs/GoldPlugin.html)
104
+
- For C/C++, Fuzz Introspector relies on [LLVM LTO](https://llvm.org/docs/LinkTimeOptimization.html)
105
105
- For Python, Fuzz Introspector relies on a modified [PyCG](https://github.com/vitsalis/PyCG)
106
106
- For Java, Fuzz Introspector relies on [Soot](https://soot-oss.github.io/soot/)
107
107
108
108
The consequence of this is your project must be compatible with these projects.
109
109
PyCG and Soot have not shown to be a blocker for many projects, however, experience
110
110
has shown that sometimes a project's build needs modification in order to compile
111
111
with LLVM LTO. The easiest way to test if your project works with LLVM is checking
112
-
whether your project can compile with the flags `-flto -fuse-ld=gold` and using
113
-
the gold linker. OSS-Fuzz automatically sets these flags and linker options when
112
+
whether your project can compile with the flags `-flto -fuse-ld=lld` and using
113
+
the LLD linker. OSS-Fuzz automatically sets these flags and linker options when
114
114
using `infra/helper.py` to build your project with `--sanitizer=introspector`, e.g.
0 commit comments