Date: Thu, 14 Jan 2021 07:04:20 GMT From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: bd72252aace3 - main - [mips] revert r366664 - flip mips back from -O2 to -O Message-ID: <202101140704.10E74KhX070996@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=bd72252aace382921840ddbceea712b96f4ad242 commit bd72252aace382921840ddbceea712b96f4ad242 Author: Adrian Chadd <adrian@FreeBSD.org> AuthorDate: 2021-01-12 21:13:20 +0000 Commit: Adrian Chadd <adrian@FreeBSD.org> CommitDate: 2021-01-14 07:03:53 +0000 [mips] revert r366664 - flip mips back from -O2 to -O Now that I have -head fitting in 8MB of flash again, I can test out freebsd-head on my home AP test setup. Unfortunately, the introduction of -O2 in r366664 causes the following infinite loop shortly after boot: ------ MAP: No valid partition found at map/rootfs.uzip Warning: no time-of-day clock registered, system time will not be set accurately start_init: trying /sbin/init BAD_PAGE_FAULT: pid 1 tid 100001 (init), uid 0: pc 0x4042c320 got a read fault (type 0x2) at 0x2e3a0 Trapframe Register Dump: zero: 0 at: 0 v0: 0 v1: 0 a0: 0x1af34 a1: 0 a2: 0 a3: 0x7fffeff0 t0: 0 t1: 0 t2: 0 t3: 0 t4: 0 t5: 0 t6: 0 t7: 0 t8: 0 t9: 0x152e8 s0: 0x7fffee84 s1: 0 s2: 0 s3: 0 s4: 0 s5: 0 s6: 0 s7: 0 k0: 0 k1: 0 gp: 0x362c0 sp: 0x7fffedf0 s8: 0 ra: 0x40417df0 sr: 0xf413 mullo: 0 mulhi: 0 badvaddr: 0x2e3a0 cause: 0xffffffff80000008 pc: 0x4042c31c Page table info for pc address 0x4042c320: pde = 0x80712000, pte = 0xa002065a Dumping 4 words starting at pc address 0x4042c320: 8f9980e0 80820000 10400067 00809825 Page table info for bad address 0x2e3a0: pde = 0, pte = 0 ------ I'm not yet sure why, but until I figure it out with the mips64/cheri folk this should be reverted. This should only use -O on GCC generated code for MIPS platforms. Tested: * QCA934x (mips74k) - WDR-3600/WDR-4300 APs Differential Revision: https://reviews.freebsd.org/D28122 --- share/mk/sys.mk | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/share/mk/sys.mk b/share/mk/sys.mk index 8f456b28593a..72f458397683 100644 --- a/share/mk/sys.mk +++ b/share/mk/sys.mk @@ -166,7 +166,14 @@ CC ?= c89 CFLAGS ?= -O .else CC ?= cc +.if ${MACHINE_CPUARCH} == "mips" && ${COMPILER_TYPE} == "gcc" +# Note: there are currently issues generating code gcc-6.x targeting +# code for at least mips32. The system hits infinite page faults +# when starting /sbin/init if -O2 is used. +CFLAGS ?= -O -pipe +.else CFLAGS ?= -O2 -pipe +.endif .if defined(NO_STRICT_ALIASING) CFLAGS += -fno-strict-aliasing .endif
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202101140704.10E74KhX070996>