This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/37520] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
- From: "gerald at pfeifer dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Sep 2008 10:15:27 -0000
- Subject: [Bug target/37520] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
- References: <bug-37520-231@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from gerald at pfeifer dot com 2008-09-21 10:15 -------
Uros, looking at this again, after manually changing
leal $_48(,%eax,4), %eax
to
leal _48(,%eax,4), %eax
things build again with the label being defined as
.type $_48, @object
.size $_48, 12
$_48:
and used like
cmpl $$_48+12, %eax
without problems.
Do you believe this is a bug for leal in the older version of binutils
(2.15) FreeBSD ships? I am surprised that it works when I remove the $.
I am not a gcc/config expert but can give NO_DOLLAR_IN_LABEL a try.
However, will this change ABI? That is, if I know enable this in GCC, how
will this interact with an existing (FreeBSD) system where libraries likely
have been built with a system compiler that does not have this set?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520