gpg 1.0.3 on Solaris w/ large file support

Nils Ellmenreich Nils at infosun.fmi.uni-passau.de
Tue Oct 17 16:05:28 CEST 2000


Hi,

>>>"LH" == Lars Hecking <lhecking at nmrc.ie> writes:

 LH> On Wed, 4 Oct 2000 15:27:15 +0200 (CEST), Nils Ellmenreich wrote:

 >> This is because Solaris
 >> requires the compilation flag -D_LARGEFILE64_SOURCE to support these
 >> functions.

 LH>  From my understanding of large file support, this is not correct.

OK, what I meant was that the 1.0.3 code required this flag under
Solaris 2.6 to compile, which is correct (at least on my machines). ;-)

 LH>  According http://ftp.sas.com/standards/large.file/x_open.20Mar96.html,
 LH>  _LARGEFILE64_SOURCE and the *64() functions/ *64 structs are part of
 LH>  a transitional ABI, and are only required if one mixes 32/64bit types
 LH>  in the same program.

Right, so in the end, the way you write the code determines which flags
you actually need. There are circumstances where it makes perfect sense
to use that transitional interface.

 LH>  I have a first cut at a patch for gnupg-1.0.3b that adds large file support
 LH>  at configure level. But there is still work to be done (or has it been
 LH>  done already?) in util/iobuf.c. I think that

Not yet.

 LH>  - the redefinition of fopen() and fstat() must go
 LH>  - u32 iobuf_get_filelength( IOBUF a ) must be rewritten to
 LH>    not explicitly return u32, but a different type that is 64 bit
 LH>    on 64 bit platforms
 LH>  - accordingly, the struct stat64 and
 LH>    "#if defined (HAVE_FOPEN64) && defined (HAVE_FSTAT64)" stuff in
 LH>    iobuf_get_filelength() must go.

 LH>  I could be totally off track here, of course ;-)

No, you are not. I've been playing around with it myself, only to find
out that I don't know enough about this. Now, after some reading I'll be
looking at it again (hopefully this week). The above remarks look good
to me.

 LH>  Will I post my patch here? I have no ftp site to put it on.

Hm, trouble is we want to have it in the distribution. If I understand
Werner correctly, only very small patches (like 3 lines or so) can be
accepted. For longer stuff, you need to sign some legal papers to
transfer the copyright to the FSF. I think, a good way to proceed might
be that you explain to me what you have done already (like the above
list), so that I can reprogram it and start from there.

 LH>  It compiles nicely on 32/64bit Solaris, but doesn't on IRIX/HP-UX/DU.
 LH>  I _think_ that I have problems compiling gpg on these platforms anyway ...

Right, if we have it compiling *and* working for Solaris, Werner
suggested we make a snapshot and have some HP-UX guys help us out. I
don't have access to any of the above systems so I can't try it.
 
Cheers, Nils

PS. Lars, always interested in the same stuff as me, right?? :-)
-- 
Nils Ellmenreich - Fakultaet fuer Math./Informatik             - Nils @
http://www.fmi.uni-passau.de/~nils  -  Univ. Passau   -   Uni-Passau.DE



More information about the Gnupg-devel mailing list