[Bug 277021] www/firefox: error on start after updating to 123.0 (rc1, rc2)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 18 Feb 2024 00:41:42 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277021
--- Comment #68 from Tatsuki Makino <tatsuki_makino@hotmail.com> ---
(In reply to Tomoaki AOKI from comment #66)
Perhaps so.
Looking a little more closely, first, the commands to which
/usr/local/lib/firefox/firefox is linked are as follows.
All seemingly unimportant parts were replaced with "...".
/usr/local/bin/clang++15 -std=gnu++17 -o ../../dist/bin/firefox ... -O2 -pipe
-march=haswell -O3 ... -funwind-tables
/wrkdirs/usr/ports/www/firefox/work/.build/browser/app/firefox.list -pthread
-Wl,--as-needed ... -fuse-ld=lld ... -rdynamic ...
../../build/pure_virtual/libpure_virtual.a -pie -L/usr/local/lib
There is no such thing as a -lm being added by CPUTYPE.
The link to libm relies completely on the behavior of clang++.
The resulting firefox binary will show the following differences in readelf -s.
Filtered and sorted by cut -w -f 9.
@@ -664,22 +664,10 @@
_ZN7mozilla11Compression3LZ48compressEPKcmPc
_ZN7mozilla11sse_private11aes_enabledE
_ZN7mozilla11sse_private11aes_enabledE
-_ZN7mozilla11sse_private11avx_enabledE
-_ZN7mozilla11sse_private11avx_enabledE
-_ZN7mozilla11sse_private12avx2_enabledE
-_ZN7mozilla11sse_private12avx2_enabledE
_ZN7mozilla11sse_private12fma3_enabledE
_ZN7mozilla11sse_private12fma3_enabledE
-_ZN7mozilla11sse_private12sse3_enabledE
-_ZN7mozilla11sse_private12sse3_enabledE
_ZN7mozilla11sse_private13sse4a_enabledE
_ZN7mozilla11sse_private13sse4a_enabledE
-_ZN7mozilla11sse_private13ssse3_enabledE
-_ZN7mozilla11sse_private13ssse3_enabledE
-_ZN7mozilla11sse_private14sse4_1_enabledE
-_ZN7mozilla11sse_private14sse4_1_enabledE
-_ZN7mozilla11sse_private14sse4_2_enabledE
-_ZN7mozilla11sse_private14sse4_2_enabledE
_ZN7mozilla11sse_private15avxvnni_enabledE
_ZN7mozilla11sse_private15avxvnni_enabledE
_ZN7mozilla11sse_private16has_constant_tscE
@@ -1915,8 +1903,6 @@
bcmp@FBSD_1.0
calloc
calloc@FBSD_1.0
-ceil
-ceil@FBSD_1.0
clock_getres
clock_getres@FBSD_1.0
clock_gettime
@@ -1957,8 +1943,6 @@
fileno
fileno@FBSD_1.0
finalizer
-floor
-floor@FBSD_1.0
fopen
fopen@FBSD_1.0
fprint_stderr
By leaving ceil and floor to what is in the CPU, it would mean that libm would
be unnecessary.
When pure_virtual is traced to where it comes from,
${WRCSRC}/build/pure_virtual/pure_virtual.c is reached.
But it is almost empty inside and I am not sure.
I suspect that ${WRKDIR}/.build/browser/app/firefox.list is involved in the
contents of this binary, but I am not sure.
Also, libgkcodecs.so link seems to use clang instead of clang++.
This would require explicitly linking libm with -lm, as already said.
A similar fix would be needed for all *.so that they received the undefined
symbol warning.
Is that a good rationale for applying the patch? :)
--
You are receiving this mail because:
You are the assignee for the bug.