Re: OFFTOPIC: e2fsprogs and +2Gb partitions

Ulrich Drepper (drepper@cygnus.com)
13 Jun 1998 11:03:21 -0700


ak@muc.de writes:

> The __ variants are 100% name space clean.

It's safe in the way they do not violate standards. But these names
are far to common (since too short) to not be used in other
situations.

> If they're all ifdefed with _LINUX_SOURCE then the name space
> problem is moot anyways - _GNU_SOURCE adds name space polution,
> _BSD_SOURCE adds name space pollution - why is Linux so special?

I'm tired of repeating this on and on

> I think this is a bad hack. Do you really want to duplicate kernel includes
> in all kinds of packages? This gives bad source control problems and makes
> extending the kernel very difficult .

Talk to Linus about this. His intention is to have no user-level code
using kernel headers and I agree. This also means that very special
headers (like the filesystem headers) will have to come with the
package which need them.

> And there exists a large body of code that uses these types, if you like
> it or not. And sometimes we need to write Linux specific code, simply because
> Linux has some interfaces that don't exist on other systems (for example
> the netlink interface, the SO_FILTER extension Alan pointed out etc. etc.)

You miss the point. System specific code must be written, sure. But
system specific code in the libraries is wrong since it makes these
definitions appear as the way to go when writing a program.

And by the way: what number of programs (and what percantage) do we
talk about? These are mainly problems for programs which are close to
the kernel and written by the same people who wrote the kernel stuff.
Of course you've used the same names etc which I fully can understand
for a first implementation. But ince the programs are released to the
world these problems should have been fixed and since the nubmer is
quite low there is no such problem.

> Also if you're mandating standards compliance so much - why does glibc define
> so many non-standard GNU extensions then?

Because these extensions are available on all systems using glibc.
And for packages which want to use this functionality on other systems
there is always to possiblity to use the glibc sources in these
packages (see the lib/ dirs in all GNU packages). Beside this
_GNU_SOURCE is in some case just a place holder since meanwhile
several of the functions formerly only available in glibc are
available on other systems as well.

-- 
---------------.      drepper at gnu.org  ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Cygnus Solutions `--' drepper at cygnus.com   `------------------------

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu