Re: ldbl128 transition for alpha, powerpc, sparc, s390
Steve Langasek wrote:
> On Fri, Jun 01, 2007 at 08:03:25AM +0200, Matthias Klose wrote:
>> Steve Langasek writes:
>>> On Thu, May 31, 2007 at 11:36:55PM +0200, Matthias Klose wrote:
>>>> With glibc-2.5 and gcc-4.1.2 (and gcc-4.2), the `long double' data
>>>> type did change from a 64bit representation to a 128bit representation
>>>> on alpha, powerpc, sparc, s390. To allow partial upgrades of packages,
>>>> we will need to rename all packages holding libraries with the long
>>>> double data type in their API. Both libc and libstdc++ do not need to
>>>> be renamed, because they support both representations. Attached you
>>>> can find a list of packages with header files in /usr/include matching
>>>> 'long *double'. If a library package is built from the same source as
>>>> well, it has to be renamed, however the list may have false positives.
>>>> Still unsure about how to handle extension modules in scripting
>>>> languages; looking at python it may be sufficient to add conflicts
>>>> with all extension modules exposing the long double datatype in their
>>>> I plan to submit bug reports with severity `serious' for all source
>>>> packages matching the above description (although if somebody wants to
>>>> handle this transition, please go ahead).
>>> Given what the LSB is, I expect that at least these packages need to be
>>> updated to build using the old ABI. How can this be done?
>> -mlong-double-64 can be used. I'm not sure what the LSB decided on
>> this issue, which was brought up on the LSB meeting last year in
>> Berlin. Maybe Joey or Matt could follow up?
> lsb-build-base2 corresponds to LSB version 2, and lsb-build-base3
> corresponds to LSB version 3. Whatever the LSB decides for the ABI going
> forward, surely the ABI needs to remain unchanged for the existing versions?
Just saw this; sorry for the late reply.
The LSB does have an issue with this. A future version of the SDK will
likely invoke -mlong-double-64 automatically for LSB builds. We haven't
decided yet what will happen in the future, but whatever it is, it
probably won't appear in the LSB until the release of 4.0, which is at
least a year away.