Home | History | Annotate | Line # | Download | only in gcc.old
      1  1.1  mrg $NetBSD: README.gcc12,v 1.2 2025/09/07 04:08:23 mrg Exp $
      2  1.1  mrg 
      3  1.1  mrg 
      4  1.1  mrg new stuff:
      5  1.1  mrg 	libmpx
      6  1.1  mrg 	liboffloadmic
      7  1.1  mrg 	libvtv
      8  1.1  mrg 	libcet
      9  1.1  mrg 	libphobos
     10  1.1  mrg 	d
     11  1.1  mrg 	gfortran
     12  1.1  mrg 	libbacktrace: +dwarf5_CFLAGS = $(libbacktrace_TEST_CFLAGS) -gdwarf-5
     13  1.1  mrg 	c++tools
     14  1.1  mrg 
     15  1.1  mrg todo:
     16  1.1  mrg 	- audit all uses of new warning-disable variables and
     17  1.1  mrg 	  convert some from -Wno- to -Wno-error=
     18  1.1  mrg 
     19  1.1  mrg arch/feature list.
     20  1.1  mrg 
     21  1.1  mrg tools:		does build.sh tools work?
     22  1.1  mrg kernels:	does a kernel run?  y (yes), b (builds/ready), p (partially), ? (not ready)
     23  1.1  mrg libgcc:		does libgcc build?
     24  1.1  mrg native-gcc:	does a full mknative-gcc complete?
     25  1.1  mrg sani:		has sanitizer been ported to this CPU again for GCC 12?  b (build) y (works)
     26  1.1  mrg make release:	does build.sh release complete?  (before sanitizer - bs)
     27  1.1  mrg runs:		does the system boot with a full world?
     28  1.1  mrg atf:		does atf run / compare well
     29  1.1  mrg switched:	has port switched?  y (yes), n (no/ready), ? (not ready)
     30  1.1  mrg 
     31  1.1  mrg 
     32  1.1  mrg architecture	tools	kernels	libgcc	native-gcc/sani	make release	runs	atf	switched
     33  1.1  mrg ------------	-----	-------	------	---------------	------------	----	---	--------
     34  1.1  mrg aarch64		y	y	y	y	y[17]	y		y	y	y
     35  1.1  mrg aarch64eb	y	y	y	y	y[17]	y		y	y	y
     36  1.1  mrg alpha		y	y	y	y	b	y		y	y	y
     37  1.1  mrg earmv4		y	b	?	y	?	?		?	?	y
     38  1.1  mrg earmv4eb	y	b	?	y	?	?		?	?	y
     39  1.1  mrg earmv5		y	y	y	y	b	y		y	y	y
     40  1.1  mrg earmv5eb	y	y	y	y	b	y		y	y	y
     41  1.1  mrg earmv5hf	y	b	?	y	?	?		?	?	y
     42  1.1  mrg earmv5hfeb	y	b	?	y	?	?		?	?	y
     43  1.1  mrg earmv6		y	b	?	y	?	?		?	?	y
     44  1.1  mrg earmv6eb	y	b	?	y	?	?		?	?	y
     45  1.1  mrg earmv6hf	y	y	y	y	b	y		y	y	y
     46  1.1  mrg earmv6hfeb	y	y	y	y	b	y		y	y	y
     47  1.1  mrg earmv7		y	b	y	y	?	?		?	?	y
     48  1.1  mrg earmv7eb	y	b	?	y	?	?		?	?	y
     49  1.1  mrg earmv7hf	y	y	y	y	b	y		y	y	y
     50  1.1  mrg earmv7hfeb	y	y	y	y	b	y		y	y	y
     51  1.1  mrg hppa		y	y	y	y	?	y		y	y	y
     52  1.1  mrg i386		y	y	y	y	y	y		y	y	y
     53  1.1  mrg ia64		y	b	y	y	y	y		y[3]	n	y
     54  1.1  mrg m68000		y	y	y	y	b	n		y[14]	?	y
     55  1.1  mrg m68k		y	y	y	y	b	y		y[14]	y[14]	y
     56  1.1  mrg mipseb		y	b	y	y	b	y		y	y	y
     57  1.1  mrg mipsel		y	b	y	y	b	y		y	?	y
     58  1.1  mrg mips64eb	y	b	y	y	b	y		y	y	y
     59  1.1  mrg mips64el	y	b	y	y	b	y		y	?	y
     60  1.1  mrg powerpc		y	y	y	y	y	y		y	y	y
     61  1.1  mrg powerpc64	y	?	?	y	b	b		?	?	y
     62  1.1  mrg sh3eb		y	?	y	y	b	y		?	?	y
     63  1.1  mrg sh3el		y	y	y	y	b	y		y	y	y
     64  1.1  mrg sparc		y	y	y	y	n[26]	y		y	y	y
     65  1.1  mrg sparc64		y	b	y	y	n[16]	y		y	?	y
     66  1.1  mrg vax		y	y	y	y	n[23]	n		n[24,25] ?	?
     67  1.1  mrg x86_64		y	y	y	y	y[13]	y		y	y	y
     68  1.1  mrg riscv32		y	y	y	y	b	y		n[2]	?	y
     69  1.1  mrg riscv64		y	y	y	y	b	y		y	y	y
     70  1.1  mrg ------------	-----	-------	------	---------------	------------	----	---
     71  1.1  mrg architecture	tools	kernels	libgcc	native-gcc/sani	make release	runs	atf
     72  1.1  mrg 
     73  1.1  mrg [2]: riscv32 kernels are not really implemented yet, not GCC 12 issue.
     74  1.1  mrg [3]: GENERIC.SKI boots just as well as GCC 10.
     75  1.1  mrg [13]: on amd64, with very basic test, lsan, ubsan, and asan work, but tsan crashes at start up:
     76  1.1  mrg       ThreadSanitizer: CHECK failed: tsan_rtl.cpp:149 "((reinterpret_cast<uptr>(this) % 64)) == ((0))" (0x10, 0x0) (tid=21499)
     77  1.1  mrg       ThreadSanitizer:DEADLYSIGNAL
     78  1.1  mrg       ==21499==ERROR: ThreadSanitizer: SEGV on unknown address 0x000000000017 (pc 0x7f7ff4e5e14e bp 0x7f7fffffdbd0 sp 0x7f7fffffdb40 T21499)
     79  1.1  mrg       ==21499==The signal is caused by a READ memory access.
     80  1.1  mrg       ==21499==Hint: address points to the zero page.
     81  1.1  mrg       ThreadSanitizer:DEADLYSIGNAL
     82  1.1  mrg       ThreadSanitizer: nested bug in the same thread, aborting.
     83  1.1  mrg [14]: "dd count=1", "env LC_CTYPE=en_US.UTF-8 locale", and "tests/crypto/libcrypto/h_evp_test evpmd_blake.txt" abort.
     84  1.1  mrg       adding -fno-stack-protector to strsuftoll.c, citrus_module.c, and blake2_prov.c, respectively, works around the problem.
     85  1.1  mrg       -- workarounds commited.
     86  1.1  mrg [16]: sanitizers crash early:
     87  1.1  mrg       Program received signal SIGSEGV, Segmentation fault.
     88  1.1  mrg       (gdb) bt
     89  1.1  mrg       #0  0x000000004064265c in __sanitizer::CheckASLR () at /usr/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cpp:2181
     90  1.1  mrg       #1  0xffffffffffffc704 in ?? ()
     91  1.1  mrg       Backtrace stopped: previous frame identical to this frame (corrupt stack?)
     92  1.1  mrg       -- some wip patches make this less bad
     93  1.1  mrg [17]: (NOT A REGRESSION) libtsan is newly introduced, which fails with:
     94  1.1  mrg       FATAL: ThreadSanitizer: unexpected memory mapping 0x200100000-0x200101000
     95  1.1  mrg [23]: sanitizers fail to build:
     96  1.1  mrg       sanitizer_flag_parser.h:141:72: error: format '%zx' expects argument of type 'size_t', but argument 4 has type 'unsigned int' [-Werror=format=]
     97  1.1  mrg [24]: (NOT A REGRESSION) c++ exception handling is broken. mechanically applying
     98  1.1  mrg       http://www.execsw.org/netbsd/changeset.cgi?id=20140318T234341Z.c59ac4642e7d4b345f6dc5aa9887e9e1f9aa459a#src/gnu/dist/gcc4/gcc/config/vax/vax.c
     99  1.1  mrg       does not help (with adjustments for gcc 10.5.0, which is broken, too):
    100  1.1  mrg       (gdb) invalid-command
    101  1.1  mrg       [1]   Illegal instruction (core dumped) gdb
    102  1.1  mrg [25]: (maybe not related to [24]) native gcc is broken:
    103  1.1  mrg       simh# cc hello.c
    104  1.1  mrg       during RTL pass: final
    105  1.1  mrg       hello.c: In function 'main':
    106  1.1  mrg       hello.c:9:1: internal compiler error: Segmentation fault
    107  1.1  mrg [26]: divide by zero with ubsan hits CheckLocked assertion failure, and stalls at LockSlow indefinitely:
    108  1.1  mrg       (gdb) bt
    109  1.1  mrg       #0 __sanitizer::StaticSpinMutex::LockSlow at sanitizer_mutex.cpp:24
    110  1.1  mrg       ...
    111  1.1  mrg       #17 __ubsan::ScopedReport::CheckLocked ubsan_diag.h:255
    112  1.1  mrg       #18 __ubsan::Diag::~Diag ubsan_diag.cpp:347
    113  1.1  mrg       #19 handleDivremOverflowImpl ubsan_diag.h:210
    114  1.1  mrg       #20 __ubsan::__ubsan_handle_divrem_overflow ubsan_handlers.cpp:320 
    115  1.1  mrg 
    116  1.1  mrg 
    117  1.1  mrg CPU vs platform test table (for CPUs with multiple ports).  this is "make release" or just kernels.
    118  1.1  mrg values:		y (yes), k (kernels only), n (failed), r (running), ? (not attempted), nx (yes, no x11), nk (no kernels available)
    119  1.1  mrg 
    120  1.1  mrg CPU		platform list
    121  1.1  mrg ---		-------- ----
    122  1.1  mrg 		acorn32		cats	epoc32	evbarm-eb	evbarm-el	hpcarm		iyonix		netwinder	shark 		zaurus
    123  1.1  mrg earmv4:		k		k	k	k		k		k		 		k		y		 
    124  1.1  mrg earm:		 		 	 	nx		nx		 		k		 		 		k
    125  1.1  mrg earmhf:		 		 	 	k		k		 		 		 		 		 
    126  1.1  mrg earmv6:		 		 	 	k		k
    127  1.1  mrg earmv6hf:	 		 	 	nx		nx
    128  1.1  mrg earmv7:		 		 	 	k		k
    129  1.1  mrg earmv7hf:	 		 	 	nx		nx
    130  1.1  mrg 
    131  1.1  mrg 		amiga		atari	cesfic	hp300		luna68k		mac68k		mvme68k		news68k		next68k		sun3	x68k
    132  1.1  mrg m68k:		nx		k	k	k		k		nx		k		k		k		nx 	k
    133  1.1  mrg 
    134  1.1  mrg 		evbmips		emips		ews4800mips	mipsco		newsmips	sgimips
    135  1.1  mrg mipseb:		k		k		k		k		k		y
    136  1.1  mrg 
    137  1.1  mrg 		evbmips		algor		arc		cobalt		hpcmips		pmax
    138  1.1  mrg mipsel:		k		k		k		k		k		y
    139  1.1  mrg 
    140  1.1  mrg 		algor		evbmips		pmax
    141  1.1  mrg mips64eb:	 		y		 
    142  1.1  mrg mips64el:	k		y		y
    143  1.1  mrg 
    144  1.1  mrg 		amigappc	bebox	evbppc	ibmnws		macppc		mvmeppc		ofppc		prep		rs6000		sandpoint
    145  1.1  mrg powerpc:	k		k	k	k		y		k		k		k		k		k
    146  1.1  mrg 
    147  1.1  mrg 		evbppc		macppc		ofppc
    148  1.1  mrg powerpc64:	nk		nk		nk
    149  1.1  mrg 
    150  1.1  mrg 		dreamcast	evbsh3		hpcsh		landisk		mmeye
    151  1.1  mrg sh3eb:		 		y		 		 		k
    152  1.1  mrg sh3el:		k		y		k		k
    153