<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>236072</bug_id>
          
          <creation_ts>2022-02-03 03:58:24 -0800</creation_ts>
          <short_desc>webkitgtk 2.34.4 fails to build on aarch64 (with GCC 11.2.0)</short_desc>
          <delta_ts>2022-04-29 04:06:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Marvin Schmidt">marvin_schmidt</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1836855</commentid>
    <comment_count>0</comment_count>
    <who name="Marvin Schmidt">marvin_schmidt</who>
    <bug_when>2022-02-03 03:58:24 -0800</bug_when>
    <thetext>webkitgtk 2.34.4 fails to build for me with GCC 11.2.0 on a aarch64-unknown-linux-gnueabi system:

FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-3.cpp.o 
/usr/bin/aarch64-unknown-linux-gnueabi-c++ -DBUILDING_GTK__=1 -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DBWRAP_EXECUTABLE=\&quot;/usr/bin/bwrap\&quot; -DDBUS_PROXY_EXECUTABLE=\&quot;/usr/bin/xdg-dbus-proxy\&quot; -DGETTEXT_PACKAGE=\&quot;WebKit2GTK-4.0\&quot; -DHAVE_CONFIG_H=1 -DJSC_COMPILATION -DJSC_GLIB_API_ENABLED -DJavaScriptCore_EXPORTS -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -DWEBKITGTK_API_VERSION_STRING=\&quot;4.0\&quot; -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/Headers -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/API -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/assembler -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/b3 -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/b3/air -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/bindings -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/builtins -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/bytecode -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/bytecompiler -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/dfg -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/disassembler -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/disassembler/ARM64 -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/disassembler/udis86 -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/domjit -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/ftl -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/heap -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/debugger -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/inspector -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/inspector/agents -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/inspector/augmentable -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/inspector/remote -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/interpreter -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/jit -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/llint -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/parser -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/profiler -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/runtime -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/tools -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/wasm -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/wasm/js -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/yarr -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/DerivedSources -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/DerivedSources/inspector -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/DerivedSources/runtime -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/DerivedSources/yarr -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/API/glib -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCoreGLib/DerivedSources/jsc -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCoreGLib/Headers -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/inspector/remote/glib -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/WTF/Headers -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/bmalloc/Headers -isystem /usr/aarch64-unknown-linux-gnueabi/include/glib-2.0 -isystem /usr/aarch64-unknown-linux-gnueabi/lib/glib-2.0/include -fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-nonnull -Wno-array-bounds -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -march=native -pipe -O2 -DNDEBUG -fno-strict-aliasing -fno-exceptions -fno-rtti -fPIC -ffp-contract=off -std=c++17 -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-3.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-3.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-3.cpp.o -c /mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-3.cpp
In file included from /usr/aarch64-unknown-linux-gnueabi/include/c++/11.2.0/memory:76,
                 from /mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/WTF/Headers/wtf/StdLibExtras.h:30,
                 from /mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/WTF/Headers/wtf/FastMalloc.h:26,
                 from /mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/config.h:38,
                 from /mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:26,
                 from /mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-3.cpp:1:
/usr/aarch64-unknown-linux-gnueabi/include/c++/11.2.0/bits/unique_ptr.h: In instantiation of &apos;void std::default_delete&lt;_Tp&gt;::operator()(_Tp*) const [with _Tp = JSC::OpaqueByproducts]&apos;:
/usr/aarch64-unknown-linux-gnueabi/include/c++/11.2.0/bits/unique_ptr.h:361:17:   required from &apos;std::unique_ptr&lt;_Tp, _Dp&gt;::~unique_ptr() [with _Tp = JSC::OpaqueByproducts; _Dp = std::default_delete&lt;JSC::OpaqueByproducts&gt;]&apos;
/usr/aarch64-unknown-linux-gnueabi/include/c++/11.2.0/bits/unique_ptr.h:962:30:   required from &apos;typename std::_MakeUniq&lt;_Tp&gt;::__single_object std::make_unique(_Args&amp;&amp; ...) [with _Tp = JSC::Compilation; _Args = {JSC::MacroAssemblerCodeRef&lt;(WTF::PtrTag)2367&gt;, std::nullptr_t}; typename std::_MakeUniq&lt;_Tp&gt;::__single_object = std::unique_ptr&lt;JSC::Compilation&gt;]&apos;
/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/WTF/Headers/wtf/StdLibExtras.h:507:31:   required from &apos;decltype(auto) WTF::makeUnique(Args&amp;&amp; ...) [with T = JSC::Compilation; Args = {JSC::MacroAssemblerCodeRef&lt;(WTF::PtrTag)2367&gt;, std::nullptr_t}]&apos;
/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/wasm/WasmLLIntPlan.cpp:163:71:   required from here
/usr/aarch64-unknown-linux-gnueabi/include/c++/11.2.0/bits/unique_ptr.h:83:23: error: invalid application of &apos;sizeof&apos; to incomplete type &apos;JSC::OpaqueByproducts&apos;
   83 |         static_assert(sizeof(_Tp)&gt;0,
      |                       ^~~~~~~~~~~
ninja: build stopped: subcommand failed.

Full build log: https://dev.exherbo.org/~marv/1643879122-install-net-libs_webkit-2.34.4:4.0::gnome.out.nocolor

The last version I was able to build successfully on that system was 2.30.5, so I think it started failing with 2.32.x

Any idea what&apos;s going on here? Help is much appreciated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836938</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-02-03 07:41:49 -0800</bug_when>
    <thetext>Works for me. Try adding:

#include &quot;JITOpaqueByproducts.h&quot;

in WasmLLIntPlan.cpp. Does that work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865394</commentid>
    <comment_count>2</comment_count>
    <who name="Marvin Schmidt">marvin_schmidt</who>
    <bug_when>2022-04-29 04:06:39 -0700</bug_when>
    <thetext>Yep, that fixed it, thank you!</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>