Re: ZFS patches for FreeBSD.

From: Alexander Kabaev <kabaev_at_gmail.com>
Date: Fri, 17 Nov 2006 08:33:11 -0500
On Fri, 17 Nov 2006 10:57:24 +0300
Ruslan Ermilov <ru_at_freebsd.org> wrote:

> On Thu, Nov 16, 2006 at 09:56:39PM -0500, Alexander Kabaev wrote:
> > On Thu, 16 Nov 2006 15:06:56 -0500
> > Jung-uk Kim <jkim_at_FreeBSD.org> 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.
> > > 
> > This is not a GCC bug. -ffreestanding is _documented_ as requiring
> > memset and friends as resolvable extern symbols. We were just lucky
> > to get away without it before.
> > 
> Yes.  But to make it clear: it's there in libkern.h, just not
> external.
> 

inline definitions do not satisfy the requirement. So memset is NOT
there. I implemented simple-minded amd64 and i386 vesrions for GCC4
import.  

-- 
Alexander Kabaev

Received on Fri Nov 17 2006 - 12:33:20 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:02 UTC