From kde-core-devel Sun Nov 28 19:22:39 2004 From: Richard =?utf-8?q?L=C3=A4rk=C3=A4ng?= Date: Sun, 28 Nov 2004 19:22:39 +0000 To: kde-core-devel Subject: Re: Still problems with gcc 3.4 and visibility Message-Id: <200411282022.39829.nouseforaname () home ! se> X-MARC-Message: https://marc.info/?l=kde-core-devel&m=110167079821560 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--Boundary-00=_/ViqBIxH11t6dFg" --Boundary-00=_/ViqBIxH11t6dFg Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Sunday 28 November 2004 13.04, Thiago Macieira wrote: > 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=3Dhidden was enabled, except th= at > > 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. There were some problems with things not exported in KWallet also, the=20 attached patch makes KWallet work for me again, OK to commit? Richard L=C3=A4rk=C3=A4ng --Boundary-00=_/ViqBIxH11t6dFg Content-Type: text/x-diff; charset="utf-8"; name="kwallet.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="kwallet.patch" Index: kwallet/backend/kwalletbackend.h =================================================================== RCS file: /home/kde/kdelibs/kwallet/backend/kwalletbackend.h,v retrieving revision 1.21 diff -u -p -b -B -r1.21 kwalletbackend.h --- kwallet/backend/kwalletbackend.h 5 Nov 2004 19:33:20 -0000 1.21 +++ kwallet/backend/kwalletbackend.h 28 Nov 2004 19:18:39 -0000 @@ -36,7 +36,7 @@ class MD5Digest; /* @internal */ -class Backend { +class KDE_EXPORT Backend { public: Backend(const QString& name = "kdewallet", bool isPath = false); ~Backend(); Index: kwallet/backend/kwalletentry.h =================================================================== RCS file: /home/kde/kdelibs/kwallet/backend/kwalletentry.h,v retrieving revision 1.2 diff -u -p -b -B -r1.2 kwalletentry.h --- kwallet/backend/kwalletentry.h 8 Aug 2003 07:32:21 -0000 1.2 +++ kwallet/backend/kwalletentry.h 28 Nov 2004 19:18:39 -0000 @@ -31,7 +31,7 @@ namespace KWallet { /* @internal */ -class Entry { +class KDE_EXPORT Entry { public: Entry(); ~Entry(); Index: kded/kdedmodule.h =================================================================== RCS file: /home/kde/kdelibs/kded/kdedmodule.h,v retrieving revision 1.13 diff -u -p -b -B -r1.13 kdedmodule.h --- kded/kdedmodule.h 21 Nov 2004 22:51:57 -0000 1.13 +++ kded/kdedmodule.h 28 Nov 2004 19:18:39 -0000 @@ -52,7 +52,7 @@ class Kded; * @author Waldo Bastian */ -class KDEDModule : public QObject, public DCOPObject +class KDE_EXPORT KDEDModule : public QObject, public DCOPObject { Q_OBJECT // For inclusion in KDE4 (since it's BIC) long-needed fix for allowing --Boundary-00=_/ViqBIxH11t6dFg--