[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