Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3e9fc628f13a448a4862462b20a1f645ebfa32af
https://github.com/WebKit/WebKit/commit/3e9fc628f13a448a4862462b20a1f645ebfa32af
Author: Yusuke Suzuki <[email protected]>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M Source/JavaScriptCore/API/PASReportCrashPrivate.h
M Source/bmalloc/CMakeLists.txt
M Source/bmalloc/bmalloc.xcodeproj/project.pbxproj
R Source/bmalloc/libpas/src/libpas/pas_backtrace_metadata.h
M
Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c
M
Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.h
M Source/bmalloc/libpas/src/libpas/pas_report_crash.c
M Source/bmalloc/libpas/src/libpas/pas_report_crash_pgm_report.h
Log Message:
-----------
[JSC] Module verifier must not include pas headers
https://bugs.webkit.org/show_bug.cgi?id=301004
rdar://162889775
Reviewed by Mark Lam.
PASReportCrashPrivate.h is tailored for very particular SPI client. While
pas headers are included, pas headers are not guaranteeing that they can
be built with random compiler configurations (rather, it is not
guaranteed at all).
However, module verifier is enabled and it started scanning pas headers
with client's compiler flags. Enabling it without redesigning
PASReportCrashPrivate.h
does not work since compiling that header with random compiler flags is not
supported. This makes JSC build significantly fragile since pas headers
and API headers (which assumes that it can be built with various compiler
flags) have strict difference about what build configurations they accept.
Let's see JS API headers, they have very different world compared to the
other headers because they need to ensure that they can be included from
random clients. And this is the same to pas headers as well.
PASReportCrashPrivate.h is not designed in this way. So if module verifier
start verifying it (while it is SPI for a particular client), then it needs
to change PASReportCrashPrivate.h to make it work.
This patch stops including random pas header dependencies from
PASReportCrashPrivate.h.
Included part is strictly isolated from the rest of the libpas.
* Source/JavaScriptCore/API/PASReportCrashPrivate.h:
* Source/bmalloc/CMakeLists.txt:
* Source/bmalloc/bmalloc.xcodeproj/project.pbxproj:
* Source/bmalloc/libpas/src/libpas/pas_backtrace_metadata.h: Removed.
* Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c:
(pas_probabilistic_guard_malloc_allocate):
(pas_probabilistic_guard_malloc_deallocate):
* Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.h:
* Source/bmalloc/libpas/src/libpas/pas_report_crash.c:
(pas_report_crash_extract_pgm_failure):
* Source/bmalloc/libpas/src/libpas/pas_report_crash_pgm_report.h:
Canonical link: https://commits.webkit.org/301744@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes