Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Jul 2010 12:08:11 +0200
From:      Joerg Sonnenberger <joerg@britannica.bec.de>
To:        freebsd-hackers@freebsd.org
Subject:   Re: Using lex in a shared library
Message-ID:  <20100703100811.GA1605@britannica.bec.de>
In-Reply-To: <4C2E7BCD.4020609@delphij.net>
References:  <AANLkTilp0zvMRbw96cifhIzmT4YbNVkxgOFZFa_nvl2m@mail.gmail.com> <AANLkTimGsM7Ibaryx6e3gLSy5xpkpYxQmE3w5gAwlXXD@mail.gmail.com> <AANLkTikWqJgfETncKV3pEZ8JgxzcAsALFGtSk_dYNxbl@mail.gmail.com> <4C2E7BCD.4020609@delphij.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jul 02, 2010 at 04:52:45PM -0700, Xin LI wrote:
> I think that amd64 requires a static library be compiled with -fPIC if
> it's being linked into shared object.  This should not be done for
> normal static libraries, though, as this could give some performance
> penalty when it's not needed (i.e. a static binary).

More precisely, AMD64 disallows absolute references in the text segment.
The performance penalty for PIC on AMD64 is minimal as it can do
RIP-relative addressing.

Joerg



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100703100811.GA1605>