[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Shared libs with non-PIC code on i386

#include <hallo.h>
Branden Robinson wrote on Wed Aug 15, 2001 um 09:06:42PM:
> On Thu, Aug 16, 2001 at 02:22:44AM +0200, Eduard Bloch wrote:
> > ...there is no libXxf86dga.so. But I could bother Branden, of course ;)
> And there will not be until and unless XFree86 says so.  You should not
> link static objects into shared ones.  Have the client binary do the
> linking of the static object.  This issue did in fact come up with SDL
> recently, and was resolved (<http://bugs.debian.org/104344>).

Yes, it was solved with a kludge. Now, the i386 version (and some other
arches) of libSDL now has a shared lib with non-PIC code (*) which seems
to violate the current policy but nobody cares about it and it works
fine on those architectures. The [m68k|mips*|powerpc|ia64|hppa*]
versions forces the applications to link xlibs in their executables
instead  (*). 

I have a package similar to SDL (and even a better one ;) with a very
similar problem.

(*) the "preferred" solution for my package too. I will go this way
    unless anyone here objects.
(**) also doable in my case, but out library uses Plugins (shared libs)
     which are loaded at runtime to access output drivers (DGA, xlib,
     SVGALIB, fbcon etc). We achieved ABI and some API independency
     implementing this plugin-system, and I won't roll this back with
     linking the applications directly with the libXxf86dga code just
     because XFree cannot deal with it properly. So the users of
     [m68k|mips*|powerpc|ia64|hppa*] will have to live without DGA
     driver, using the slower (but PIC) xlib-driver only.

"stupidity should be painful"    (Neil C. Obremski)

Attachment: pgpw3dX8yZNE2.pgp
Description: PGP signature

Reply to: