git: bd72252aace3 - main - [mips] revert r366664 - flip mips back from -O2 to -O

Mateusz Guzik mjguzik at gmail.com
Thu Jan 14 13:26:41 UTC 2021


This breaks tinderbox, for example:

make[5]: "/usr/src/share/mk/sys.mk" line 169: Malformed conditional
(${MACHINE_CPUARCH} == "mips" && ${COMPILER_TYPE} == "gcc")
make[5]: Fatal errors encountered -- cannot continue
make[5]: stopped in /usr/obj/usr/src/mips.mips64/sys/BERI_NETFPGA_MDROOT

On 1/14/21, Adrian Chadd <adrian at freebsd.org> wrote:
> The branch main has been updated by adrian:
>
> URL:
> https://cgit.FreeBSD.org/src/commit/?id=bd72252aace382921840ddbceea712b96f4ad242
>
> commit bd72252aace382921840ddbceea712b96f4ad242
> Author:     Adrian Chadd <adrian at FreeBSD.org>
> AuthorDate: 2021-01-12 21:13:20 +0000
> Commit:     Adrian Chadd <adrian at 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
> _______________________________________________
> dev-commits-src-all at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
> To unsubscribe, send any mail to
> "dev-commits-src-all-unsubscribe at freebsd.org"
>


-- 
Mateusz Guzik <mjguzik gmail.com>


More information about the dev-commits-src-all mailing list