Compiling with Sun compilers from SC5.0 onward.
Steve Langasek
vorlon at netexpress.net
Wed Apr 11 01:49:56 GMT 2001
On 10 Apr 2001, Alexandre Oliva wrote:
> On Apr 10, 2001, Jeremy Allison <jeremy at valinux.com> wrote:
> > Would it work to change the order of the pic tests to
> > -KPIC then -Kpic?
> Most likely.
> > What effect would this have on other platforms ?
> It would prevent the few optimizations that can be obtained with -Kpic
> over -KPIC. Basically, lower-case pic often means ``assume the
> library fits into some platform-specific size limitations.'' Such
> limitations are often related with the number of entries in the Global
> Offset Table. Using lower-case PIC often tells the compiler it's safe
> to assume an offset within the GOT fits in the immediate operand of a
> move instruction, or in the displacement of a register+offset
> addressing mode. If such assumptions can't be made, the compiler must
> assume the offset may not fit, and generate larger instruction
> sequences.
> So, using upper-case -[fK]PIC is always safe, but it will often
> generate bigger and less efficient code.
Indeed. If we're running into problems with -Kpic not working because of
problems with table sizes, it probably makes sense to prefer both -KPIC and
-fPIC over the lower-case equivalents; there's no way to know when -fpic will
stop working on some platforms as well, or whether this may have already
happened.
Steve Langasek
postmodern programmer
More information about the samba-technical
mailing list