Bug 246129

Summary: Failure to build webkit2gtk 2.38.0 on armv7l
Product: WebKit Reporter: satadru
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Normal CC: aperez
Priority: P2    
Version: WebKit Local Build   
Hardware: Other   
OS: Linux   
Attachments:
Description Flags
armv7l 2.38.0 build log none

satadru
Reported 2022-10-05 18:18:45 PDT
Created attachment 462827 [details] armv7l 2.38.0 build log I'm building webkit2gtk 2.38.0 in the ChromeOS/Chromebrew linux environment. I'm having build success on x86_64 but not on armv7l. I was told the patch at https://github.com/Igalia/meta-webkit/raw/main/recipes-browser/wpewebkit/wpewebkit/0001-FELightningNEON.cpp-fails-to-build-NEON-fast-path-se.patch was key to getting this built, but that isn't helping either. Any ideas on what to try next? (I can provide a docker setup of our build environment if that would help.) The error: [2923/5622] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/__/__/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-37.cpp.o FAILED: Source/WebCore/CMakeFiles/WebCore.dir/__/__/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-37.cpp.o In file included from /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/builddir4/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-37.cpp:3: /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNeonApplier.cpp: In member function ‘virtual bool WebCore::FEBlendNeonApplier::apply(const WebCore::Filter&, const WebCore::FilterImageVector&, WebCore::FilterImage&) const’: /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNeonApplier.cpp:200:18: warning: cast from ‘uint8_t*’ {aka ‘unsigned char*’} to ‘uint32_t*’ {aka ‘unsigned int*’} increases required alignment of target type [-Wcast-align] 200 | sourceA[0] = reinterpret_cast<uint32_t*>(sourcePixelArrayA->bytes())[0]; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNeonApplier.cpp:201:25: warning: cast from ‘uint8_t*’ {aka ‘unsigned char*’} to ‘uint32_t*’ {aka ‘unsigned int*’} increases required alignment of target type [-Wcast-align] 201 | sourceBAndDest[0] = reinterpret_cast<uint32_t*>(sourcePixelArrayB->bytes())[0]; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNeonApplier.cpp:203:5: warning: cast from ‘unsigned char*’ to ‘uint32_t*’ {aka ‘unsigned int*’} increases required alignment of target type [-Wcast-align] 203 | reinterpret_cast<uint32_t*>(destinationPixelArray)[0] = sourceBAndDest[0]; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:28, from /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/builddir4/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-37.cpp:4: /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h: In static member function ‘static void WebCore::FELightingSoftwareApplier::applyPlatformNeon(const LightingData&, const WebCore::LightSource::PaintingData&)’: /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h:99:46: warning: attribute ignored [-Wattributes] 99 | WebCore::FELightingFloatArgumentsForNeon alignas(16) floatArguments; | ^~~~~~~ /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h:99:46: note: an attribute that appertains to a type-specifier is ignored /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp: At global scope: /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:38:8: error: standard attributes in middle of decl-specifiers 38 | static alignas(16) short s_FELightingConstantsForNeon[] = { | ^~~~~~~ /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:38:8: note: standard attributes must precede the decl-specifiers to apply to the declaration, or follow them to apply to the type /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:38:8: warning: attribute ignored [-Wattributes] /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:38:8: note: an attribute that appertains to a type-specifier is ignored In file included from /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/builddir4/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-37.cpp:7: /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp: In member function ‘void WebCore::DisplayList::ItemBuffer::append(const WebCore::DisplayList::DisplayListItem&)’: /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp:734:5: warning: cast from ‘uint8_t*’ {aka ‘unsigned char*’} to ‘uint64_t*’ {aka ‘long long unsigned int*’} increases required alignment of target type [-Wcast-align] 734 | reinterpret_cast<uint64_t*>(m_writableBuffer.data + m_writtenNumberOfBytes)[1] = dataLength; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayList.h:29, from /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayList.cpp:27, from /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/builddir4/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-37.cpp:5: /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.h: In instantiation of ‘T& WebCore::DisplayList::ItemHandle::get() const [with T = WebCore::DisplayList::SetState]’: /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayList.cpp:88:55: required from here /usr/local/tmp/crew/webkit2gtk_4.20221004191608.dir/webkitgtk-2.38.0/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.h:79:17: warning: cast from ‘uint8_t*’ {aka ‘unsigned char*’} to ‘WebCore::DisplayList::SetState*’ increases required alignment of target type [-Wcast-align] 79 | return *reinterpret_cast<T*>(data + sizeof(uint64_t)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Attachments
armv7l 2.38.0 build log (3.00 MB, text/x-log)
2022-10-05 18:18 PDT, satadru
no flags
Adrian Perez
Comment 1 2024-10-15 15:26:32 PDT
The NEON optimizations have been reworked a while back. The source source files mentioned in the build error log no longer exist, so I think we can close this.
Note You need to log in before you can comment on or make changes to this bug.