Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update libfuzzer code to compiler-rt 19 #121

Closed
wants to merge 1 commit into from

Conversation

rchildre3
Copy link
Contributor

Update the LLVM compiler-rt C++ code to the top of the 19.x branch

The summary of the changes from compiler-rt 18 (the last time this code was updated) are:

  1. Preventing MSan false positives in fork mode
  2. Fix incorrect coverage number in fork mode
  3. C++ code is now built with C++17
  4. Worker thread name setting imporvements (on NetBSD and Windows)
  5. Improvements to signal handling in Fuchsia

The LLVM commits which make up the changes in this commit come from the squash of the following LLVM commits:

git log --format=reference origin/release/18.x..origin/release/19.x -- compiler-rt/lib/fuzzer/
83251a22f623 ([libFuzzer] Fix incorrect coverage number in fork mode (#82335), 2024-07-18)
b4b17d97637b (Revert "[compiler-rt] Silence function cast warning when building with Clang ToT targetting Windows", 2024-07-06)
10e1b935e5d9 ([compiler-rt] Silence function cast warning when building with Clang ToT targetting Windows, 2024-07-05)
a35ac42fac88 ([compiler-rt] Revise IDE folder structure (#89753), 2024-06-04)
d9ce33a0eea7 ([libfuzzer] Prevent MSan false positive when printing log with -jobs (#91679), 2024-05-10)
791161516f48 ([compiler-rt] Update libFuzzer build script to use C++17. (#89604), 2024-04-24)
55b90b5140a2 ([compiler-rt] Remove llvm_gtest dependency from unit tests, 2024-03-13)
e371ada409b2 ([compiler-rt] reimplements GetMemoryProfile for netbsd. (#84841), 2024-03-13)
e932fe880b69 ([compiler-rt][Fuzzer] fix windows typo (#84407), 2024-03-08)
8bf8d36f8e82 ([compiler-rt][fuzzer] Reland "SetThreadName windows implementation" (#83562), 2024-03-07)
d1538c15f9c6 (Revert fuzzer windows changes (#83551), 2024-03-01)
062d78ef58ac ([compiler-rt][fuzzer] windows build unbreak proposal. (#83538), 2024-03-01)
2cdf611c0239 ([compiler-rt][Fuzzer] SetThreadName windows implementation new try. (#76761), 2024-03-01)
7f3980a7b2c9 ([Fuzzer] Use user signal to coordinate handler shutdown (#82067), 2024-02-20)

Update the LLVM compiler-rt C++ code to the top of the 19.x branch

The summary of the changes from compiler-rt 18 (the last time this code
was updated) are:

1. Preventing MSan false positives in fork mode
2. Fix incorrect coverage number in fork mode
3. C++ code is now built with C++17
4. Worker thread name setting imporvements (on NetBSD and Windows)
5. Improvements to signal handling in Fuchsia

The LLVM commits which make up the changes in this commit come from the
squash of the following LLVM commits:

```sh
git log --format=reference origin/release/18.x..origin/release/19.x -- compiler-rt/lib/fuzzer/
```

```
83251a22f623 ([libFuzzer] Fix incorrect coverage number in fork mode (#82335), 2024-07-18)
b4b17d97637b (Revert "[compiler-rt] Silence function cast warning when building with Clang ToT targetting Windows", 2024-07-06)
10e1b935e5d9 ([compiler-rt] Silence function cast warning when building with Clang ToT targetting Windows, 2024-07-05)
a35ac42fac88 ([compiler-rt] Revise IDE folder structure (#89753), 2024-06-04)
d9ce33a0eea7 ([libfuzzer] Prevent MSan false positive when printing log with -jobs (#91679), 2024-05-10)
791161516f48 ([compiler-rt] Update libFuzzer build script to use C++17. (#89604), 2024-04-24)
55b90b5140a2 ([compiler-rt] Remove llvm_gtest dependency from unit tests, 2024-03-13)
e371ada409b2 ([compiler-rt] reimplements GetMemoryProfile for netbsd. (#84841), 2024-03-13)
e932fe880b69 ([compiler-rt][Fuzzer] fix windows typo (#84407), 2024-03-08)
8bf8d36f8e82 ([compiler-rt][fuzzer] Reland "SetThreadName windows implementation" (#83562), 2024-03-07)
d1538c15f9c6 (Revert fuzzer windows changes (#83551), 2024-03-01)
062d78ef58ac ([compiler-rt][fuzzer] windows build unbreak proposal. (#83538), 2024-03-01)
2cdf611c0239 ([compiler-rt][Fuzzer] SetThreadName windows implementation new try. (#76761), 2024-03-01)
7f3980a7b2c9 ([Fuzzer] Use user signal to coordinate handler shutdown (#82067), 2024-02-20)
```
@fitzgen
Copy link
Member

fitzgen commented Nov 7, 2024

Subsumed by #123

I was uncomfortable reviewing libfuzzer updates from other folks without checking myself that the correct code was vendored and nothing was maliciously snuck in (not that I suspect you of foul play, but just on principle) and that was too onerous, so I've automated that check in CI and also updated to release 19.x over in that PR.

In the future, libfuzzer updates should be easier and running the script should also be way faster. See that PR for details.

Thanks and sorry for letting this sit so long!

@fitzgen fitzgen closed this Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants