On Monday, January 31, 2005, at 04:40PM, John E. Malmberg <[EMAIL PROTECTED]> 
wrote:

>The configure tests for largefile support is based on if the integer type
>is native 64 bits.

If you're looking at 5.8.6, all of the 64-bit tests were lumped together under 
64-bit integers, which is just plain wrong.  I believe 64-bit integers and 
large file support now work correctly (and independently) in bleadperl and 
those changes should make it into 5.8.7.

64-bit integers and long doubles do also work, but are currently still lumped 
together.  In other words, I don't think we have provided for anyone who wants 
long doubles but not long ints.

There is a separate part of Perl's 64-bitness called "maximal 64-bit support" 
enabled by -Duse64bitall and/or -Dusemorebits.  It refers to very large memory 
support, and is not yet supported (yes, it's on my to-do list).  Up through 
5.8.6, we incorrectly reported that it was defined if any 64-bit option was 
chosen even though there was no attempt made to enable large memory support in 
the CRTL.

>On VMS, the off_t type becomes 64 bits if the _LARGEFILE macro is defined
>in the test program.
>
>Which means logically the support for largefile on VMS should be based on
>the presences of off_t being detected as being 64 bits by the test program
>run by configure instead.  (Or simply by checking the minimum version on
>the 64 bit OpenVMS platforms)

The appropriate checking is now done.  See

http://public.activestate.com/cgi-bin/perlbrowse?patch=23748

and

http://public.activestate.com/cgi-bin/perlbrowse?patch=23775

>
>If largefile support is to be present, then the resulting config.h needs
>to have a #define _LARGEFILE 1 in it.

I think I tried that, but that's too late.  The CRTL headers that need to see 
_LARGEFILE get included before config.h, so it had to be added on the command 
line via /DEFINE=_LARGEFILE.

>Of course there could be bad consequences if perl is assuming that off_t
>and int or long are interchangeable, which is what the current logic seems
>to suggest.

Perl has it's own Off_t that translates to either off_t or off64_t depending on 
configuration choices, and it does all seem to be working correctly now.  If 
you configure bleadperl using -Duselargefiles and have any trouble getting it 
to work, do post here.

>Is there an easy solution to this?

No, it wasn't easy, but the good new is "wasn't" is past tense.  It was easier 
to port Perl to Itanium than it was to make it recognize and support the large 
file capabilities in the CRTL, but it's done and working as far as I know.

Reply via email to