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.