[Webkit-unassigned] [Bug 279985] New: [Skia] Build fails on ppc64le due to MUST_TAIL_CALL when tail call is not possible
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Sep 19 08:45:19 PDT 2024
https://bugs.webkit.org/show_bug.cgi?id=279985
Bug ID: 279985
Summary: [Skia] Build fails on ppc64le due to MUST_TAIL_CALL
when tail call is not possible
Product: WebKit
Version: Other
Hardware: PC
OS: Linux
Status: NEW
Severity: Normal
Priority: P2
Component: WebKitGTK
Assignee: webkit-unassigned at lists.webkit.org
Reporter: mcatanzaro at redhat.com
CC: bugs-noreply at webkitgtk.org
We get this Clang crash when trying to build WebKitGTK 2.45.92 on ppc64le:
/usr/bin/clang++ -DBUILDING_GTK__=1 -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DBWRAP_EXECUTABLE=\"/usr/bin/bwrap\" -DDBUS_PROXY_EXECUTABLE=\"/usr/bin/xdg-dbus-proxy\" -DGETTEXT_PACKAGE=\"
WebKitGTK-6.0\" -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DPAS_BMALLOC=1 -DSKCMS_DISABLE_HSW -DSKCMS_DISABLE_SKX -DSKIA_IMPLEMENTATION=1 -DSK_ASSUME_GL=0 -DSK_ASSUME_GL_ES=1 -DSK_ASSUME_WEBG
L=0 -DSK_CODEC_DECODES_PNG -DSK_DISABLE_LEGACY_GL_MAKE_NATIVE_INTERFACE -DSK_DISABLE_LEGACY_IMAGE_READBUFFER -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_DISABLE_LEGACY_PNG_WRITEBUFFER -DSK_DISABL
E_TRACING -DSK_DISABLE_WEBGL_INTERFACE -DSK_ENABLE_PRECOMPILE -DSK_GAMMA_APPLY_TO_A8 -DSK_GANESH -DSK_GL -DSK_R32_SHIFT=16 -DSK_RELEASE -DSK_TRIVIAL_ABI=[[clang::trivial_abi]] -DSK_TYPEFACE_
FACTORY_FREETYPE -I/builddir/build/BUILD/webkitgtk-2.45.92-build/webkitgtk-2.45.92/Source/ThirdParty/skia -isystem /usr/include/freetype2 -fdiagnostics-color=always -fcolor-diagnostics -Wext
ra -Wall -pipe -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-parentheses-equality -Qunused-arguments -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wc
ast-align -Wno-tautological-compare -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS --confi
g=/usr/lib/rpm/redhat/redhat-hardened-clang.cfg -fstack-protector-strong -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -fno-strict-aliasing -fno-exc
eptions -fno-rtti -fcoroutines -ffunction-sections -fdata-sections -DNDEBUG -std=c++23 -fPIC -fvisibility=hidden -ffp-contract=off -fstrict-aliasing -Wno-attributes -Wno-cast-align -Wno-depr
ecated -Wno-psabi -Wno-undef -Wno-uninitialized -Wno-unused-parameter -pthread -DWITH_GZFILEOP -MD -MT Source/ThirdParty/skia/CMakeFiles/Skia.dir/src/core/SkOpts.cpp.o -MF Source/ThirdParty/
skia/CMakeFiles/Skia.dir/src/core/SkOpts.cpp.o.d -o Source/ThirdParty/skia/CMakeFiles/Skia.dir/src/core/SkOpts.cpp.o -c /builddir/build/BUILD/webkitgtk-2.45.92-build/webkitgtk-2.45.92/Source
/ThirdParty/skia/src/core/SkOpts.cpp
fatal error: error in backend: failed to perform tail call elimination on a call site marked musttail
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Turns out Skia's use of clang::musttail is not supported by Clang and needs to be removed in Skia. Relevant links:
https://github.com/llvm/llvm-project/pull/93267 (fix the crash, emit a proper error message instead)
https://github.com/llvm/llvm-project/issues/98859 (unresolved issue report to support tail calls in this situation)
https://github.com/llvm/llvm-project/issues/108014 (WebKit-specific issue report)
Because skia has strict requirements regarding contributor license agreements, I cannot contribute to upstream Skia. If somebody who is authorized to contribute to Skia could upstream it, that would be lovely, so we don't need to carry the diff in WebKit forever.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240919/40c3c49f/attachment.htm>
More information about the webkit-unassigned
mailing list