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

Bug#100346: seconding this proposal



On Mon, Jul 30, 2001 at 03:03:23PM +0200, Florian Weimer wrote:
> > | The shared version must be compiled with -fPIC, and the static
> > | version must not be. In other words, each *.c file will need to be
> > | compiled twice.
> >
> > IMHO, it makes sense to drop this C reference as well, if we are in
> > the process of changing the section.

On Tue, Jul 31, 2001 at 12:25:34AM +0300, Richard Braakman wrote:
> How much of a C reference is it?  

It's gcc specific, is it not?

> Code in shared libraries must be position independent. How it is
> achieved is less important, but I expect that it's going to involve a
> flag similar to -fPIC. And I don't want to replace it with a general
> statement about position independence, because that means more people
> will get it wrong.

This points at a general need for a distinction between what's
important (shared libraries) and what's less important (-fPIC).

Still, it's easy to fix the above statement, without losing any of the
detail, simply by using a different tense:

   The shared version would be compiled with -fPIC, and the static
   version would not be. In other words, each *.c file would need to be
   compiled twice.

This gets the important point across, but doesn't exclude alternate
mechanical details.

> > In addition, there are some architectures where all code is position
> > independent, so -fPIC is a noop, and others, where -fPIC is less
> > efficient then -fpic.
> 
> IIRC, policy specifies -fPIC specifically because -fpic does not work
> right on all architectures. I think that trying to prescribe different
> flags for different architectures will cause insanity. Remember,
> there's only one source package.

This makes no sense to me.  Did you mean to say that -fPIC works right
on all platforms?

Thanks,

-- 
Raul



Reply to: