Subject: Re: Switching lib/csu/c++/c++rt0.c to -fPIC
To: David Brownlee <abs@mono.org>
From: Simon Burge <simonb@netbsd.org>
List: tech-userlevel
Date: 12/07/1999 21:38:06
David Brownlee wrote:
> Currently c++rt0.o is compiled -fpic. On many systems this is
> identical to -fPIC, but on sparc it results in code that is
> incapable of working with large binaries (such as KDE)
>
> For reference the gcc manpage states:
>
> -fpic If supported for the target machines, generate po-
> sition-independent code, suitable for use in a
> shared library.
>
> -fPIC If supported for the target machine, emit position-
> independent code, suitable for dynamic linking,
> even if branches need large displacements.
>
> Can we either:
> a) Compile two versions of c++rt0.c, one -fpic, the other
> -fPIC, default being -fPIC?
> b) Lose -fpic altogether and use -fPIC.
>
> I'd prefer to do option a), since it then allows someone who wants
> to use -fpic for performance reasons to do so, albeit with more
> effort.
Is performance such an issue if it's just c++rt0.o that's compiled with
-fPIC? There's not that much that's done in there, and it only happens
at program start-up and shut-down. If I'm not missing something I'd say
b) is a sure winner here...
Simon.