Module Name: src
Committed By: mrg
Date: Sun Jun 9 19:35:25 UTC 2024
Modified Files:
src/external/gpl3/gcc: README.gcc12
Log Message:
various updates to gcc 12 status.
- many ports are ready to switch
- various work arounds and fixes commited
- powerpc now builds (waiting on run-test results)
To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/external/gpl3/gcc/README.gcc12
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gcc/README.gcc12
diff -u src/external/gpl3/gcc/README.gcc12:1.20 src/external/gpl3/gcc/README.gcc12:1.21
--- src/external/gpl3/gcc/README.gcc12:1.20 Sun Oct 22 00:09:20 2023
+++ src/external/gpl3/gcc/README.gcc12 Sun Jun 9 19:35:25 2024
@@ -1,4 +1,4 @@
-$NetBSD: README.gcc12,v 1.20 2023/10/22 00:09:20 mrg Exp $
+$NetBSD: README.gcc12,v 1.21 2024/06/09 19:35:25 mrg Exp $
new stuff:
@@ -31,8 +31,8 @@ switched: has port switched? y (yes), n
architecture tools kernels libgcc native-gcc/sani make release runs atf switched
------------ ----- ------- ------ --------------- ------------ ---- --- --------
-aarch64 y y y y y[17] y y y ?
-aarch64eb y y y y y[17] y y y ?
+aarch64 y y y y y[17] y y y n
+aarch64eb y y y y y[17] y y y n
alpha y y y y b y y y ?
earmv4 y b ? y ? ? ? ? ?
earmv4eb y b ? y ? ? ? ? ?
@@ -49,34 +49,29 @@ earmv7eb y b ? y ? ? ? ? ?
earmv7hf y y y y b y y y ?
earmv7hfeb y y y y b y y y ?
hppa y y y y ? y ? ? ?
-i386 y y y y n[18] y y n[19] ?
-ia64 y b y y y y y[3] n ?
-m68000 y y y y n[11] n y[14] ? ?
+i386 y y y y y[18] y y n[19] n
+ia64 y b y y y y y[3] n n
+m68000 y y y y b n y[14] ? ?
m68k y y y y b y y[14] y[14] ?
mipseb y b y y b y ? ? ?
mipsel y b y y b y ? ? ?
mips64eb y b y y b y ? ? ?
mips64el y b y y b y ? ? ?
-powerpc y y y y ? n[4] ? ? ?
-powerpc64 y ? ? y ? ? ? ? ?
+powerpc y y y y y b ? ? ?
+powerpc64 y ? ? y b b ? ? ?
sh3eb y ? y y b y ? ? ?
sh3el y n[20] y y b y n[22] ? ?
-sparc y y y y n[21] y y y ?
-sparc64 y b y y n[16] y y ? ?
+sparc y y y y n[21] y y y n
+sparc64 y b y y n[16] y y ? n
vax y y y y n[23] n n[24,25] ? ?
-x86_64 y y y y y[13] y y y ?
-riscv32 y y y y b y n[2] ? ?
-riscv64 y y y y b y y y ?
+x86_64 y y y y y[13] y y y n
+riscv32 y y y y b y n[2] ? n
+riscv64 y y y y b y y y n
------------ ----- ------- ------ --------------- ------------ ---- ---
architecture tools kernels libgcc native-gcc/sani make release runs atf
[2]: riscv32 kernels are not really implemented yet, not GCC 12 issue.
[3]: GENERIC.SKI boots just as well as GCC 10.
-[4]: rs6000 has a new generator for rs6000-builtins.cc and rs6000-builtins.h rs6000-vecdefines.h
-[7]: fails to build kernels:
- In file included from sys/arch/powerpc/oea/pmap64.c:4:
- sys/arch/powerpc/oea/pmap.c:2186:2: error: #error PPC_OEA64 not supported
-[11]: sanitizers don't build yet.
[13]: on amd64, with very basic test, lsan, ubsan, and asan work, but tsan crashes at start up:
ThreadSanitizer: CHECK failed: tsan_rtl.cpp:149 "((reinterpret_cast<uptr>(this) % 64)) == ((0))" (0x10, 0x0) (tid=21499)
ThreadSanitizer:DEADLYSIGNAL
@@ -87,17 +82,17 @@ architecture tools kernels libgcc native
ThreadSanitizer: nested bug in the same thread, aborting.
[14]: "dd count=1", "env LC_CTYPE=en_US.UTF-8 locale", and "tests/crypto/libcrypto/h_evp_test evpmd_blake.txt" abort.
adding -fno-stack-protector to strsuftoll.c, citrus_module.c, and blake2_prov.c, respectively, works around the problem.
+ -- workarounds commited.
[16]: sanitizers crash early:
Program received signal SIGSEGV, Segmentation fault.
(gdb) bt
#0 0x000000004064265c in __sanitizer::CheckASLR () at /usr/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cpp:2181
#1 0xffffffffffffc704 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
+ -- some wip patches make this less bad
[17]: (NOT A REGRESSION) libtsan is newly introduced, which fails with:
FATAL: ThreadSanitizer: unexpected memory mapping 0x200100000-0x200101000
-[18]: *san requires 64-bit atomic ops:
- ld: /usr/lib/libasan.so: undefined reference to `__sync_val_compare_and_swap_8'
- If lib*san is compiled with -march=i586, all tests in usr.bin/{cc,c++} successfully pass.
+[18]: lib*san is compiled with -march=i586 to ensure required atomic ops are present
[19]: kernel freezes with garbage parmanently output to console, after lib/libc/sys/t_ptrace_wait:syscall_signal_on_sce fails:
syscall_signal_on_sce: [[ 3013.0266693] sorry pid 1847 was killed: orphanes
ss
@@ -116,6 +111,7 @@ architecture tools kernels libgcc native
U __sync_val_compare_and_swap_1
U __sync_val_compare_and_swap_4
liblsan and libubsan are mssing the _4 and _8 versions, too.
+ -- they're not really supported (not my atf) in gcc 10 currently.
[22]: single-user shell crashes. if userland is built with DBG=-O1, it boots into multi-user mode.
however, at least db(3) is broken, by which files are corrupted when edited by vi(1).
[23]: sanitizers fail to build:
@@ -133,7 +129,7 @@ architecture tools kernels libgcc native
CPU vs platform test table (for CPUs with multiple ports). this is "make release" or just kernels.
-values: y (yes), k (kernels only), n (failed), r (running), ? (not attempted), nx (yes, no x11)
+values: y (yes), k (kernels only), n (failed), r (running), ? (not attempted), nx (yes, no x11), nk (no kernels available)
CPU platform list
--- -------- ----
@@ -160,10 +156,10 @@ mips64eb: y
mips64el: k y y
amigappc bebox evbppc ibmnws macppc mvmeppc ofppc prep rs6000 sandpoint
-powerpc: k k k k kn[4] k k k k k
+powerpc: k k k k y k k k k k
evbppc macppc ofppc
-powerpc64: k k n[7]
+powerpc64: nk nk nk
dreamcast evbsh3 hpcsh landisk mmeye
sh3eb: y k