From: Danny S. <dan...@cl...> - 2005-08-15 20:52:22
|
> [mailto:min...@li...] On Behalf Of > Ross Ridge > Sent: Tuesday, August 16, 2005 6:38 AM > > Ross Ridge writes: > > I"m concered it would set in stone the current weak > behaviour, which > > could hurt compatibility with Microsoft compiled objects. > > Danny Smith writes: > > Example? > > A static library compiled Microsoft's compiler that had > object files with weak external "search library" symbols that > referenced symbols in other object files in the library. > Yeah, I've seen those too. They look like weak aliases to me. > > Do you know where MS explains how to use weak as a declspec or in > > asm? > > I don't think there's any way to create a weak external using > declspec, but the Microsoft compiler does generate weak > external "search library" symbols implicitly when virtual > destructors are used (and maybe in other cases). You > generate the "search library" symbols explictly in MASM by > using something like "EXTERN foo(bar):BYTE". > I found an ancient (1997) MSDN Database article on use of EXTERN foo(bar) and it descibes the weak alias secenario, However, the artcle said it applied to DOS and OS/2 with no mention of Windows. > Hmm... I guess have two seperate concerns here. One is that > binutils might not be handling weak externals the way they > should be according the PECOFF specification. There is a bug in the auxiliary record, for which I've just submitted a patch. The other is > that GCC and binutils are trying fake ELF weak symbols using > PECOFF's weak externals, giving the user something that's neither. > AFAICT, the use of weak as "weak externals" follows SVR4 ABI spec for both PE-COFF and ELF. Danny > Ross Ridge > |