After working on (and largely maintaining) our GCC ports for more than
19 years, time has come to hand over the baton. Sadly despite multiple
requests nobody stepped up, so return this port to the pool.
Still happy to provide guidance and a helping hand, for example working
with upstream or on operating the (crucial) nightly testers I have been
running.
After working on (and largely maintaining) our GCC ports for more than
19 years, time has come to hand over the baton. Sadly despite multiple
requests nobody stepped up, so return this port to the pool.
Still happy to provide guidance and a helping hand, for example working
with upstream or on operating the (crucial) nightly testers I have been
running.
Thursday, 7 October 2021
Over 120 individual programs plus dozens of programmer libraries and
feature plugins are released simultaneously as part of KDE Gear.
Today they all get new bugfix source releases with updated translations,
including:
* kmail: Fix an infinite SSL error dialog loop
* konqueror: Make it compatible with KIO 5.86.0 and don’t open every
URL in a new window
* libksane: Fix multi page detection with certain scanners
Full announcement:
https://kde.org/announcements/gear/21.08.2/
This brings one back port for the inter procedural optimizers, one
for the general code generators, and three each for the powerpc
back end and the Fortran front end.
During an exp-run for llvm 13 (see bug 258209), it turned out that
lang/erlang and lang/erlang-runtime2[13] fail to build with clang 13.
What appears to happen is that for these versions of erlang, PGO is
enabled, and it first builds a PGO-enabled beam.smp:
gmake[5]: Entering directory '/wrkdirs/usr/ports/lang/erlang/work/otp-OTP-21.3.8.24/erts/emulator'
if utils/gen_git_version amd64-portbld-freebsd14.0/gen_git_version.mk; then touch beam/erl_bif_info.c; fi
echo " PROFILE beam.prof.smp"
PROFILE beam.prof.smp
rm -f obj/amd64-portbld-freebsd14.0/opt/smp/erl*.profraw
set -e; LLVM_PROFILE_FILE="obj/amd64-portbld-freebsd14.0/opt/smp/erlc-%m.profraw" \
ERL_FLAGS="-emu_type prof +S 1" erlc -W -DPGO \
-o obj/amd64-portbld-freebsd14.0/opt/smp test/estone_SUITE.erl > obj/amd64-portbld-freebsd14.0/opt/smp/PROFILE_LOG
after which it does a test run, and uses llvm-profdata to merge the
profiling data into beam_emu_pu.o:
llvm-profdata merge -output obj/amd64-portbld-freebsd14.0/opt/smp/default.profdata obj/amd64-portbld-freebsd14.0/opt/smp/*.profraw
cc -fprofile-instr-use=obj/amd64-portbld-freebsd14.0/opt/smp/default.profdata -Werror=undef -Werror=implicit -Werror=return-type -O3 -fomit-frame-pointer -pipe -fno-omit-frame-pointer -DMAP_NORESERVE=0 -fstack-protector-strong -fno-strict-aliasing -I/wrkdirs/usr/ports/lang/erlang/work/otp-OTP-21.3.8.24/erts/amd64-portbld-freebsd14.0 -DHAVE_CONFIG_H -Wall -Wstrict-prototypes -Wmissing-prototypes -Wdeclaration-after-statement -DUSE_THREADS -D_THREAD_SAFE -D_REENTRANT -DPOSIX_THREADS -Iamd64-portbld-freebsd14.0/opt/smp -Ibeam -Isys/unix -Isys/common -Iamd64-portbld-freebsd14.0 -Ipcre -Ihipe -I../include -I../include/amd64-portbld-freebsd14.0 -I../include/internal -I../include/internal/amd64-portbld-freebsd14.0 -c beam/beam_emu.c -o obj/amd64-portbld-freebsd14.0/opt/smp/beam_emu_pu.o
Later, it runs dtrace over all the collected objects, and this dies:
dtrace -G -C -Ibeam \
-s beam/erlang_dtrace.d \
-o obj/amd64-portbld-freebsd14.0/opt/smp/erlang_pu_dtrace.o
... long list of objects ...
dtrace: failed to link script beam/erlang_dtrace.d: an error was encountered while processing obj/amd64-portbld-freebsd14.0/opt/smp/beam_emu_pu.o
gmake[5]: *** [amd64-portbld-freebsd14.0/Makefile:1005: obj/amd64-portbld-freebsd14.0/opt/smp/erlang_pu_dtrace.o] Error 1
gmake[5]: Leaving directory '/wrkdirs/usr/ports/lang/erlang/work/otp-OTP-21.3.8.24/erts/emulator'
Something in beam_emu_pu.o (emitted by clang or llvm 13) is tripping up
dtrace, but I have very little knowledge about dtrace so I need help
here. :)
Now some other erlang runtimes such as lang/erlang-runtime24 *do* build
successfully with clang 13, but this is only because upstream disabled
the PGO feature, as a side effect of
https://github.com/erlang/otp/commit/b165524c732 ("erts: Implement the
BeamAsm JIT"):
--- a/erts/configure.in
+++ b/erts/configure.in
...
@@ -704,6 +719,9 @@ else
fi
fi
+dnl Disable pgo for now
+USE_PGO=false
+
AC_SUBST(USE_PGO)
AC_SUBST(PROFILE_COMPILER)
I am unsure why upstream disabled this "for now", as it has been
disabled for more than a year. So, for now, work around the dtrace
failures by disabling PGO using the configure flag --disable-pgo, when
building with clang >= 13.
PR: 258494
Approved by: maintainer timeout (2 weeks)
MFH: 2021Q4
=> ada-bootstrap.amd64.freebsd.120.tar.bz2 is not in /usr/ports/lang/gcc6-aux/distinfo.
=> Either /usr/ports/lang/gcc6-aux/distinfo is out of date, or
=> ada-bootstrap.amd64.freebsd.120.tar.bz2 is spelled incorrectly.
*** Error code 1
Reported by: pkg-fallout