[webkit-changes] [WebKit/WebKit] c90aee: Add ANGLE shader translator fuzzer compile targets
Kimmo Kinnunen
noreply at github.com
Thu Sep 19 23:07:34 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c90aee964745d4ce9443f3ed1e2e71f51eca323a
https://github.com/WebKit/WebKit/commit/c90aee964745d4ce9443f3ed1e2e71f51eca323a
Author: Kimmo Kinnunen <kkinnunen at apple.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj
A Source/ThirdParty/ANGLE/ANGLE.xcodeproj/xcshareddata/xcschemes/Fuzzers (ANGLE).xcscheme
A Source/ThirdParty/ANGLE/ANGLE.xcodeproj/xcshareddata/xcschemes/Tools (ANGLE).xcscheme
A Source/ThirdParty/ANGLE/Configurations/ANGLETranslatorFuzzer.xcconfig
A Source/ThirdParty/ANGLE/Configurations/ANGLETranslatorFuzzerCoverage.xcconfig
A Source/ThirdParty/ANGLE/Configurations/ANGLETranslatorFuzzerDumpTestCase.xcconfig
A Source/ThirdParty/ANGLE/Configurations/ANGLETranslatorFuzzerStats.xcconfig
A Source/ThirdParty/ANGLE/Configurations/translator.xcconfig
A Source/ThirdParty/ANGLE/WebKit/TranslatorFuzzer.cpp
A Source/ThirdParty/ANGLE/WebKit/TranslatorFuzzerCoverage.mm
A Source/ThirdParty/ANGLE/WebKit/TranslatorFuzzerCoverageInfo.plist
A Source/ThirdParty/ANGLE/WebKit/TranslatorFuzzerDumpTestCase.cpp
A Source/ThirdParty/ANGLE/WebKit/TranslatorFuzzerStats.cpp
A Source/ThirdParty/ANGLE/WebKit/TranslatorFuzzerSupport.h
A Source/ThirdParty/ANGLE/WebKit/webgl-glsl.dict
Log Message:
-----------
Add ANGLE shader translator fuzzer compile targets
https://bugs.webkit.org/show_bug.cgi?id=278782
rdar://134846437
Reviewed by David Kilzer.
Adds fuzz target that are not built by default WebKit build.
Build by
make release SCHEME="Fuzzers (ANGLE)" ASAN=YES LIBFUZZER=YES
ANGLEShaderTranslator
- fuzz target
- links statically to libtranslator (see below)
Adds the existing metal_translator_fuzzer to this "Fuzzers (ANGLE)"
aggregate target, too.
Adds fuzzing tools that are not built by default WebKit build.
Build by
make release SCHEME="Tools (ANGLE)" ASAN=NO LIBFUZZER=NO
ANGLEShaderTranslatorCoverage
- XCTest project to run the corpus with the compile flags of
ANGLEShaderTranslator
- Can be used to verify the coverage of the corpus
ANGLEShaderTranslatorStats
- Used to analyze RSS increases when corpus is run
- Run the corpus with the compile flags of
ANGLEShaderTranslator
Adds a static library that is not built by default WebKitBuild
libtranslator
- Compiles translator again, to be linked statically to the fuzzer
- In later commits, may be linked to libANGLE-shared. Not done
in this commit to avoid breakage.
* Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:
* Source/ThirdParty/ANGLE/ANGLE.xcodeproj/xcshareddata/xcschemes/Fuzzers (ANGLE).xcscheme: Added.
* Source/ThirdParty/ANGLE/ANGLE.xcodeproj/xcshareddata/xcschemes/Tools (ANGLE).xcscheme: Added.
* Source/ThirdParty/ANGLE/Configurations/ANGLETranslatorFuzzer.xcconfig: Added.
* Source/ThirdParty/ANGLE/Configurations/ANGLETranslatorFuzzerCoverage.xcconfig: Added.
* Source/ThirdParty/ANGLE/Configurations/ANGLETranslatorFuzzerDumpTestCase.xcconfig: Added.
* Source/ThirdParty/ANGLE/Configurations/ANGLETranslatorFuzzerStats.xcconfig: Added.
* Source/ThirdParty/ANGLE/Configurations/translator.xcconfig: Added.
* Source/ThirdParty/ANGLE/WebKit/TranslatorFuzzer.cpp: Added.
(sh:: const):
(sh::mutateOptions):
(sh::initializeValidFuzzerOptions):
(sh::mutate):
(sh::initializeTranslators):
(sh::getTranslator):
(sh::initializeFuzzer):
(filterOptions):
(LLVMFuzzerCustomMutator):
(LLVMFuzzerTestOneInput):
* Source/ThirdParty/ANGLE/WebKit/TranslatorFuzzerCoverage.mm: Added.
(LLVMFuzzerMutate):
(-[TranslatorFuzzerCoverage setUp]):
(-[TranslatorFuzzerCoverage tearDown]):
(-[TranslatorFuzzerCoverage testFuzzerCorpusCoverage]):
* Source/ThirdParty/ANGLE/WebKit/TranslatorFuzzerCoverageInfo.plist: Added.
* Source/ThirdParty/ANGLE/WebKit/TranslatorFuzzerDumpTestCase.cpp: Added.
(LLVMFuzzerMutate):
* Source/ThirdParty/ANGLE/WebKit/TranslatorFuzzerStats.cpp: Added.
(LLVMFuzzerMutate):
(getRSSKB):
(main):
* Source/ThirdParty/ANGLE/WebKit/TranslatorFuzzerSupport.h: Added.
(GLSLDumpHeader::GLSLDumpHeader):
(GLSLDumpHeader::write):
* Source/ThirdParty/ANGLE/WebKit/webgl-glsl.dict: Added.
Canonical link: https://commits.webkit.org/283977@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list