*BSD News Article 84397


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.mira.net.au!news.vbc.net!vbcnet-west!garlic.com!uunet!in2.uu.net!204.178.176.27!hunter.premier.net!news.mathworks.com!newsgate.duke.edu!hal.cs.duke.edu!cs.duke.edu!trt
From: trt@cs.duke.edu (Thomas R. Truscott)
Newsgroups: comp.unix.solaris,comp.unix.bsd.misc,comp.unix.internals
Subject: Re: Solaris 2.6
Date: 6 Dec 1996 22:36:04 GMT
Organization: SAS Institute Inc.
Lines: 40
Distribution: inet
Message-ID: <58a74k$4j2@hal.cs.duke.edu>
References: <32986299.AC7@mail.esrin.esa.it> <casper.32a40b7b@mail.fwi.uva.nl> <587jrv$9rf@news.parc.xerox.com> <587meg$h67@web.nmti.com>
NNTP-Posting-Host: juliet.cs.duke.edu
Xref: euryale.cc.adfa.oz.au comp.unix.solaris:91651 comp.unix.bsd.misc:1708 comp.unix.internals:11489

I am late to this discussion, but let me now say:

	IT WAS THE INDEPENDENT SOFTWARE VENDORS WHO FOISTED
	THE LARGE FILE SPEC ON YOU, NOT SUN!!!

Indeed SunSoft fought the good fight against the ISV tyranny.  See:

    http://www.sas.com/standards/large.file/hmail/0066.html

But the ISVs refused to budge.  For example see:

   http://www.sas.com/standards/large.file/hmail/0068.html

================================

[I don't have much to add to the comments by Casper Dik and others, but ...]

>The Sun approach requires a #define to indicate you want to use the *new*
>versions of the header files to link with 64-bit libraries.

So the debate is about what the default should be?
I suppose it would be nice if the default were "large file API"
and heck let's add in "-mt" but obviously this would result in
more breakage of existing source code than would the Sun approach.


There has been mention of SCO and "Expanded Fundamental Types".
What they (USL) did was put static functions in /usr/include/sys/stat.h
for stat/fstat/lstat/mknod which called appropriate underlying functions.
For example programs compiled to use the "new" stat() call
would end up calling _xstat().
Other than the unusual stack backtrace this works fairly well.
Except that if you compile a program with 100 .c files
you can end up with a binary containing 400 unused static functions.
Using this method for the large file API is less attractive
because the large file API has lot more functions.
In my opinion the Solaris "#pragma redefine_extname stat stat64"
is a much simpler way to handle this type of problem.

Tom Truscott