mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-19 03:52:17 +00:00
a1edd535d3
Though x11/libwacom was not yet built during the exp-run for clang/llvm
13 (see bug 258209), due to some other dependencies not being available
yet, I noticed that it failed to build with clang 13, or more
specifically this is due to a behavior change in lld 13:
...
[ 33% 10/30] cc -o generate-hwdb generate-hwdb.p/tools_generate-hwdb.c.o -Wl,--as-needed -Wl,--no-undefined -fstack-protector-strong -O2 -pipe -g -fstack-protector-strong -fno-strict-aliasing '-Wl,-rpath,$ORIGIN/' -Wl,-rpath-link,/wrkdirs/share/dim/ports/x11/libwacom/work/libwacom-1.5/_build/ -Wl,--start-group libwacom.so.2.6.1 /usr/local/lib/libglib-2.0.so /usr/local/lib/libintl.so -Wl,--end-group
[ 36% 11/30] /usr/local/bin/meson --internal exe --capture 65-libwacom.hwdb -- /wrkdirs/share/dim/ports/x11/libwacom/work/libwacom-1.5/_build/generate-hwdb
FAILED: 65-libwacom.hwdb
/usr/local/bin/meson --internal exe --capture 65-libwacom.hwdb -- /wrkdirs/share/dim/ports/x11/libwacom/work/libwacom-1.5/_build/generate-hwdb
--- stderr ---
Unfortunately the meson build process doesn't really show you why it
failed, but it turns out that running the 'generate-hwdb' command
segfaults:
Starting program: /wrkdirs/share/dim/ports/x11/libwacom/work/libwacom-1.5/_build/generate-hwdb
Program received signal SIGSEGV, Segmentation fault.
libwacom_add_match (device=device@entry=0x801031320, newmatch=0x0) at ../libwacom/libwacom.c:943
943 device->matches[device->nmatches - 1] = libwacom_match_ref(newmatch);
(gdb) bt
#0 libwacom_add_match (device=device@entry=0x801031320, newmatch=0x0) at ../libwacom/libwacom.c:943
#1 0x000000080024fc7d in libwacom_matchstr_to_match (device=device@entry=0x801031320, matchstr=<optimized out>) at ../libwacom/libwacom-database.c:207
#2 0x000000080024e313 in libwacom_parse_tablet_keyfile (db=0x8010365a0, datadir=0x200b70 "/wrkdirs/share/dim/ports/x11/libwacom/work/libwacom-1.5/data", filename=<optimized out>) at ../libwacom/libwacom-database.c:652
#3 load_tablet_files (db=0x8010365a0, datadir=0x200b70 "/wrkdirs/share/dim/ports/x11/libwacom/work/libwacom-1.5/data") at ../libwacom/libwacom-database.c:865
#4 libwacom_database_new_for_path (datadir=0x200b70 "/wrkdirs/share/dim/ports/x11/libwacom/work/libwacom-1.5/data") at ../libwacom/libwacom-database.c:959
#5 0x00000000002021b6 in main (argc=<optimized out>, argv=0x801036630) at ../tools/generate-hwdb.c:131
What happens is that an internal function 'libwacom_match_new' is
supposed to be called, which returns a new 'WacomMatch' object. But
instead, it calls a empty stub which returns NULL, resulting in this
segfault. The empty stub was added as a rather nasty upstream hack to
"Alias the accidentally exposed ABI into different functions", in
|
||
---|---|---|
.. | ||
files | ||
distinfo | ||
Makefile | ||
pkg-descr | ||
pkg-plist |