[PATCH] libkdeinit symbol pruning
Waldo Bastian
bastian at kde.org
Tue Jul 20 12:57:04 CEST 2004
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Tuesday 20 July 2004 11:13, David Faure wrote:
> On Monday 19 July 2004 13:04, Waldo Bastian wrote:
> > On Monday 19 July 2004 02:05, David Faure wrote:
> > > On Monday 19 July 2004 01:06, Karl Vogel wrote:
> > > > It will break apps that link to the libkdeinit_*.so's or dlopen them
> > > > and try to resolve symbols other than kdemain... but I guess if any
> > > > app does that, then it's already broken by violating the kde abi,
> > > > no?!
> > >
> > > Thinking about it, I'm not sure anyone links to a kdeinit module.
> > > What people do, which is unportable, is to link to a kparts part, but
> > > that's unrelated.
> >
> > What if an application defines a plugin API that plugins can call? (Or
> > worse, if the application doesn't define an API and plugins just call
> > stuff all over the place)
>
> You are right, this happens: with kded :/
> kded modules find symbols in the kded binary itself (so now that I have the
> kdeinit symbol pruning patch applied, kwallet and kpasswdserver don't load
> anymore). This always seemed dirty to me - shouldn't we have a libkded
> instead?
The problem is then that we need to put all of kded in libkded, otherwise we
just shift the problem. And if we have all of kded in libkded, we still
export all the symbols, so I don't think that's a good solution.
I think it would be a better solution if kded had a way to specify that it
wants to export the symbols that are part of its plugin interface. (That
should be all the stuff that is defined in kdedmodule.h / implemented in
kdedmodule.cpp)
kded seems illustrative for programs with a plugin interface that isn't pure
virtual.
Cheers,
Waldo
- --
bastian at kde.org | KDE Community World Summit 2004 | bastian at suse.com
bastian at kde.org | 21-29 August, Ludwigsburg, Germany | bastian at suse.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQFA/PqAN4pvrENfboIRAu90AKCjmXg9TFZep2DidcB6hoNZMH92EQCfUHoy
81QexrJkcDXAMFKsu/v3mEY=
=O5iF
-----END PGP SIGNATURE-----
More information about the Kde-optimize
mailing list