[16543] in Kerberos_V5_Development
Packing pragmas in MIT's gssapi.h header file break ABI compatibility
daemon@ATHENA.MIT.EDU (Simon Wilkinson)
Thu Dec 9 15:21:44 2010
Message-Id: <44E205FD-C86C-4932-8CFB-5191629ECD69@sxw.org.uk>
From: Simon Wilkinson <simon@sxw.org.uk>
To: krbdev@mit.edu
Mime-Version: 1.0 (Apple Message framework v936)
Date: Thu, 9 Dec 2010 20:21:38 +0000
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: krbdev-bounces@mit.edu
MIT's gssapi.h header file contains the following
# if TARGET_OS_MAC
# pragma pack(2, push)
# endif
This breaks ABI compatibility for callers into the GSSAPI library on
Mac OS X - it means that programs which attempt to dynamically locate
a suitable GSSAPI library must know how the library they're linking
against has been built.
It causes problems with swapping between MIT and Heimdal libraries at
link time, and also breaks applications such as OpenSSH which allow
the use of many alternate GSSAPI libraries depending on linker
parameters.
This problem came to light because it broke both Firefox and
Thunderbird on 64bit Mac OS X platforms, which include their own
gssapi.h so they can build on build hosts that don't have any GSSAPI
providers installed. David Bienvenu from Mozilla Messaging did the leg
work in tracking it down.
Cheers,
Simon.
_______________________________________________
krbdev mailing list krbdev@mit.edu
https://mailman.mit.edu/mailman/listinfo/krbdev