NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: toolchain/51094: repeatable file-system corruption: 7.99.2{7,8} i386/athlon gcc-5.3.0
The following reply was made to PR toolchain/51094; it has been noted by GNATS.
From: Jim Bernard <jbernard%mines.edu@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: toolchain-manager%NetBSD.org@localhost, gnats-admin%NetBSD.org@localhost,
netbsd-bugs%NetBSD.org@localhost, jbernard%mines.edu@localhost
Subject: Re: toolchain/51094: repeatable file-system corruption: 7.99.2{7,8}
i386/athlon gcc-5.3.0
Date: Thu, 28 Apr 2016 17:53:41 -0600
On Thu, Apr 28, 2016 at 08:00:02PM +0000, matthew green wrote:
> The following reply was made to PR toolchain/51094; it has been noted by GNATS.
>
> From: matthew green <mrg%eterna.com.au@localhost>
> To: Jim Bernard <jbernard%mines.edu@localhost>
> Cc: toolchain-manager%NetBSD.org@localhost, gnats-admin%NetBSD.org@localhost,
> netbsd-bugs%NetBSD.org@localhost, gnats-bugs%NetBSD.org@localhost
> Subject: re: toolchain/51094: repeatable file-system corruption: 7.99.2{7,8} i386/athlon gcc-5.3.0
> Date: Fri, 29 Apr 2016 05:57:28 +1000
>
> i have commited a hack to amd64 kernel builds to use this option
> for ufs_lookup.c only. if you update it should work without any
> special options. (i was running a kernel with everything built
> -fno-tree-vrp -Wno-error=maybe-uninitialized to avoid the issues
> you mentioned, but they don't apply to the problem source.)
I can confirm that using -fno-tree-vrp on just this file fixes the problem
for me. Since my cpu is a 32-bit cpu, instead of using this change to the
amd64 Makefile, I just put it into my kernel config, passing it via
CPUOPTS, rather than COPTS with:
makeoptions "CPUFLAGS.ufs_lookup.c"+="-fno-tree-vrp"
> ideally, someone should do something like this:
>
> remove this hack and instead apply it directly inside ufs_lookup.c
> itself. there are only a relatively small number of functions so
> it shouldn't be too hard to binary search. you can use (i believe)
> __attribute__((__optimize__("no-tree-vrp"))) on each function to
> turn it off just here, and then test against a known failing case.
That works. The function is ufs_direnter(). It's a fairly long one, though.
-- Jim
Home |
Main Index |
Thread Index |
Old Index