Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 903133 - net-libs/webkit-gtk-2.40.0-r410 compile error on arm64 (ARM64/A64DOpcode.h:218:13: error: dataLogLn was not declared in this scope)
Summary: net-libs/webkit-gtk-2.40.0-r410 compile error on arm64 (ARM64/A64DOpcode.h:21...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM64 Linux
: Normal normal
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2023-03-26 19:58 UTC by Steve Arnold
Modified: 2023-10-18 20:31 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
compressed log file (net-libs-webkit-gtk-2.40.0-r410-20230326-193431.log.gz,106.96 KB, application/gzip)
2023-03-26 20:06 UTC, Steve Arnold
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Steve Arnold archtester gentoo-dev 2023-03-26 19:58:35 UTC
# emerge -pqv '=net-libs/webkit-gtk-2.40.0-r410::gentoo'
[ebuild     U ] net-libs/webkit-gtk-2.40.0-r410 [2.38.5-r410] USE="X gnome-keyring gstreamer introspection jpeg2k lcms pdf (seccomp) spell wayland (-aqua) -avif -examples -gamepad -gles2-only -jumbo-build -systemd (-egl%*) (-test%)" 


# emerge --info '=net-libs/webkit-gtk-2.40.0-r410::gentoo'
Portage 3.0.45.3 (python 3.10.10-final-0, default/linux/arm64/17.0/desktop/gnome, gcc-12, glibc-2.37-r1, 6.3.0-rc2-x13s-r0 aarch64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.3.0-rc2-x13s-r0-aarch64-with-glibc2.37
KiB Mem:    15725076 total,  10024760 free
KiB Swap:    2097148 total,   2096892 free
Timestamp of repository gentoo: Sun, 26 Mar 2023 03:00:01 +0000
Head commit of repository gentoo: 8c7945348d52be34bcf2fec6fc664e74cc5b653b
Head commit of repository lto-overlay: a24c46a21cf51e3465d8f349a2b90b95a6c397af

Head commit of repository mv: 15bf77a292f968c125f432e78c2727a56d5279a1

Head commit of repository embedded-overlay: 2e88e72f3d040bf81b74c9249be48a500b84b98c

Head commit of repository sakaki-tools: ba4c2090cbe2c2c664c5246048ae207e7a9f45be

sh bash 5.2_p15-r2
ld GNU ld (Gentoo 2.40 p3) 2.40.0
ccache version 4.8 [disabled]
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p15-r2::gentoo
dev-lang/perl:             5.36.0-r2::gentoo
dev-lang/python:           3.10.10_p3::gentoo, 3.11.2_p2::gentoo
dev-lang/rust:             1.68.1::gentoo
dev-util/ccache:           4.8::gentoo
dev-util/cmake:            3.26.1::gentoo
dev-util/meson:            1.0.1::gentoo
sys-apps/baselayout:       2.13-r1::gentoo
sys-apps/openrc:           0.46::gentoo
sys-apps/sandbox:          2.30-r1::gentoo
sys-devel/autoconf:        2.13-r7::gentoo, 2.71-r5::gentoo
sys-devel/automake:        1.16.5::gentoo
sys-devel/binutils:        2.40-r3::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           15.0.7-r1::gentoo, 16.0.0::gentoo
sys-devel/gcc:             12.2.1_p20230304::gentoo
sys-devel/gcc-config:      2.10::gentoo
sys-devel/libtool:         2.4.7-r1::gentoo
sys-devel/lld:             15.0.7::gentoo
sys-devel/llvm:            15.0.7::gentoo, 16.0.0::gentoo
sys-devel/make:            4.4.1::gentoo
sys-kernel/linux-headers:  6.2::gentoo (virtual/os-headers)
sys-libs/glibc:            2.37-r1::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1

lto-overlay
    location: /var/db/repos/lto-overlay
    sync-type: git
    sync-uri: https://github.com/InBetweenNames/gentooLTO
    masters: gentoo mv
    volatile: False

mv
    location: /var/db/repos/mv
    sync-type: git
    sync-uri: https://cgit.gentoo.org/user/mv.git
    masters: gentoo
    volatile: False

embedded-overlay
    location: /var/db/repos/embedded-overlay
    sync-type: git
    sync-uri: https://github.com/VCTLabs/embedded-overlay.git
    masters: gentoo
    priority: 50
    volatile: False

sakaki-tools
    location: /var/db/repos/sakaki-tools
    sync-type: git
    sync-uri: https://github.com/sarnold/sakaki-tools.git
    masters: gentoo
    priority: 50
    volatile: False

ACCEPT_KEYWORDS="arm64 ~arm64"
ACCEPT_LICENSE="@FREE CC-Sampling-Plus-1.0 BSL-1.1 DB szip CC-BY-NC-SA-3.0 RAR all-rights-reserved GPLv2+ linux-fw-redistributable"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -flto=8 -fuse-linker-plugin -march=armv8-a+crc+crypto -pipe"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -flto=8 -fuse-linker-plugin -march=armv8-a+crc+crypto -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms split-elog strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2"
GENTOO_MIRRORS="http://gentoo.osuosl.org/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
LINGUAS="en"
MAKEOPTS="-j8"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac acl acpi alsa appindicator arm64 bluetooth branding bzip2 cairo caps cdda cdr cli colord crypt cups dbus dri dts dvdr eds elogind encode evo exif flac fortran gdbm gif gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk gui iconv icu introspection ipv6 jpeg lcms libglvnd libnotify libsecret libtirpc logrotate mad mng mp3 mp4 mpeg nautilus ncurses networkmanager nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt5 readline sdl seccomp sound spell split-usr ssl startup-notification svg test-rust tiff truetype udev udisks unicode upower usb vala vorbis wayland wxwidgets x264 xattr xcb xft xml xv xvid zlib" ADA_TARGET="gnat_2021" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp thumb vfp vfpv3 vfpv4 vfp-d32 aes sha1 sha2 crc32 v4 v5 v6 v7 v8 thumb2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en en-US" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" QEMU_SOFTMMU_TARGETS="arm arm64 riscv32 riscv64" QEMU_USER_TARGETS="arm arm64 riscv32 riscv64" RUBY_TARGETS="ruby31" USERLAND="GNU" VIDEO_CARDS="freedreno fbdev" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-03-26 20:02:31 UTC
Please always include the full build.log.
Comment 2 Steve Arnold archtester gentoo-dev 2023-03-26 20:06:23 UTC
Created attachment 859049 [details]
compressed log file
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-03-26 20:26:50 UTC
FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/ARM64/A64DOpcode.cpp.o 
/usr/bin/aarch64-unknown-linux-gnu-g++ -DBUILDING_GTK__=1 -DBUILDING_JavaScriptCore -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DBWRAP_EXECUTABLE=\"/usr/bin/bwrap\" -DDBUS_PROXY_EXECUTABLE=\"/usr/bin/xdg-dbus-proxy\" -DGETTEXT_PACKAGE=\"WebKitGTK-4.1\" -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DJavaScriptCore_EXPORTS -DPAS_BMALLOC=1 -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build/JavaScriptCore/Headers -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/API -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/assembler -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/b3 -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/b3/air -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/bindings -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/builtins -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/bytecode -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/bytecompiler -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/dfg -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/disassembler -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/disassembler/ARM64 -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/disassembler/zydis/Zydis -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/domjit -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/ftl -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/heap -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/debugger -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/inspector -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/inspector/agents -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/inspector/augmentable -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/inspector/remote -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/interpreter -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/jit -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/llint -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/parser -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/profiler -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/runtime -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/tools -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/wasm -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/wasm/js -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/yarr -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build/JavaScriptCore/DerivedSources -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build/JavaScriptCore/DerivedSources/inspector -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build/JavaScriptCore/DerivedSources/runtime -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build/JavaScriptCore/DerivedSources/yarr -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/API/glib -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build/JavaScriptCoreGLib/DerivedSources -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build/JavaScriptCoreGLib/DerivedSources/jsc -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build/JavaScriptCoreGLib/Headers -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/inspector/remote/glib -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build/WTF/Headers -I/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build/bmalloc/Headers -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include  -DNDEBUG -fdiagnostics-color=always -Wextra -Wall -pipe -fmax-errors=20 -Wno-odr -Wno-stringop-overread -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -flto=8 -fuse-linker-plugin -march=armv8-a+crc+crypto -pipe -Wl,-O1 -Wl,--as-needed -fno-strict-aliasing -fno-exceptions -fno-rtti -std=c++20 -fPIC -fvisibility=hidden -ffp-contract=off -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/ARM64/A64DOpcode.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/ARM64/A64DOpcode.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/ARM64/A64DOpcode.cpp.o -c /var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.cpp
In file included from /var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.cpp:30:
/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h: In member function void JSC::ARM64Disassembler::A64DOpcode::appendSIMDLaneIndexAndType(unsigned int):
/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h:218:13: error: dataLogLn was not declared in this scope
  218 |             dataLogLn("Dissassembler saw invalid simd lane type ", imm6);
      |             ^~~~~~~~~
Comment 4 Steve Arnold archtester gentoo-dev 2023-03-26 23:40:34 UTC
<sigh> turns out this is not a flag/env issue since this fixes it with both gcc and clang:

$ cat /etc/portage/patches/net-libs/webkit-gtk-2.40.0-r410/add-missing-header-in-arm64-disassembler.patch
--- a/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h.orig        2023-03-26 16:18:08.116308682 -0700
+++ b/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h     2023-03-26 16:18:25.407279942 -0700
@@ -27,6 +27,7 @@

 #include <wtf/Assertions.h>
 #include <stdint.h>
+#include <wtf/DataLog.h>

 namespace JSC { namespace ARM64Disassembler {
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-03-26 23:53:06 UTC
(In reply to Steve Arnold from comment #4)
> <sigh> turns out this is not a flag/env issue since this fixes it with both
> gcc and clang:
> 
> $ cat
> /etc/portage/patches/net-libs/webkit-gtk-2.40.0-r410/add-missing-header-in-
> arm64-disassembler.patch
> --- a/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h.orig       
> 2023-03-26 16:18:08.116308682 -0700
> +++ b/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h     2023-03-26
> 16:18:25.407279942 -0700
> @@ -27,6 +27,7 @@
> 
>  #include <wtf/Assertions.h>
>  #include <stdint.h>
> +#include <wtf/DataLog.h>
> 
>  namespace JSC { namespace ARM64Disassembler {

Can you send it upstream?
Comment 6 Steve Arnold archtester gentoo-dev 2023-03-27 01:29:38 UTC
sadly the patch just leads to linker failures:

[3195/12602] : && /usr/lib/llvm/16/bin/clang++ -fPIC -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -pipe -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-parentheses-equality -Qunused-arguments -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -O3 -pipe -flto=thin -fvectorize -Wno-deprecated -fuse-ld=lld -fno-strict-aliasing -fno-exceptions -fno-rtti  -Wl,--no-undefined -O3 -pipe -flto=thin -fvectorize -Wno-deprecated -fuse-ld=lld -Wl,-O1 -Wl,--as-needed -Wl,--no-keep-memory -Wl,--disable-new-dtags -shared -Wl,-soname,libjavascriptcoregtk-4.1.so.0 -o lib/libjavascriptcoregtk-4.1.so.0.3.9 @CMakeFiles/JavaScriptCore.rsp  && :
FAILED: lib/libjavascriptcoregtk-4.1.so.0.3.9 
: && /usr/lib/llvm/16/bin/clang++ -fPIC -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -pipe -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-parentheses-equality -Qunused-arguments -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -O3 -pipe -flto=thin -fvectorize -Wno-deprecated -fuse-ld=lld -fno-strict-aliasing -fno-exceptions -fno-rtti  -Wl,--no-undefined -O3 -pipe -flto=thin -fvectorize -Wno-deprecated -fuse-ld=lld -Wl,-O1 -Wl,--as-needed -Wl,--no-keep-memory -Wl,--disable-new-dtags -shared -Wl,-soname,libjavascriptcoregtk-4.1.so.0 -o lib/libjavascriptcoregtk-4.1.so.0.3.9 @CMakeFiles/JavaScriptCore.rsp  && :
ld.lld: error: undefined symbol: JSC::B3::Value::hasV128() const
>>> referenced by B3Const128Value.cpp
>>>               lto.tmp:(JSC::B3::Const128Value::vectorAndConstant(JSC::B3::Procedure&, JSC::B3::Value const*) const)
>>> referenced by B3Const128Value.cpp
>>>               lto.tmp:(JSC::B3::Const128Value::vectorOrConstant(JSC::B3::Procedure&, JSC::B3::Value const*) const)
>>> referenced by B3Const128Value.cpp
>>>               lto.tmp:(JSC::B3::Const128Value::vectorXorConstant(JSC::B3::Procedure&, JSC::B3::Value const*) const)

ld.lld: error: undefined symbol: JSC::B3::Value::asV128() const
>>> referenced by B3Const128Value.cpp
>>>               lto.tmp:(JSC::B3::Const128Value::vectorAndConstant(JSC::B3::Procedure&, JSC::B3::Value const*) const)
>>> referenced by B3Const128Value.cpp
>>>               lto.tmp:(JSC::B3::Const128Value::vectorOrConstant(JSC::B3::Procedure&, JSC::B3::Value const*) const)
>>> referenced by B3Const128Value.cpp
>>>               lto.tmp:(JSC::B3::Const128Value::vectorXorConstant(JSC::B3::Procedure&, JSC::B3::Value const*) const)
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
Comment 7 Steve Arnold archtester gentoo-dev 2023-03-27 03:19:10 UTC
Hmm, with the header patch and USE=jumbo-build it installs fine:

>>> Completed (1 of 1) net-libs/webkit-gtk-2.40.0-r410::gentoo

 * Messages for package net-libs/webkit-gtk-2.40.0-r410:
 * Log file: /var/log/portage/net-libs:webkit-gtk-2.40.0-r410:20230327-013311.log

 * Package:    net-libs/webkit-gtk-2.40.0-r410:4.1/0
 * Repository: gentoo
 * Maintainer: gnome@gentoo.org
 * USE:        X arm64 elibc_glibc gnome-keyring gstreamer introspection jpeg2k jumbo-build kernel_linux lcms pdf seccomp spell userland_GNU wayland
 * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox

 * Messages for package net-libs/webkit-gtk-2.40.0-r410:
 * Log file: /var/log/portage/net-libs:webkit-gtk-2.40.0-r410:20230327-013312.log

 * Package:    net-libs/webkit-gtk-2.40.0-r410:4.1/0
 * Repository: gentoo
 * Maintainer: gnome@gentoo.org
 * USE:        X arm64 elibc_glibc gnome-keyring gstreamer introspection jpeg2k jumbo-build kernel_linux lcms pdf seccomp spell userland_GNU wayland
 * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
 * FEATURES='assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms split-elog strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr'
 * CFLAGS='-O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -flto=8 -fuse-linker-plugin -march=armv8-a+crc+crypto -pipe -Wl,-O1 -Wl,--as-needed'
 * CXXFLAGS='-O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -flto=8 -fuse-linker-plugin -march=armv8-a+crc+crypto -pipe -Wl,-O1 -Wl,--as-needed'
 * FFLAGS='-O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -flto=8 -fuse-linker-plugin -march=armv8-a+crc+crypto -pipe -Wl,-O1 -Wl,--as-needed'
 * FCFLAGS='-O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -flto=8 -fuse-linker-plugin -march=armv8-a+crc+crypto -pipe -Wl,-O1 -Wl,--as-needed'
 * F77FLAGS='-O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -flto=8 -fuse-linker-plugin -march=armv8-a+crc+crypto -pipe -Wl,-O1 -Wl,--as-needed'
 * LDFLAGS='-Wl,-O1 -Wl,--as-needed -O3 -fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition -flto=8 -fuse-linker-plugin -march=armv8-a+crc+crypto -pipe'
 * MAKEOPTS='-j8'
 * gcc (Gentoo 12.2.1_p20230304 p13) 12.2.1 20230304
 * g++ (Gentoo 12.2.1_p20230304 p13) 12.2.1 20230304
 * GNU ld (Gentoo 2.40 p3) 2.40.0
 * Linux tycho 6.3.0-rc2-x13s-r0 #1 SMP PREEMPT Sun Mar 19 12:55:47 PDT 2023 aarch64 GNU/Linux
 * Checking whether python3_11 is suitable ...
 *   >=dev-lang/python-3.11.1-r1:3.11[xml(+)] ...
 * Using python3.11 to build (via PYTHON_COMPAT iteration)
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build"
 * =============================================================================
 * Applying user patches from /etc/portage/patches ...
 * Applying add-missing-header-in-arm64-disassembler.patch ...
 * User patches applied.
 * =============================================================================
 * Disabling deprecation warnings ...
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build"
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build"
 * Skipping make test/check due to ebuild restriction.
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/net-libs/webkit-gtk-2.40.0-r410/work/webkitgtk-2.40.0_build"
 * Final size of build directory: 2481268 KiB (  2.3 GiB)
 * Final size of installed tree:   154836 KiB (151.2 MiB)
 * removing unneeded *.la files
 * Install additional packages for optional runtime features:
 *   media-plugins/gst-plugins-dash for (MPEG-)DASH support
 *   media-plugins/gst-plugins-hls for HTTP-Live-Streaming support

 * GNU info directory index is up-to-date.
Comment 8 Steve Arnold archtester gentoo-dev 2023-03-27 18:19:27 UTC
It's been a while since I took a spelunking/patching trip through all that lovely WTF code, but this is where I am now:

* new arm64 on EFI BIOS laptop
* install is more-or-less brand new, rebuilt on hardened profile, then rebuilt again on desktop/gnome profile
* just a straight profile/simple make.conf with lto-overlay
* completed initial gnome install in one go (no build issues)
* did not hit webkit failure until upgrade to 2.40.0-r410

I'm rebuilding again now without the disassembler patch but with jumbo-build enabled (which should complete shortly) so at this point my answer is "use unified build on anything that smells like a normal desktop-y thing".

Seems like non-unified build still has frequent regressions, possibly needs patching and/or flag filtering, and just may or may not work on any given upgrade.

One other note; lto-overlay filters flto flags for webkit-gtk but it currently misses :4.1/0 since it still uses :3 and :4 only.  SO with 2.40.0-r410:

* jumbo-build + full lto-overlay flags and gcc-12 does work
* non-unified build with patch and filtering flto should also work
* non-unified build with no patch and regardless of flags does not work
Comment 9 Mart Raudsepp gentoo-dev 2023-10-18 20:31:43 UTC
The wtf/DataLog.h missing header was fixed up in upstream commit 464f082ed0 for v2.42.
2.42.1 still failed non-unified build on arm64 due to missing headers in ARM64 JIT code, but I just fixed that up in Gentoo and filed upstream PR https://github.com/WebKit/WebKit/pull/19242

For me ThinLTO webkit-gtk builds fine on arm64, but crashes at runtime when used by evolution for displaying half of my mails (including ALL github and gitlab automated e-mails). All crashes go away when built without LTO. I still have runtime issues outside evolution on my arm64 - the rendering is huge, as if I used 4x HiDPI scale instead of 2x or something, while mouse handling is at correct setting and off from the rendering; but I believe this is due to using simpledrm framebuffer forced to 4K + llvmpipe and specific to my system, where xdg-desktop-portal even tells me my 27" monitor is 46" instead, so I think webkit is making some wrong assumptions somewhere from bad data instead of just working like any GTK app works fine here re hidpi scale.

For the lto-overlay, this bug entry isn't going to lead anywhere - that one needs a report to the appropriate place for that one. But good to know about such an overlay existing, I should peek and compare my package.env files with what's going on in there :)

Marking this bug here as OBSOLETE on the premise of upstream having missed the particular missing header that was originally reported here as a build error. Please file a new issues with specifics on issues on current versions, if any.