head	1.30;
access;
symbols
	netbsd-11-0-RC4:1.29
	netbsd-11-0-RC3:1.29
	netbsd-11-0-RC2:1.29
	netbsd-11-0-RC1:1.29
	perseant-exfatfs-base-20250801:1.29
	netbsd-11:1.29.0.2
	netbsd-11-base:1.29
	perseant-exfatfs-base-20240630:1.25
	perseant-exfatfs:1.24.0.2
	perseant-exfatfs-base:1.24;
locks; strict;
comment	@# @;


1.30
date	2025.09.17.05.55.30;	author mrg;	state dead;
branches;
next	1.29;
commitid	xRkkHFTvl2YyT1bG;

1.29
date	2024.09.23.10.28.54;	author rin;	state Exp;
branches;
next	1.28;
commitid	JhhaXiPX2tPeXUqF;

1.28
date	2024.09.23.10.25.04;	author rin;	state Exp;
branches;
next	1.27;
commitid	3SqlnD8itU2PVUqF;

1.27
date	2024.09.23.09.48.01;	author rin;	state Exp;
branches;
next	1.26;
commitid	A2a8ERaHRqfMIUqF;

1.26
date	2024.09.23.08.33.53;	author rin;	state Exp;
branches;
next	1.25;
commitid	RpzZThJx6rCwiUqF;

1.25
date	2024.06.29.23.25.55;	author mrg;	state Exp;
branches;
next	1.24;
commitid	vWP8xw6v6VVB1WfF;

1.24
date	2024.06.18.14.08.11;	author rin;	state Exp;
branches
	1.24.2.1;
next	1.23;
commitid	lPIHg6SlYEGIeteF;

1.23
date	2024.06.16.21.49.22;	author skrll;	state Exp;
branches;
next	1.22;
commitid	lpo0vIXEoNooUfeF;

1.22
date	2024.06.15.20.36.38;	author mrg;	state Exp;
branches;
next	1.21;
commitid	7C7TfaEYSPIqx7eF;

1.21
date	2024.06.09.19.35.25;	author mrg;	state Exp;
branches;
next	1.20;
commitid	1kONStpnKtbQnldF;

1.20
date	2023.10.22.00.09.20;	author mrg;	state Exp;
branches;
next	1.19;
commitid	Y7QaPSd8C9JCmyJE;

1.19
date	2023.10.15.07.03.17;	author skrll;	state Exp;
branches;
next	1.18;
commitid	aAs7Pxv6FqTDSGIE;

1.18
date	2023.09.04.23.40.05;	author mrg;	state Exp;
branches;
next	1.17;
commitid	RE9mbTTziL0iIvDE;

1.17
date	2023.08.18.01.21.08;	author rin;	state Exp;
branches;
next	1.16;
commitid	UTfNV0rZmGdcQcBE;

1.16
date	2023.08.17.03.36.25;	author rin;	state Exp;
branches;
next	1.15;
commitid	JK41Evvjg4oJC5BE;

1.15
date	2023.08.17.03.14.40;	author rin;	state Exp;
branches;
next	1.14;
commitid	rJn3kj4Lf9Apv5BE;

1.14
date	2023.08.17.03.13.09;	author rin;	state Exp;
branches;
next	1.13;
commitid	yXYHNZdOJpsfv5BE;

1.13
date	2023.08.15.04.11.53;	author rin;	state Exp;
branches;
next	1.12;
commitid	VWEDBRNziyLiTPAE;

1.12
date	2023.08.11.07.37.48;	author mrg;	state Exp;
branches;
next	1.11;
commitid	iWLOHeFFA6Oo9lAE;

1.11
date	2023.08.11.05.34.36;	author mrg;	state Exp;
branches;
next	1.10;
commitid	zPzG6h8P9m5vtkAE;

1.10
date	2023.08.08.06.42.16;	author mrg;	state Exp;
branches;
next	1.9;
commitid	Ru1QU2KmAlYXWWzE;

1.9
date	2023.08.07.00.35.49;	author rin;	state Exp;
branches;
next	1.8;
commitid	ObB3BzMj4gtqWMzE;

1.8
date	2023.08.05.23.52.43;	author mrg;	state Exp;
branches;
next	1.7;
commitid	piNhjGfOjLWpKEzE;

1.7
date	2023.08.04.14.54.40;	author rin;	state Exp;
branches;
next	1.6;
commitid	uzvVnzod1G4JNtzE;

1.6
date	2023.08.04.07.40.04;	author mrg;	state Exp;
branches;
next	1.5;
commitid	eYDwr3Sks18VnrzE;

1.5
date	2023.08.04.03.39.22;	author rin;	state Exp;
branches;
next	1.4;
commitid	xFKBrszUENOS3qzE;

1.4
date	2023.08.03.01.36.53;	author mrg;	state Exp;
branches;
next	1.3;
commitid	94ccj90Ss370qhzE;

1.3
date	2023.08.01.07.09.38;	author mrg;	state Exp;
branches;
next	1.2;
commitid	Qgi85XEJo9sqj3zE;

1.2
date	2023.07.31.10.09.44;	author mrg;	state Exp;
branches;
next	1.1;
commitid	YmN9eZFE7Od5mWyE;

1.1
date	2023.07.30.06.37.23;	author mrg;	state Exp;
branches;
next	;
commitid	RukGm80lqeX6dNyE;

1.24.2.1
date	2024.07.01.01.00.42;	author perseant;	state Exp;
branches;
next	1.24.2.2;
commitid	NkoYLLCQWWw9v4gF;

1.24.2.2
date	2025.08.02.05.25.21;	author perseant;	state Exp;
branches;
next	;
commitid	23j6GFaDws3O875G;


desc
@@


1.30
log
@various updates for GCC 14.

- move README.gcc12 to gcc14 and clear it for fresh data
- bump various shlib versions
- add missing CXXFLAGS
- add support for new/changed build things (options-urls.cc,
  genmatch and genemit generators)
- fix up paths and some sources that aren't automatically handled
- error->warning disables
@
text
@$NetBSD: README.gcc12,v 1.29 2024/09/23 10:28:54 rin Exp $


new stuff:
	libmpx
	liboffloadmic
	libvtv
	libcet
	libphobos
	d
	gfortran
	libbacktrace: +dwarf5_CFLAGS = $(libbacktrace_TEST_CFLAGS) -gdwarf-5
	c++tools

todo:
	- audit all uses of new warning-disable variables and
	  convert some from -Wno- to -Wno-error=

arch/feature list.

tools:		does build.sh tools work?
kernels:	does a kernel run?  y (yes), b (builds/ready), p (partially), ? (not ready)
libgcc:		does libgcc build?
native-gcc:	does a full mknative-gcc complete?
sani:		has sanitizer been ported to this CPU again for GCC 12?  b (build) y (works)
make release:	does build.sh release complete?  (before sanitizer - bs)
runs:		does the system boot with a full world?
atf:		does atf run / compare well
switched:	has port switched?  y (yes), n (no/ready), ? (not ready)


architecture	tools	kernels	libgcc	native-gcc/sani	make release	runs	atf	switched
------------	-----	-------	------	---------------	------------	----	---	--------
aarch64		y	y	y	y	y[17]	y		y	y	y
aarch64eb	y	y	y	y	y[17]	y		y	y	y
alpha		y	y	y	y	b	y		y	y	y
earmv4		y	b	?	y	?	?		?	?	y
earmv4eb	y	b	?	y	?	?		?	?	y
earmv5		y	y	y	y	b	y		y	y	y
earmv5eb	y	y	y	y	b	y		y	y	y
earmv5hf	y	b	?	y	?	?		?	?	y
earmv5hfeb	y	b	?	y	?	?		?	?	y
earmv6		y	b	?	y	?	?		?	?	y
earmv6eb	y	b	?	y	?	?		?	?	y
earmv6hf	y	y	y	y	b	y		y	y	y
earmv6hfeb	y	y	y	y	b	y		y	y	y
earmv7		y	b	y	y	?	?		?	?	y
earmv7eb	y	b	?	y	?	?		?	?	y
earmv7hf	y	y	y	y	b	y		y	y	y
earmv7hfeb	y	y	y	y	b	y		y	y	y
hppa		y	y	y	y	?	y		y	y	y
i386		y	y	y	y	y	y		y	y	y
ia64		y	b	y	y	y	y		y[3]	n	y
m68000		y	y	y	y	b	n		y[14]	?	y
m68k		y	y	y	y	b	y		y[14]	y[14]	y
mipseb		y	b	y	y	b	y		y	y	y
mipsel		y	b	y	y	b	y		y	?	y
mips64eb	y	b	y	y	b	y		y	y	y
mips64el	y	b	y	y	b	y		y	?	y
powerpc		y	y	y	y	y	y		y	y	y
powerpc64	y	?	?	y	b	b		?	?	y
sh3eb		y	?	y	y	b	y		?	?	y
sh3el		y	y	y	y	b	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
riscv32		y	y	y	y	b	y		n[2]	?	y
riscv64		y	y	y	y	b	y		y	y	y
------------	-----	-------	------	---------------	------------	----	---
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.
[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
      ==21499==ERROR: ThreadSanitizer: SEGV on unknown address 0x000000000017 (pc 0x7f7ff4e5e14e bp 0x7f7fffffdbd0 sp 0x7f7fffffdb40 T21499)
      ==21499==The signal is caused by a READ memory access.
      ==21499==Hint: address points to the zero page.
      ThreadSanitizer:DEADLYSIGNAL
      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
[23]: sanitizers fail to build:
      sanitizer_flag_parser.h:141:72: error: format '%zx' expects argument of type 'size_t', but argument 4 has type 'unsigned int' [-Werror=format=]
[24]: (NOT A REGRESSION) c++ exception handling is broken. mechanically applying
      http://www.execsw.org/netbsd/changeset.cgi?id=20140318T234341Z.c59ac4642e7d4b345f6dc5aa9887e9e1f9aa459a#src/gnu/dist/gcc4/gcc/config/vax/vax.c
      does not help (with adjustments for gcc 10.5.0, which is broken, too):
      (gdb) invalid-command
      [1]   Illegal instruction (core dumped) gdb
[25]: (maybe not related to [24]) native gcc is broken:
      simh# cc hello.c
      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
      #18 __ubsan::Diag::~Diag ubsan_diag.cpp:347
      #19 handleDivremOverflowImpl ubsan_diag.h:210
      #20 __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.
values:		y (yes), k (kernels only), n (failed), r (running), ? (not attempted), nx (yes, no x11), nk (no kernels available)

CPU		platform list
---		-------- ----
		acorn32		cats	epoc32	evbarm-eb	evbarm-el	hpcarm		iyonix		netwinder	shark 		zaurus
earmv4:		k		k	k	k		k		k		 		k		y		 
earm:		 		 	 	nx		nx		 		k		 		 		k
earmhf:		 		 	 	k		k		 		 		 		 		 
earmv6:		 		 	 	k		k
earmv6hf:	 		 	 	nx		nx
earmv7:		 		 	 	k		k
earmv7hf:	 		 	 	nx		nx

		amiga		atari	cesfic	hp300		luna68k		mac68k		mvme68k		news68k		next68k		sun3	x68k
m68k:		nx		k	k	k		k		nx		k		k		k		nx 	k

		evbmips		emips		ews4800mips	mipsco		newsmips	sgimips
mipseb:		k		k		k		k		k		y

		evbmips		algor		arc		cobalt		hpcmips		pmax
mipsel:		k		k		k		k		k		y

		algor		evbmips		pmax
mips64eb:	 		y		 
mips64el:	k		y		y

		amigappc	bebox	evbppc	ibmnws		macppc		mvmeppc		ofppc		prep		rs6000		sandpoint
powerpc:	k		k	k	k		y		k		k		k		k		k

		evbppc		macppc		ofppc
powerpc64:	nk		nk		nk

		dreamcast	evbsh3		hpcsh		landisk		mmeye
sh3eb:		 		y		 		 		k
sh3el:		k		y		k		k
@


1.29
log
@README.gcc12: Make backtrace for sparc ubsan little bit better
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.28 2024/09/23 10:25:04 rin Exp $
@


1.28
log
@README.gcc12: Document sh3 switch

Everything works just fine (at least for landisk) after
PR toolchain/58411 fix.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.27 2024/09/23 09:48:01 rin Exp $
d112 3
a114 2
      #19 0xed9a8f68 in handleDivremOverflowImpl ubsan_diag.h:210
      #20 0xed9aab00 in __ubsan::__ubsan_handle_divrem_overflow ubsan_handlers.cpp:320 
@


1.27
log
@README.gcc12: Update sanitizers v.s. sparc

While missing 64-bit atomic builtins is fixed, ubsan does not work
due to CheckLocked assertion failure.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.26 2024/09/23 08:33:53 rin Exp $
d62 2
a63 2
sh3eb		y	?	y	y	b	y		?	?	?
sh3el		y	n[20]	y	y	b	y		n[22]	?	?
a94 5
[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
[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).
@


1.26
log
@README.gcc12: Update m68* and i386

- m68*: Switched.
- i386: -march=i586 is no longer required for lib*san.
- i386: ATF successfully completes for official periodic tests.
	[19] was due to problems for my side; ATF completes for me on
	a newly-installed system.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.25 2024/06/29 23:25:55 mrg Exp $
d64 1
a64 1
sparc		y	y	y	y	n[21]	y		y	y	y
a97 10
[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.
d112 7
@


1.25
log
@note mips and ppc switched.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.24 2024/06/18 14:08:11 rin Exp $
d52 1
a52 1
i386		y	y	y	y	y[18]	y		y	n[19]	y
d54 2
a55 2
m68000		y	y	y	y	b	n		y[14]	?	?
m68k		y	y	y	y	b	y		y[14]	y[14]	?
a94 7
[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
          ss
          ss
          ...
@


1.24
log
@README.gcc12: Update powerpc; everything fine for me!

MKX11=yes build succeeds with the latest fix by mrg@@.
X11 server and client work just fine on my Power Mac G5.

There's no regression for full ATF runs (except for ubsan requiring
64-bit atomic ops, as reported by port-sparc/58352), for all
sub-architectures: oea, ibm4xx, and booke.

Also, no regression for pkgsrc native build, as far as I can see.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.23 2024/06/16 21:49:22 skrll Exp $
d56 6
a61 6
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	y	y		y	y	?
powerpc64	y	?	?	y	b	b		?	?	?
@


1.24.2.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.25 2024/06/29 23:25:55 mrg Exp $
d56 6
a61 6
mipseb		y	b	y	y	b	y		y	y	y
mipsel		y	b	y	y	b	y		y	?	y
mips64eb	y	b	y	y	b	y		y	y	y
mips64el	y	b	y	y	b	y		y	?	y
powerpc		y	y	y	y	y	y		y	y	y
powerpc64	y	?	?	y	b	b		?	?	y
@


1.24.2.2
log
@Sync with HEAD
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.29 2024/09/23 10:28:54 rin Exp $
d52 1
a52 1
i386		y	y	y	y	y	y		y	y	y
d54 2
a55 2
m68000		y	y	y	y	b	n		y[14]	?	y
m68k		y	y	y	y	b	y		y[14]	y[14]	y
d62 3
a64 3
sh3eb		y	?	y	y	b	y		?	?	y
sh3el		y	y	y	y	b	y		y	y	y
sparc		y	y	y	y	n[26]	y		y	y	y
d95 22
a128 8
[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
      #18 __ubsan::Diag::~Diag ubsan_diag.cpp:347
      #19 handleDivremOverflowImpl ubsan_diag.h:210
      #20 __ubsan::__ubsan_handle_divrem_overflow ubsan_handlers.cpp:320 
@


1.23
log
@Note hppa status
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.22 2024/06/15 20:36:38 mrg Exp $
d60 1
a60 1
powerpc		y	y	y	y	y	b		?	?	?
@


1.22
log
@note the switched platforms.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.21 2024/06/09 19:35:25 mrg Exp $
d51 1
a51 1
hppa		y	y	y	y	?	y		?	?	?
@


1.21
log
@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)
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.20 2023/10/22 00:09:20 mrg Exp $
d34 17
a50 17
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	?	?		?	?	?
earmv5		y	y	y	y	b	y		y	y	?
earmv5eb	y	y	y	y	b	y		y	y	?
earmv5hf	y	b	?	y	?	?		?	?	?
earmv5hfeb	y	b	?	y	?	?		?	?	?
earmv6		y	b	?	y	?	?		?	?	?
earmv6eb	y	b	?	y	?	?		?	?	?
earmv6hf	y	y	y	y	b	y		y	y	?
earmv6hfeb	y	y	y	y	b	y		y	y	?
earmv7		y	b	y	y	?	?		?	?	?
earmv7eb	y	b	?	y	?	?		?	?	?
earmv7hf	y	y	y	y	b	y		y	y	?
earmv7hfeb	y	y	y	y	b	y		y	y	?
d52 2
a53 2
i386		y	y	y	y	y[18]	y		y	n[19]	n
ia64		y	b	y	y	y	y		y[3]	n	n
d64 2
a65 2
sparc		y	y	y	y	n[21]	y		y	y	n
sparc64		y	b	y	y	n[16]	y		y	?	n
d67 3
a69 3
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
@


1.20
log
@note as being equally function on riscv32.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.19 2023/10/15 07:03:17 skrll Exp $
d34 2
a35 2
aarch64		y	y	y	y	y[17]	y		y	y	?
aarch64eb	y	y	y	y	y[17]	y		y	y	?
d52 3
a54 3
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]	?	?
d60 2
a61 2
powerpc		y	y	y	y	?	n[4]		?	?	?
powerpc64	y	?	?	y	?	?		?	?	?
d64 2
a65 2
sparc		y	y	y	y	n[21]	y		y	y	?
sparc64		y	b	y	y	n[16]	y		y	?	?
d67 3
a69 3
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	?
a74 5
[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.
d85 1
d92 1
d95 1
a95 3
[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.
d114 1
d132 1
a132 1
values:		y (yes), k (kernels only), n (failed), r (running), ? (not attempted), nx (yes, no x11)
d159 1
a159 1
powerpc:	k		k	k	k		kn[4]		k		k		k		k		k
d162 1
a162 1
powerpc64:	k		k		n[7]
@


1.19
log
@Update hppa status
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.18 2023/09/04 23:40:05 mrg Exp $
d68 1
a68 1
riscv32		y	y	y	y	b	y		?	?	?
d73 1
@


1.18
log
@"make release" has included sanitizers with GCC 12 for a while.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.17 2023/08/18 01:21:08 rin Exp $
d51 1
a51 1
hppa		y	b	y	y	?	n[5]		?	?	?
a74 3
[5]: GCC itself fails to build:
     build-print-rtl.c: In constructor 'rtx_writer::rtx_writer(FILE*, int, bool, bool, rtx_reuse_manager*)':
     build-print-rtl.c:90:3: error: class 'rtx_writer' does not have any field named 'm_rtx_reuse_manager'
@


1.17
log
@README.gcc12: For vax, C++ exception handling is broken also for gcc10

Therefore, native gcc breakage [25] may be an independent issue.
Anyway, neet to investigate further...
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.16 2023/08/17 03:36:25 rin Exp $
d32 1
a32 1
architecture	tools	kernels	libgcc	native-gcc/sani	make release[2]	runs	atf	switched
a72 1
[2]: while libsanitizer is not re-ported, "make release" does not include it.
a81 6
[12]: sanitizers crash early:
      (gdb) bt
      #0  0x0000f8ae19f9f424 in __sanitizer::CheckASLR () at /usr/src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cpp:2179
      #1  0x0000f8ae19ee1668 in __asan::AsanInitInternal () at /usr/src/external/gpl3/gcc/dist/libsanitizer/asan/asan_rtl.cpp:445
      #2  0x0000f8ae19ee1834 in __asan::AsanInitInternal () at /usr/src/external/gpl3/gcc/dist/libsanitizer/asan/asan_rtl.cpp:394
      #3  0x0000f8ae19f19e40 in __interceptor_pthread_mutex_lock (m=0xf8ae19c102c8 <__gthread_active_mutex.0>)
@


1.16
log
@README.gcc12: vax boots into multiuser, but c++ things are broken

- vax builds with lots of newly added -O0 workarounds to avoid
  ICE (not committed yet).
- On simh, it successfully boots into multi-user mode.
- C++ exception handling is broken. For GCC 10.5.0 and priors,
  we have local change for libunwind:

  http://www.execsw.org/netbsd/changeset.cgi?id=20140318T234341Z.c59ac4642e7d4b345f6dc5aa9887e9e1f9aa459a#src/gnu/dist/gcc4/gcc/config/vax/vax.c

  But, mechanically applying it (adjusted-for-GCC-10.5.0 version)
  does not help.
- Native gcc cannot compile hello.c due to ICE, even without
  any optimization.
- Sanitizers do not build yet.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.15 2023/08/17 03:14:40 rin Exp $
d105 1
a105 1
[17]: Not a regression, libtsan is newly introduced. tsan fails with:
d110 1
a110 1
[19]: Kernel freezes with garbage parmanently output to console, after lib/libc/sys/t_ptrace_wait:syscall_signal_on_sce fails:
d116 1
a116 1
[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:
d132 1
a132 1
[24]: c++ exception handling is broken. mechanically applying
d134 1
a134 1
      (with adjustments for gcc 10.5.0) does not help:
d137 1
a137 1
[25]: (probably due to [24]) native gcc is broken:
@


1.15
log
@README.gcc12: Tiny updates for earm and m68k

evbarmv5-el and mac68k work just fine (no-x11 yet)
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.14 2023/08/17 03:13:09 rin Exp $
d66 1
a66 1
vax		y	?	y	y	?	n		?	?	?
a81 2
[10]: libc.so fails to link with weird relocation errors:
      vax--netbsdelf/bin/ld: warning: dynamic relocation to `?' in readonly section `.eh_frame'
d130 12
@


1.14
log
@README.gcc12: riscv64 works just fine without regression for ATF
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.13 2023/08/15 04:11:53 rin Exp $
d141 1
a141 1
earm:		 		 	 	nx		k		 		k		 		 		k
d149 1
a149 1
m68k:		nx		k	k	k		k		k		k		k		k		k 	k
@


1.13
log
@README.gcc12: Update for earmv5{,eb}, m68k, sh3el

earmv5{,eb}:
- No new regression for full ATF.

m68k:
- blake2_prov.c needs -fno-stack-protector.
- No new regression for full ATF on amiga.

sh3el:
- In addition to kernel, userland is completely broken.
- No interesting diff with upstream in gcc/config/sh.
- Probably, we need bisectioning for GCC...
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.12 2023/08/11 07:37:48 mrg Exp $
d69 1
a69 1
riscv64		y	y	y	y	b	y		?	?	?
@


1.12
log
@sh3 releases now build.  so did the mips64 ones the other day...
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.11 2023/08/11 05:34:36 mrg Exp $
d39 2
a40 2
earmv5		y	y	y	y	b	y		y	?	?
earmv5eb	y	y	y	y	b	y		y	?	?
d55 1
a55 1
m68k		y	y	y	y	b	y		y[14]	p[15]	?
d63 1
a63 1
sh3el		y	n[20]	y	y	b	y		?	?	?
d99 2
a100 2
[14]: "dd count=1" and "env LC_CTYPE=en_US.UTF-8 locale" abort. -fno-stack-protector for strsuftoll.c and citrus_module.c works around the problem.
[15]: No regression observed for tests/lib/libc/{sys,gen}.
d130 2
@


1.11
log
@the sh3 build issue is related to a forced -O0 in strtod.c and PR#55668.

initial tests show it doesn't fail with gcc 10 or 12 (but building with
gcc9 to test there now to be sure.)
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.10 2023/08/08 06:42:16 mrg Exp $
d62 2
a63 2
sh3eb		y	?	y	y	?	?		?	?	?
sh3el		y	n[20]	y	y	?	n[8]		?	?	?
a81 4
[8]: destdir.evbsh3/usr/include/ssp/string.h: In function '_int_strtod_l':
     destdir.evbsh3/usr/include/ssp/string.h:82:1: error: inlining failed in call to 'always_inline' '__memcpy_ichk': target specific option mismatch
     this is caused by strtod.c using optimise("O0") conflicting with the always_inline attribute.
     originally -O0 to fix PR#55668, but may be fixed in gcc10+.
d156 2
a157 2
mips64eb:	 		r		 
mips64el:	k		r		r
d166 2
a167 2
sh3eb:		 		kn[8]		 		 		k
sh3el:		k		kn[8]		k		k
@


1.10
log
@update sparc asan issue with details.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.9 2023/08/07 00:35:49 rin Exp $
d84 2
a85 6
     82 | __ssp_bos_icheck3_restrict(memcpy, void *, const void *)
        | ^~~~~~~~~~~~~~~~~~~~~~~~~~
     src/lib/libc/gdtoa/gdtoaimp.h:534:20: note: called from here
     534 | #define Bcopy(x,y) memcpy(&x->sign,&y->sign,y->wds*sizeof(ULong) + 2*sizeof(int))
     src/lib/libc/gdtoa/strtod.c:582:17: note: in expansion of macro 'Bcopy'
     582 |                 Bcopy(bd, bd0);
@


1.9
log
@README.gcc12: Updated aarch64, arm, i386, m68k, powerpc, and sh3

aarch64{,eb}:
- Everything (without x11 yet) works just fine, except for libtsan
  (not a regression, this is newly introduced to aarch64 for GCC12).

earmv5{,eb}:
- As far as I can see, everything (nox11) seems OK.
- Full ATF is on-going.

earmv[67]hf{,eb}:
- Everything (nox11) works just fine.

i386:
- lib*san requires 64-bit atomic ops. If they are built with -march=i586,
  all tests in ATF pass. Alternatively, we can probably use 32-bit atomic
  variables instead, with some restrictions (now examining).
- New kernel freeze observed during full ATF run.

m68k:
- Another -fstack-protector breakage.
- Full ATF is on-going for amiga.

powerpc:
- Kernel is just working for all subarchs: oea, booke, ibm4xx (405 and
  strictly-alignment 403).

sh3el:
- Kernel is broken [20]. Seems like regressions for function inlining;
  see also [8] for userland. But, -fno-inline does not work unfortunately...
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.8 2023/08/05 23:52:43 mrg Exp $
d64 1
a64 1
sparc		y	y	y	y	n[atf]	y		y	y	?
d129 9
a137 1
[atf]: new failures in ATF, probably crashes
@


1.8
log
@note sparc & sparc64 seem to work fine except for sanitizers.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.7 2023/08/04 14:54:40 rin Exp $
d34 2
a35 2
aarch64		y	y	y	y	n[12]	y		y	y	?
aarch64eb	y	y	y	y	b	y		y	y	?
d39 2
a40 2
earmv5		y	b	?	y	?	?		?	?	?
earmv5eb	y	b	?	y	?	?		?	?	?
d45 2
a46 2
earmv6hf	y	b	?	y	?	y		?	?	?
earmv6hfeb	y	b	?	y	?	?		?	?	?
d49 2
a50 2
earmv7hf	y	b	?	y	b	y		?	?	?
earmv7hfeb	y	b	?	y	b	y		?	?	?
d52 1
a52 1
i386		y	b	y	y	y	y		?	?	?
d60 1
a60 1
powerpc		y	?	y	y	?	n[4]		?	?	?
d63 1
a63 1
sh3el		y	?	y	y	?	?		?	?	?
d107 1
a107 1
[14]: "dd count=1" aborts. "COPTS.strsuftoll.c+=-fno-stack-protector" works around the problem.
d115 14
d139 1
a139 1
earm:		 		 	 	k		k		 		k		 		 		k
d142 1
a142 1
earmv6hf:	 		 	 	k		k
d144 1
a144 1
earmv7hf:	 		 	 	k		k
d147 1
a147 1
m68k:		y		k	k	k		k		k		k		k		k		k 	k
@


1.7
log
@README.gcc12: Updated m68000 and m68k

- Kernel works just fine for sun2. Once-observed error was due to
  misc/57562.
- Kernel and bootloader work just fine for amiga.
- Userland needs COPTS.strsuftoll.c+=-fno-stack-protector.
- For amiga, no regression for tests/lib/libc/{sys,gen}.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.6 2023/08/04 07:40:04 mrg Exp $
d64 2
a65 2
sparc		y	y	y	y	b	y		y	?	?
sparc64		y	b	y	y	b	y		?	?	?
d109 7
@


1.6
log
@make sanitizers build for some more platforms

m68k (but not m68000), riscv{32,64}, and arm32.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.5 2023/08/04 03:39:22 rin Exp $
d22 1
a22 1
kernels:	does a kernel run?  y (yes), b (builds/ready), ? (not ready)
d54 2
a55 2
m68000		y	n[9]	y	y	n[11]	n		?	?	?
m68k		y	b	y	y	b	y		?	?	?
a89 1
[9]: sun2 fails to load the kernel, probably too big again.
d107 2
@


1.5
log
@README.gcc12: alpha works just fine (incl. boot loaders)

Clean up outdated/duplicate notes also.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.4 2023/08/03 01:36:53 mrg Exp $
d34 1
a34 1
aarch64		y	y	y	y	b	y		y	y	?
d45 1
a45 1
earmv6hf	y	b	?	y	?	?		?	?	?
d49 2
a50 2
earmv7hf	y	b	?	y	?	?		?	?	?
earmv7hfeb	y	b	?	y	?	?		?	?	?
d54 6
a59 6
m68000		y	n[9]	y	y	?	bs		?	?	?
m68k		y	b	y	y	?	bs		?	?	?
mipseb		y	b	y	y	?	bs		?	?	?
mipsel		y	b	y	y	?	bs		?	?	?
mips64eb	y	b	y	y	?	bs		?	?	?
mips64el	y	b	y	y	?	bs		?	?	?
d64 1
a64 1
sparc		y	y	y	y	?	bs		y	?	?
d67 3
a69 3
x86_64		y	y	y	y	y	y		y	y	?
riscv32		y	y	y	y	?	bs		?	?	?
riscv64		y	y	y	y	?	bs		?	?	?
d91 17
@


1.4
log
@many fixes for native GCC 12 builds

- default to dwarf4 since out ctf tools fail with dwarf5.  i tried to
  do this via subtarget options as other ports do, but this would
  require adjusting several of the targets non-netbsd code, and ideally
  we'll fix our tools sooner than later, so just hack it here for now.
- catch up config/rs6000/netbsd64.h (mostly delete things)
- remove some more upstream diffs in config/vax, though it does not work
  currently - libc.so link fails due to weird relocations.
- include some headers to ensure types are available
- add missing sanitizer netbsd files to the 'dist' tree
- remove no longer present TIOCRCVFRAME and TIOCXMTFRAME interceptors
- expanding the sanitizer OS/cpu defs to cover more netbsd platforms
- copy across a few minor changes from gcc.old's sanitizer's (eg,
  disabling linux-specific code, adding netbsd specific code.)
- add (untested, but building) tsan support for arm64
- re-enable the sanitzers, at least simple -fsanitize=address builds a
  working application on amd64 now
- fix the source lists (mostly .cc -> .cpp rename here)
- add some missing new defines, -f*, and -W*
- bump sanitizer shlib version
- apply -fno-jump-tables in some more places on m68k
- update the list in README.gcc12 to note many things now work or a few
  things to do not work (although there are many uncommited changes at
  this point across the rest of 'src' and 'xsrc'.)  main points are that
  vax, hppa, ppc, and sh3 don't build yet, but most other things are
  either testing and working or at least building.
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.3 2023/08/01 07:09:38 mrg Exp $
d36 1
a36 1
alpha		y	b	y	y	b	y		?	?	?
a72 1
[1]: amd64 crashed in memfd, likely bug in new code
a78 1
[6]: rs6000 has new generator to deal with
d121 1
a121 1
powerpc:	k		k	k	k		kn[6]		k		k		k		k		k
@


1.3
log
@update status for various ports

- arm64 mostly works with some uncommited patches
- arm might work, but my testbox seems unstable
- most ports have basically working native-gcc now
- mipsel builds (pmax)
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.2 2023/07/31 10:09:44 mrg Exp $
a12 1
	libcody
d25 2
a26 2
sani:		has sanitizer been ported to this CPU again for GCC 12
make release:	does build.sh release complete?
d34 32
a65 32
aarch64		y	y	y	y	?	y		y	y	?
aarch64eb	y	?	?	y	?	?		?	?	?
alpha		y	?	?	y	?	?		?	?	?
earmv4		?	?	?	?	?	?		?	?	?
earmv4eb	?	?	?	?	?	?		?	?	?
earmv5		y	?	?	y	?	?		?	?	?
earmv5eb	y	?	?	y	?	?		?	?	?
earmv5hf	y	?	?	y	?	?		?	?	?
earmv5hfeb	y	?	?	y	?	?		?	?	?
earmv6		y	?	?	y	?	?		?	?	?
earmv6eb	y	?	?	y	?	?		?	?	?
earmv6hf	y	?	?	y	?	?		?	?	?
earmv6hfeb	y	?	?	y	?	?		?	?	?
earmv7		y	?	y	y	?	?		?	?	?
earmv7eb	y	?	?	y	?	?		?	?	?
earmv7hf	y	?	?	y	?	?		?	?	?
earmv7hfeb	y	?	?	y	?	?		?	?	?
hppa		y	?	?	y	?	?		?	?	?
i386		y	?	y	y	?	y		?	?	?
ia64		y	y	y	y	?	y		y[3]	n	?
m68000		y	?	?	y	?	?		?	?	?
m68k		y	?	?	y	?	?		?	?	?
mipseb		y	?	?	y	?	?		?	?	?
mipsel		y	?	y	y	?	y		?	?	?
mips64eb	y	?	?	y	?	?		?	?	?
mips64el	y	?	?	y	?	?		?	?	?
powerpc		y	?	?	y	?	?		?	?	?
powerpc64	?	?	?	?	?	?		?	?	?
sh3eb		y	?	?	y	?	?		?	?	?
sh3el		y	?	?	y	?	?		?	?	?
sparc		y	?	?	y	?	y		?	?	?
sparc64		y	?	?	y	?	y		?	?	?
d67 3
a69 3
x86_64		y	y	y	y	?	y		y	n[1]	?
riscv32		y	?	?	?	?	?		?	?	?
riscv64		y	?	?	?	?	?		?	?	?
d76 17
d101 7
a107 7
earmv4:		?		?	?	?		?		?		 		?		?		 
earm:		 		 	 	?		?		 		?		 		 		?
earmhf:		 		 	 	?		?		 		 		 		 		 
earmv6:		 		 	 	?		?
earmv6hf:	 		 	 	?		?
earmv7:		 		 	 	?		?
earmv7hf:	 		 	 	?		?
d110 1
a110 1
m68k:		?		?	?	?		?		?		?		?		?		y 	?
d113 1
a113 1
mipseb:		?		?		?		?		?		?
d116 1
a116 1
mipsel:		?		?		?		?		?		r
d119 2
a120 2
mips64eb:	 		?		 
mips64el:	?		?		?
d123 1
a123 1
powerpc:	?		?	?	?		?		?		?		?		?		?
d126 1
a126 1
powerpc64:	?		?		?
d129 2
a130 2
sh3eb:		 		?		 		 		?
sh3el:		?		?		?		?
@


1.2
log
@some updates:
- most platforms native-gcc works
- some platforms libgcc works
- amd64 kernels work
- i386 kernels build
- add info about libsanitizer re-port (all no.)
@
text
@d1 1
a1 1
$NetBSD: README.gcc12,v 1.1 2023/07/30 06:37:23 mrg Exp $
d33 3
a35 3
architecture	tools	kernels	libgcc	native-gcc/sani	make release	runs	atf	switched
------------	-----	-------	------	----------	------------	----	---	--------
aarch64		y	?	y	y	?	?		?	?	?
d37 1
a37 1
alpha		y	?	?	?	?	?		?	?	?
d40 22
a61 22
earmv5		y	?	?	?	?	?		?	?	?
earmv5eb	y	?	?	?	?	?		?	?	?
earmv5hf	y	?	?	?	?	?		?	?	?
earmv5hfeb	y	?	?	?	?	?		?	?	?
earmv6		y	?	?	?	?	?		?	?	?
earmv6eb	y	?	?	?	?	?		?	?	?
earmv6hf	y	?	?	?	?	?		?	?	?
earmv6hfeb	y	?	?	?	?	?		?	?	?
earmv7		y	?	?	?	?	?		?	?	?
earmv7eb	y	?	?	?	?	?		?	?	?
earmv7hf	y	?	?	?	?	?		?	?	?
earmv7hfeb	y	?	?	?	?	?		?	?	?
hppa		y	?	?	?	?	?		?	?	?
i386		y	?	y	y	?	?		?	?	?
ia64		y	?	?	?	?	?		?	?	?
m68000		y	?	?	?	?	?		?	?	?
m68k		y	?	?	?	?	?		?	?	?
mipseb		y	?	?	?	?	?		?	?	?
mipsel		y	?	?	?	?	?		?	?	?
mips64eb	y	?	?	?	?	?		?	?	?
mips64el	y	?	?	?	?	?		?	?	?
powerpc		y	?	?	?	?	?		?	?	?
d63 6
a68 6
sh3eb		y	?	?	?	?	?		?	?	?
sh3el		y	?	?	?	?	?		?	?	?
sparc		y	?	?	?	?	?		?	?	?
sparc64		y	?	?	?	?	?		?	?	?
vax		y	?	?	?	?	?		?	?	?
x86_64		y	y	y	y	?	?		?	?	?
d71 6
a76 2
------------	-----	-------	------	----------	------------	----	---
architecture	tools	kernels	libgcc	native-gcc	make release	runs	atf
d100 1
a100 1
mipsel:		?		?		?		?		?		?
@


1.1
log
@update for GCC 12.

amd64 tools already work.  everything else is unknown.
@
text
@d1 1
a1 1
$NetBSD: README.gcc10,v 1.24 2021/08/16 17:42:05 mrg Exp $
d26 1
d33 1
a33 1
architecture	tools	kernels	libgcc	native-gcc	make release	runs	atf	switched
d35 36
a70 36
aarch64		?	?	?	?		?		?	?	?
aarch64eb	?	?	?	?		?		?	?	?
alpha		?	?	?	?		?		?	?	?
earmv4		?	?	?	?		?		?	?	?
earmv4eb	?	?	?	?		?		?	?	?
earmv5		?	?	?	?		?		?	?	?
earmv5eb	?	?	?	?		?		?	?	?
earmv5hf	?	?	?	?		?		?	?	?
earmv5hfeb	?	?	?	?		?		?	?	?
earmv6		?	?	?	?		?		?	?	?
earmv6eb	?	?	?	?		?		?	?	?
earmv6hf	?	?	?	?		?		?	?	?
earmv6hfeb	?	?	?	?		?		?	?	?
earmv7		?	?	?	?		?		?	?	?
earmv7eb	?	?	?	?		?		?	?	?
earmv7hf	?	?	?	?		?		?	?	?
earmv7hfeb	?	?	?	?		?		?	?	?
hppa		?	?	?	?		?		?	?	?
i386		?	?	?	?		?		?	?	?
ia64		?	?	?	?		?		?	?	?
m68000		?	?	?	?		?		?	?	?
m68k		?	?	?	?		?		?	?	?
mipseb		?	?	?	?		?		?	?	?
mipsel		?	?	?	?		?		?	?	?
mips64eb	?	?	?	?		?		?	?	?
mips64el	?	?	?	?		?		?	?	?
powerpc		?	?	?	?		?		?	?	?
powerpc64	?	?	?	?		?		?	?	?
sh3eb		?	?	?	?		?		?	?	?
sh3el		?	?	?	?		?		?	?	?
sparc		?	?	?	?		?		?	?	?
sparc64		?	?	?	?		?		?	?	?
vax		?	?	?	?		?		?	?	?
x86_64		y	?	?	?		?		?	?	?
riscv32		?	?	?	?		?		?	?	?
riscv64		?	?	?	?		?		?	?	?
@

