This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: A very "strange" bug in gcc 2.96


   From: Ulrich Drepper <drepper@redhat.com>
   Date: 21 May 2000 13:04:53 -0700

   "H . J . Lu" <hjl@lucon.org> writes:

   > If we take it out, it may disappoint some people. I'd prefer to turn
   > it on with a flag.

   I don't care if it disappoints anybody.  If smoething is broken it
   does not deserve to be preserved.  Especially since it hurts 99.9% of
   the applications which are not broken.  Just document it and let
   people disable the sibling call optimization.

It's not broken to build a shared library with an object compiled
without -fPIC.  It is often a convenience, when a single object is
used in multiple ways.

This change will silently break existing code which works today and is
wholly correct.  If this change is to be turned on by default, it must
be carefully documented.

Note that the reason the new optimization fails is that the assembler
translates the jmp into a short branch instruction.  If the assembler
translated the jmp into a 32 bit branch with a reloc, then I believe
everything would still work correctly.  At least on the i386.
However, doing this would disable part of the optimization.

Ian

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]