WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
314199
[GTK] [2.53.2] x86: error: no class named 'LLIntOffsetsExtractor' in namespace 'JSC'
https://bugs.webkit.org/show_bug.cgi?id=314199
Summary
[GTK] [2.53.2] x86: error: no class named 'LLIntOffsetsExtractor' in namespac...
Alberto Garcia
Reported
2026-05-06 07:56:09 PDT
This only happens in i386: FAILED: [code=1] Source/JavaScriptCore/CMakeFiles/LLIntOffsetsExtractor.dir/llint/LLIntOffsetsExtractor.cpp.o In file included from /tmp/webkit2gtk-2.53.2/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:28: /tmp/webkit2gtk-2.53.2/build-gtk3/JavaScriptCore/PrivateHeaders/JavaScriptCore/ArithProfile.h:262:23: error: no class named 'LLIntOffsetsExtractor' in namespace 'JSC' 262 | friend class JSC::LLIntOffsetsExtractor; | ~~~~~^ /tmp/webkit2gtk-2.53.2/build-gtk3/JavaScriptCore/PrivateHeaders/JavaScriptCore/ArithProfile.h:387:23: error: no class named 'LLIntOffsetsExtractor' in namespace 'JSC' 387 | friend class JSC::LLIntOffsetsExtractor; | ~~~~~^ In file included from /tmp/webkit2gtk-2.53.2/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:117: /tmp/webkit2gtk-2.53.2/build-gtk3/JavaScriptCore/DerivedSources/LLIntDesiredOffsets.h:708:42: error: 'm_bits' is a protected member of 'JSC::ArithProfile<unsigned short>' 708 | OFFLINE_ASM_OFFSETOF(BinaryArithProfile, m_bits), | ^ /tmp/webkit2gtk-2.53.2/build-gtk3/JavaScriptCore/PrivateHeaders/JavaScriptCore/ArithProfile.h:181:18: note: declared protected here 181 | BitfieldType m_bits { 0 }; // We take care to update m_bits only in a single operation. We don't ever store an inconsistent bit representation to it. | ^ In file included from /tmp/webkit2gtk-2.53.2/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:117: /tmp/webkit2gtk-2.53.2/build-gtk3/JavaScriptCore/DerivedSources/LLIntDesiredOffsets.h:1344:41: error: 'm_bits' is a protected member of 'JSC::ArithProfile<unsigned short>' 1344 | OFFLINE_ASM_OFFSETOF(UnaryArithProfile, m_bits), | ^ /tmp/webkit2gtk-2.53.2/build-gtk3/JavaScriptCore/PrivateHeaders/JavaScriptCore/ArithProfile.h:181:18: note: declared protected here 181 | BitfieldType m_bits { 0 }; // We take care to update m_bits only in a single operation. We don't ever store an inconsistent bit representation to it. | ^
Attachments
Partial patch
(2.06 KB, patch)
2026-05-07 02:29 PDT
,
Alberto Garcia
no flags
Details
Formatted Diff
Diff
Patch
(5.64 KB, patch)
2026-05-07 05:58 PDT
,
Alberto Garcia
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Michael Catanzaro
Comment 1
2026-05-06 17:33:48 PDT
Also on ppc64le! It's probably broken when JIT is disabled.
Michael Catanzaro
Comment 2
2026-05-06 17:34:46 PDT
(I'll look closer tomorrow. Don't let this discourage anybody else from beating me to it. Sometimes these JSC build failures are easy, and sometimes they are quite hard.)
Alberto Garcia
Comment 3
2026-05-07 01:50:34 PDT
For this particular error this change is enough, but there's more, I'll attach soon a patch with what I got: - friend class JSC::LLIntOffsetsExtractor; + friend class LLIntOffsetsExtractor;
Alberto Garcia
Comment 4
2026-05-07 02:29:07 PDT
Created
attachment 479516
[details]
Partial patch There are a few more build errors, with the attached patch I managed to get here: [2/24] Building CXX object Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/GeneratedSerializers.cpp.o FAILED: [code=1] Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/GeneratedSerializers.cpp.o error: __OPTIMIZE__ predefined macro was enabled in precompiled file '/tmp/webkit2gtk-2.53.2/build-gtk3/Source/WebKit/CMakeFiles/WebKit.dir/cmake_pch.hxx.pch' but is currently disabled 1 error generated.
Alberto Garcia
Comment 5
2026-05-07 02:32:18 PDT
Notably the clang line ends like this: [...] -g1 -O2 -ffile-prefix-map=/tmp/webkit2gtk-2.53.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -DG_DISABLE_CAST_CHECKS -fno-strict-aliasing -fno-exceptions -fno-rtti -fcoroutines -ffunction-sections -fdata-sections -std=c++23 -fPIC -fvisibility=hidden -Wunsafe-buffer-usage -Wunsafe-buffer-usage-in-libc-call -fsafe-buffer-usage-suggestions -Wno-unused-parameter -I/usr/include/gio-unix-2.0 -I/usr/include -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -pthread -DHWY_SHARED_DEFINE -DAVIF_DLL -DEB_DLL -DRTC_BUILD=0 -DHAVE_HB_FEATURES_H -O0 -DRELEASE_WITHOUT_OPTIMIZATIONS=ON -Winvalid-pch -Xclang -include-pch -Xclang /tmp/webkit2gtk-2.53.2/build-gtk3/Source/WebKit/CMakeFiles/WebKit.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /tmp/webkit2gtk-2.53.2/build-gtk3/Source/WebKit/CMakeFiles/WebKit.dir/cmake_pch.hxx -MD -MT Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/GeneratedSerializers.cpp.o -MF Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/GeneratedSerializers.cpp.o.d -o Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/GeneratedSerializers.cpp.o -c /tmp/webkit2gtk-2.53.2/build-gtk3/DerivedSources/WebKit/GeneratedSerializers.cpp That line includes both -O2 and -O0 -DRELEASE_WITHOUT_OPTIMIZATIONS=ON
Alberto Garcia
Comment 6
2026-05-07 02:46:25 PDT
So there are two things here: - After commit
310778@main
, WTF_CPU_ARM is always set if FORCE_32BIT is set, regardless of the actual CPU. I use FORCE_32BIT in Debian because I'm compiling on an x86_64 host and WebKit thinks (or used to think) that I'm making a 64-bit build. - With
310466@main
, if WTF_CPU_ARM is set we have set(GeneratedSerializers_COMPILE_OPTIONS -O0 -DRELEASE_WITHOUT_OPTIMIZATIONS=ON), resulting in the error message that I just pasted.
Alberto Garcia
Comment 7
2026-05-07 03:46:22 PDT
> set(GeneratedSerializers_COMPILE_OPTIONS -O0 -DRELEASE_WITHOUT_OPTIMIZATIONS=ON)
I think these also need SKIP_PRECOMPILE_HEADERS ON, I'm currently testing a new build.
Alberto Garcia
Comment 8
2026-05-07 05:58:18 PDT
Created
attachment 479517
[details]
Patch Ok, with this I can build on i386 and armhf successfully. This was tested with 2.53.2, in main it needs some tweaks, and maybe we would want to divide into smaller patches.
Michael Catanzaro
Comment 9
2026-05-07 13:51:08 PDT
Good job! Thank you. This all looks good to land. I'd say you can decide whether you want to do it in one commit with explanations of each change, or as separate commits.
Alberto Garcia
Comment 10
2026-05-08 10:27:45 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/64558
EWS
Comment 11
2026-05-08 11:49:37 PDT
Committed
312907@main
(b1f134baa5c8): <
https://commits.webkit.org/312907@main
> Reviewed commits have been landed. Closing PR #64558 and removing active labels.
Radar WebKit Bug Importer
Comment 12
2026-05-08 11:50:16 PDT
<
rdar://problem/176574107
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug