Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Feb 2002 20:23:18 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Julian Elischer <julian@elischer.org>
Cc:        Matthew Dillon <dillon@apollo.backplane.com>, FreeBSD current users <current@FreeBSD.ORG>
Subject:   Re: controversial fix or some errors breaking LINT
Message-ID:  <20020228201506.S51954-100000@gamplex.bde.org>
In-Reply-To: <Pine.BSF.4.21.0202271430140.97278-100000@InterJet.elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 27 Feb 2002, Julian Elischer wrote:

> ok so I leave it to other people to fix LINT
> I'm not going near it any more
>
> one small example:
>
> ../../../dev/ie/if_ie.c:1471: warning: passing arg 1 of pointer to
> function discards qualifiers from pointer target type
> ../../../dev/ie/if_ie.c:1480: warning: passing arg 1 of pointer to
> function discards qualifiers from pointer target type
> ../../../dev/ie/if_ie.c:1483: warning: passing arg 1 of pointer to
> function discards qualifiers from pointer target type
> ../../../dev/ie/if_ie.c:1508: warning: passing arg 1 of pointer to
> function discards qualifiers from pointer target type
>
> it's so obviously the right way that
> I'm amazed that there can even be discussion.
> (except that I know Bruce didn't lik eit before)
> (he and jhb just actualy created more errors in LINT by removing
> a volatile on the definition of bzero in the kernel.)
> (the above fatal errors are new and brought to you by the people who just
> did that removal)

We just unshot one of the messengers.  Breaking bzero for the i386 case
didn't affect other arches.

> remember folks.. this is the kernel here..
> what Posix says doesn't count INSIDE the kernel.

Actually, it does for bcopy.  We use the same interface for all the
string functions kernel so that experience with it them userland can be
reused and vice versa.

> We deal wit devices inside the kernel.
> we have a LOT of volatile stuff.
> It may be worth creating a vbcopy and vbzero to handle
> volatile stuff then.
> (But I think it's a stupid thing to need to do)
> the bus-space mess should have stuff to do this but
> no-one who understands it has had teh energy to actually
> fix this stuff with it. so we are stuck with a broken LINT.

Most drivers aren't affected by this.  This is because:
- most of them already use bus-space.
- most of the drivers that don't use bus-space only support PIO devices,
  so they don't need volatile qualifiers for device memory.
- most of the others (if there are any left other than if_le) don't use
  volatiles carefully to a fault like if_ie.

Bruce


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020228201506.S51954-100000>