This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/40027] [4.4/4.5 regression] i686-pc-solaris2.10 bootstrap fails using Sun ld
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 May 2009 16:52:52 -0000
- Subject: [Bug bootstrap/40027] [4.4/4.5 regression] i686-pc-solaris2.10 bootstrap fails using Sun ld
- References: <bug-40027-5876@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from jakub at gcc dot gnu dot org 2009-05-07 16:52 -------
Look for DEEP_BRANCH_PREDICTION in config/i386/*. On i386/i486/i586 doing
call 1f; 1:
is just fine, but on several newer CPUs it confuses return prediction logic
(more calls than rets), so when optimizing for those CPUs gcc calls a separate
pad which just reads the return address from the stack and immediately returns.
This pad can be shared among all functions within the same binary or shared
library. If hidden linkonce doesn't work on some Solaris version, you should
just make sure USE_HIDDEN_LINKONCE is 0 for that target.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40027