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

Shared libs with non-PIC code on i386


I know that it is to late to change the policy, but I will try to
explain my problems and what the problem is.
I have a problem with linking PIC (position independent code) with
non-PIC code in a shared library. The current policy requires all
libraries to contain only PIC code, and the gcc (especially gcc-3.0)
refuses to do such linking on non-x86 plattforms. Fortunately, this
works fine on i386 and used sometimes.

In my case, the problem are the xlibs, particularly libXxf86dga.a. This
library provides the DGA support. Unfortunately, it contains
non-strip'able non-PIC code, so any *shared* library which wants to use
DGA access via libXxf86dga must be linked with non-PIC code. This
problems affects the DGA plugin in my Allegro library and probably some
others, ie. SDL.
Now the question: who cares is I build with the DGA plugin on i386 but
without DGA on non-x86? Currently, I had to remove the complete DGA
support (though it is stable enough), so this "exceptional case" would
make DGA for most users possible.

> -- Wie man sein Kind nicht nennen sollte: Addi Tion
Claude Eckel
Claire Grube
                    -- Jens Benecke in debian-user-de

Reply to: