Boost logo

Boost Testing :

From: Christopher Cambly (ccambly_at_[hidden])
Date: 2008-01-11 11:18:03


> Christopher Cambly/Toronto/IBM_at_IBMCA
> Sent by: boost-testing-bounces_at_[hidden]
>
> 11/01/2008 09:54 AM
>
> Please respond to
> Running Boost regression tests <boost-testing_at_[hidden]>
>
> To
>
> Running Boost regression tests <boost-testing_at_[hidden]>
>
> cc
>
> turkanis_at_[hidden]
>
> Subject
>
> Re: [Boost-testing] [vacpp][iostreams] Help fixing
stream_offset_64bit_test
>
> Jonathan Turnkanis_at_[hidden] wrote on 09/01/2008 06:15:49 PM:
>
> > Jonathan Turkanis <turkanis_at_[hidden]>
> > Subject
> >
> > Re: [Boost-testing] [vacpp][iostreams] Help fixing
> stream_offset_64bit_test
> >
> > Jonathan Turkanis wrote:
> > > Catherine Morton wrote:
> > >> I'll just leave the copyright header here just in case
> > >
> > > Thanks for the quick response. I've checked in a possible fix.
> >
> > To close out this thread: it looks like fpost_t and streamoff are both
> > 32-bit on this platform, so I won't be able to fix the problem; I've
> > marked it up as an expected failure.
> >
>
> Is the real question: how do I enable large file support on AIX?
> fpos_t and streamoff are long by default, but if you add the compiler
> options "-qlonglong -D_LARGE_FILES" it will enable support for large
files
> and fpos_t and streamoff become long long.
>
>

I did a little more experimentation. The test works correctly when
address-model=64 (with a patch to vacpp.jam for the vacpp.archive action).

When I just add -qlonglong -D_LARGE_FILES, fpos_t and streamoff are now 8
bytes, but the test still fails with the following:
****************************************
* sizeof(fpos_t) = 8
* sizeof(streamoff) = 8
* sizeof(stream_offset) = 8
****************************************
stream_offset_64bit_test.cpp(59): fatal error in
"stream_offset_64bit_test": off !=
position_to_offset(offset_to_position(off)) failed for (off >> 32) ==
0xffffffe7 and (off & 0xFFFFFFFF) == 0x3fd180

I am not all that familiar with what this particular test is testing.
Adding large file support allows 32 bit programs to access files > 2G.
Address-model=64 makes this a true 64 bit application.

Chris Cambly
XL C++ Compiler Development


Boost-testing list run by mbergal at meta-comm.com