Module Name:    src
Committed By:   rin
Date:           Mon Sep 23 09:48:02 UTC 2024

Modified Files:
        src/external/gpl3/gcc: README.gcc12

Log Message:
README.gcc12: Update sanitizers v.s. sparc

While missing 64-bit atomic builtins is fixed, ubsan does not work
due to CheckLocked assertion failure.


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 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.26 src/external/gpl3/gcc/README.gcc12:1.27
--- src/external/gpl3/gcc/README.gcc12:1.26	Mon Sep 23 08:33:53 2024
+++ src/external/gpl3/gcc/README.gcc12	Mon Sep 23 09:48:01 2024
@@ -1,4 +1,4 @@
-$NetBSD: README.gcc12,v 1.26 2024/09/23 08:33:53 rin Exp $
+$NetBSD: README.gcc12,v 1.27 2024/09/23 09:48:01 rin Exp $
 
 
 new stuff:
@@ -61,7 +61,7 @@ powerpc		y	y	y	y	y	y		y	y	y
 powerpc64	y	?	?	y	b	b		?	?	y
 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	y
+sparc		y	y	y	y	n[26]	y		y	y	y
 sparc64		y	b	y	y	n[16]	y		y	?	y
 vax		y	y	y	y	n[23]	n		n[24,25] ?	?
 x86_64		y	y	y	y	y[13]	y		y	y	y
@@ -95,16 +95,6 @@ architecture	tools	kernels	libgcc	native
 [20]: kernel needs -O1 for ffs32() and ffs_nodealloccg() for multi-user boot. Even if the whole kernel is built with -O1, it panics during ATF:
       kernel/t_sysv (92/935): 3 test cases
           msg: [ 3981.4751382] panic: kernel diagnostic assertion "msghdr->msg_spot >= 0" failed: file "../../../../kern/sysv_msg.c", line 426
-[21]: asan has v7/v8/atomic issues:
-      ld: /usr/lib/libasan.so: undefined reference to `__sync_val_compare_and_swap_8'
-      nm shows some more:
-	U __sync_add_and_fetch_4
-	U __sync_fetch_and_add_4
-	U __sync_lock_test_and_set_4
-	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:
@@ -119,6 +109,13 @@ architecture	tools	kernels	libgcc	native
       during RTL pass: final
       hello.c: In function 'main':
       hello.c:9:1: internal compiler error: Segmentation fault
+[26]: divide by zero with ubsan hits CheckLocked assertion failure, and stalls at LockSlow indefinitely:
+      (gdb) bt
+      #0 __sanitizer::StaticSpinMutex::LockSlow at sanitizer_mutex.cpp:24
+      ...
+      #17 __ubsan::ScopedReport::CheckLocked ubsan_diag.h:255
+      #19 0xed9a8f68 in handleDivremOverflowImpl ubsan_diag.h:210
+      #20 0xed9aab00 in __ubsan::__ubsan_handle_divrem_overflow ubsan_handlers.cpp:320 
 
 
 CPU vs platform test table (for CPUs with multiple ports).  this is "make release" or just kernels.

Reply via email to