Dirk,

[I didn't get reusable headers from Kurt as he forwarded an attachment.]

This was changed based on quite explicit advice in Ulrich Drepper's
DSO paper to use -fpic wherever possible as it can be lot faster.
See http://people.redhat.com/drepper/dsohowto.pdf, e.g.

`-fpic should be used at all times unless it is absolutely necessary to use -fPIC'.

This was part of a concerted effort to close the performance gap between standalone and shared-library versions of R (and we seem to have about halved it).

ppc32 is a platform where R can be compiled with -fpic and it does have a performance advantage. So in principle does m68k, but I last used that in 1989. (We have been told that the Apple versions of gcc have -fpic = -fPIC on ppc.)

I would be very reluctant to change back to -fPIC everywhere, although an alternative approach would be to make -fPIC the default and use -fpic on ppc32 and m68k.

Brian

On Fri, 7 Apr 2006, Dirk Eddelbuettel wrote:


[ Let's PLEASE all keep the mail headers in tact. My bad for not including
Brian earlier, so if possible could all future mails please include Bastian,
Dirk, Kurt, Brian and the BTS as for this mail ? ]

[ Bastian, I'll send you two emails by Brian. Please consider those before
replying.  We may also want to get Mathias (Debian and Ubuntu gcc maintainer)
involved. ]

On 7 April 2006 at 13:41, Bastian Blank wrote:
| On Fri, Apr 07, 2006 at 06:27:25AM -0500, Dirk Eddelbuettel wrote:
| >                                        I am still a bit suspicious of your
| > brute force replacement of -fpic.  Or do you know for sure that gcc 4.*
| > requires it?  Should it then be conditional on gcc/g++ versions be larger
| > than a threshold?
|
| It is not related to the compiler version. -fpic is documented to have
| limitations on some systems and is not reliable on some of them for
| larger software. The usage of -fPIC enables the use of other relocation
| types which don't have this limitations (or much larger). On most arches
| it don't make any difference at all.

Bastian, could you please document on which architectures, and for which gcc
versions, this fails?  R actually has a pretty darn good record of building
on many platforms and gcc variants, as well as a few non gcc compilers, so I
do not want to discard the accumulated experience from the R side this
early.

I'm sure we get this resolved in a way that makes everybody happy, and gets R
to build everywhere.

Thanks, Dirk



--
Brian D. Ripley,                  [EMAIL PROTECTED]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to