Skip to content

Commit

Permalink
[WebCore] Disable -allowable_client switches when libFuzzer is enabled
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=270298
<rdar://123837523>

Reviewed by Alexey Proskuryakov.

* Source/WebCore/Configurations/WebCore.xcconfig:
(WEBCORE_ALLOWABLE_CLIENTS): Add.
(WEBCORE_ALLOWABLE_CLIENTS_YES): Add.
- Move -allowable_client switches from OTHER_LDFLAGS to here.
- Disable -allowable_client switches when ENABLE_LIBFUZZER=YES.
(WEBCORE_ALLOWABLE_CLIENTS_PLATFORM_cocoatouch): Add.
(OTHER_LDFLAGS_PLATFORM_cocoatouch): Remove.
- Rename OTHER_LDFLAGS_PLATFORM_cocoatouch to
  WEBCORE_ALLOWABLE_CLIENTS_PLATFORM_cocoatouch.
(OTHER_LDFAGS):
- Update to use $(WEBCORE_ALLOWABLE_CLIENTS).

Canonical link: https://commits.webkit.org/275519@main
  • Loading branch information
David Kilzer authored and ddkilzer committed Feb 29, 2024
1 parent b733483 commit 079924b
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions Source/WebCore/Configurations/WebCore.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -175,9 +175,12 @@ JSC_SEC_LD_FLAGS[sdk=watch*] = ;
JSC_SEC_LD_FLAGS[sdk=xr*] = ;

// FIXME: Reduce the number of allowable_clients <rdar://problem/31823969>
OTHER_LDFLAGS = $(inherited) $(WK_RELOCATABLE_FRAMEWORK_LDFLAGS) $(JSC_SEC_LD_FLAGS) -weak-lxslt -lsqlite3 -lobjc -allowable_client WebCoreTestSupport -allowable_client WebKitLegacy -allowable_client WebKit -allowable_client TestIPC -allowable_client TestWebKitAPI -allowable_client DumpRenderTree -allowable_client WebKitTestRunner -force_load $(BUILT_PRODUCTS_DIR)/libPAL.a -lswiftCore -framework CFNetwork -framework CoreAudio -framework CoreGraphics -framework CoreText -framework Foundation -framework IOSurface -framework ImageIO -framework Metal -framework Network -lFontParser $(OTHER_LDFLAGS_PLATFORM_$(WK_COCOA_TOUCH)) $(OTHER_LDFLAGS_PLATFORM_$(WK_PLATFORM_NAME)) $(WK_ANGLE_LDFLAGS) $(WK_WEBGPU_LDFLAGS) $(WK_APPKIT_LDFLAGS) $(WK_APPSUPPORT_LDFLAGS) $(WK_AUDIO_UNIT_LDFLAGS) $(WK_CARBON_LDFLAGS) $(WK_CORE_UI_LDFLAGS) $(WK_DATA_DETECTORS_CORE_LDFLAGS) $(WK_GRAPHICS_SERVICES_LDFLAGS) $(WK_IOSURFACE_ACCELERATOR_LDFLAGS) $(WK_LIBWEBRTC_LDFLAGS) $(WK_MOBILE_CORE_SERVICES_LDFLAGS) $(WK_MOBILE_GESTALT_LDFLAGS) $(WK_NETWORK_EXTENSION_LDFLAGS) $(WK_SYSTEM_CONFIGURATION_LDFLAGS) $(WK_CORE_IMAGE_LDFLAGS) $(WK_URL_FORMATTING_LDFLAGS) $(WK_UNIFORM_TYPE_IDENTIFIERS_LDFLAGS) $(WK_XR_RUNTIME_SUPPORT_LDFLAGS) $(WK_SCENEKIT_LDFLAGS) $(SOURCE_VERSION_LDFLAGS) $(PROFILE_GENERATE_OR_USE_LDFLAGS) $(WK_NO_STATIC_INITIALIZERS) $(WK_APPLEJPEGXL_LDFLAGS) $(WK_DEBUG_LDFLAGS);
WEBCORE_ALLOWABLE_CLIENTS = $(WEBCORE_ALLOWABLE_CLIENTS_$(WK_NOT_$(ENABLE_LIBFUZZER)));
WEBCORE_ALLOWABLE_CLIENTS_YES = -allowable_client WebCoreTestSupport -allowable_client WebKitLegacy -allowable_client WebKit -allowable_client TestIPC -allowable_client TestWebKitAPI -allowable_client DumpRenderTree -allowable_client WebKitTestRunner $(WEBCORE_ALLOWABLE_CLIENTS_PLATFORM_$(WK_COCOA_TOUCH));
WEBCORE_ALLOWABLE_CLIENTS_PLATFORM_cocoatouch = -allowable_client iTunesU -allowable_client Casablanca -allowable_client Remote -allowable_client TVBooks;

OTHER_LDFLAGS = $(inherited) $(WK_RELOCATABLE_FRAMEWORK_LDFLAGS) $(JSC_SEC_LD_FLAGS) -weak-lxslt -lsqlite3 -lobjc $(WEBCORE_ALLOWABLE_CLIENTS) -force_load $(BUILT_PRODUCTS_DIR)/libPAL.a -lswiftCore -framework CFNetwork -framework CoreAudio -framework CoreGraphics -framework CoreText -framework Foundation -framework IOSurface -framework ImageIO -framework Metal -framework Network -lFontParser $(OTHER_LDFLAGS_PLATFORM_$(WK_PLATFORM_NAME)) $(WK_ANGLE_LDFLAGS) $(WK_WEBGPU_LDFLAGS) $(WK_APPKIT_LDFLAGS) $(WK_APPSUPPORT_LDFLAGS) $(WK_AUDIO_UNIT_LDFLAGS) $(WK_CARBON_LDFLAGS) $(WK_CORE_UI_LDFLAGS) $(WK_DATA_DETECTORS_CORE_LDFLAGS) $(WK_GRAPHICS_SERVICES_LDFLAGS) $(WK_IOSURFACE_ACCELERATOR_LDFLAGS) $(WK_LIBWEBRTC_LDFLAGS) $(WK_MOBILE_CORE_SERVICES_LDFLAGS) $(WK_MOBILE_GESTALT_LDFLAGS) $(WK_NETWORK_EXTENSION_LDFLAGS) $(WK_SYSTEM_CONFIGURATION_LDFLAGS) $(WK_CORE_IMAGE_LDFLAGS) $(WK_URL_FORMATTING_LDFLAGS) $(WK_UNIFORM_TYPE_IDENTIFIERS_LDFLAGS) $(WK_XR_RUNTIME_SUPPORT_LDFLAGS) $(WK_SCENEKIT_LDFLAGS) $(SOURCE_VERSION_LDFLAGS) $(PROFILE_GENERATE_OR_USE_LDFLAGS) $(WK_NO_STATIC_INITIALIZERS) $(WK_APPLEJPEGXL_LDFLAGS) $(WK_DEBUG_LDFLAGS);

OTHER_LDFLAGS_PLATFORM_cocoatouch = -allowable_client iTunesU -allowable_client Casablanca -allowable_client Remote -allowable_client TVBooks;
OTHER_LDFLAGS_PLATFORM_macosx = -sub_library libobjc $(PROFILE_GENERATE_OR_USE_LDFLAGS);

SECTORDER_FLAGS = $(SECTORDER_FLAGS_$(CONFIGURATION));
Expand Down

0 comments on commit 079924b

Please sign in to comment.