Date: Fri, 17 Nov 2006 21:08:15 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Jung-uk Kim <jkim@FreeBSD.org> Cc: freebsd-fs@FreeBSD.org, freebsd-current@FreeBSD.org, Doug Ambrisko <ambrisko@ambrisko.com>, Andriy Gapon <avg@icyb.net.ua> Subject: Re: ZFS patches for FreeBSD. Message-ID: <20061117210000.S11101@delplex.bde.org> In-Reply-To: <200611161506.58128.jkim@FreeBSD.org> References: <1163701391.00638085.1163691003@10.7.7.3> <455CB8CA.8040603@icyb.net.ua> <200611161506.58128.jkim@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 16 Nov 2006, Jung-uk Kim wrote: > On Thursday 16 November 2006 02:15 pm, Andriy Gapon wrote: >> Hmm, I saw errors like this with some other 3rd party kernel module >> when its sources had constructs like: >> >> struct some_struct s = {0}; >> >> Changing the above initialization to explicit bzero() call helped >> in that case, but I think that there should be some compiler flags >> or something to handle this. > > AFAIK, there was no way to handle this GCC bug with compiler flags. > '-ffreestanding' should prevent this to happen but it does not. As > Max Laier pointed out, it was discussed long time ago. Bruce Evans > had good analysis on this issue, too. Source code that triggers this bug might be broken anyway. gcc should only call a function to do the zeroing for large structs, but large structs might be too large for the kernel stack. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061117210000.S11101>