Still problems with gcc 3.4 and visibility

Thiago Macieira thiago.macieira at kdemail.net
Sun Nov 28 12:04:19 GMT 2004


Michael Pyne wrote:
>$ nm -D ~/kde/lib/kde3/kded_kwalletd.so | grep KDEDModule
>         U _ZN10KDEDModule11qt_propertyEiiP8QVariant
>         U _ZN10KDEDModule16staticMetaObjectEv
>         U _ZN10KDEDModule7qt_castEPKc
>         U _ZN10KDEDModule7qt_emitEiP8QUObject
>         U _ZN10KDEDModule9qt_invokeEiP8QUObject
>         U _ZN10KDEDModuleC2ERK8QCString
>         U _ZN10KDEDModuleD2Ev
>         U _ZTI10KDEDModule
>
>The output was similar when -fvisibility=hidden was enabled, except that
> the 'U's were all 'V' instead, indicating a weak symbol.

U means undefined, V is virtual and W is weak.

Since you're listing kded_walled.so, this are how they're supposed to; the 
symbols are imported. Please list libkdeinit_kded.so, which is where the 
symbol is supposed to be:

$ readelf -a /usr/local/kde3/lib/libkdeinit_kded.so | grep TI10KDEDModule
00021b44  00021801 R_386_32          00021be0   _ZTI10KDEDModule
00021ba4  00021801 R_386_32          00021be0   _ZTI10KDEDModule
   536: 00021be0    32 OBJECT  WEAK   DEFAULT   21 _ZTI10KDEDModule
   641: 00021be0    32 OBJECT  WEAK   DEFAULT   21 _ZTI10KDEDModule

The important thing isn't the object's weakness, but its visibility. In 
this case, it's exported ("default").

It shouldn't be defined in kded_walletd.so.
-- 
  Thiago Macieira  -  Registered Linux user #65028
   thiago (AT) macieira (DOT) info
    ICQ UIN: 1967141   PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20041128/b9e342cd/attachment.sig>


More information about the kde-core-devel mailing list