-mms-bitfields revisited

Bernhard Reiter bernhard at intevation.de
Tue Jun 23 15:16:58 CEST 2009


On Wednesday 17 June 2009, Patrick Spendrin wrote:
> > It might be that current builds of KDE (without the right ABI) on windows
> > interfacing with DLLs in the microsoft compiler layout will have somehow
> > hidden defects because of this issue already.

While this arguments still holds, it seems that our results have been 
obstructed by a mingw (/gcc) defect in some versions. Here is what Marcus 
Brinkman just found out last night for one struct used in gpgme gpgme++
for offsetoffs:
   mingw 4.2.1 (Ubuntu 9.04 == Debian Lenny)
   gcc                 0x20
   gcc -mms-bitfields  0x20
   g++                 0x20
   g++ -mms-bitfields  0x20

   mingw 3.4.5 (Debian Etch)
   gcc                 0x20
   gcc -mms-bitfields  0x30 !!!
   g++                 0x20
   g++ -mms-bitfields  0x30 !!!

So there seems be a gcc/mingw defect involved as well.
Still in other cases we would need the right ABI for the platform
so I guess using ms-bitfields would still be correct.

> The following problems I do see with this change:
> 1) binary compatible problems shouldn't be a problem themselves.

Why not? I understanding of compatibility problems is that accessing
a data structure between those two incompatible version will lead
to trouble.
Ah, you mean, it is not a problem to do the full recompile, yes I agree.

> The
> much bigger question is the following: We do use libraries from third
> parties for the obvious sake of not needing to care about them on our own.
> Do we need to recompile those (that might not be compiled with
> ms-bitfield)? 

If they are not compiled with the right ABI as the rest of the system,
they must be recompiled. But many third party libraries will already have been 
compiled with the right ABI using MSVC or the right switch for mingw.

> If yes how can we check which are needed to be recompiled?

There is no easy way to check an existing .dll or .exe as far as I know.

> And who can shoulder these rebuilds?

It would be cool for us to be able to all compile them with a build system,
e.g. emerge or something else.

> I would prefer to have those questions answered before changing this.

Yes, I also believe we should have an answer to all concerns before we change 
this.

Best,
Bernhard

-- 
Managing Director - Owner: www.intevation.net       (Free Software Company)
Germany Coordinator: fsfeurope.org. Coordinator: www.Kolab-Konsortium.com.
Intevation GmbH, Neuer Graben 17, Osnabrück, DE; AG Osnabrück, HRB 18998
Geschäftsführer Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-windows/attachments/20090623/1f08996f/attachment.sig 


More information about the Kde-windows mailing list