* [Bug target/37520] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
@ 2008-09-14 20:48 ` gerald at pfeifer dot com
2008-09-14 20:49 ` gerald at pfeifer dot com
` (20 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: gerald at pfeifer dot com @ 2008-09-14 20:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from gerald at pfeifer dot com 2008-09-14 20:47 -------
Created an attachment (id=16319)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16319&action=view)
init-list.ii
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
2008-09-14 20:48 ` [Bug target/37520] " gerald at pfeifer dot com
@ 2008-09-14 20:49 ` gerald at pfeifer dot com
2008-09-14 22:25 ` pinskia at gcc dot gnu dot org
` (19 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: gerald at pfeifer dot com @ 2008-09-14 20:49 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from gerald at pfeifer dot com 2008-09-14 20:47 -------
Created an attachment (id=16320)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16320&action=view)
init-list.s
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
2008-09-14 20:48 ` [Bug target/37520] " gerald at pfeifer dot com
2008-09-14 20:49 ` gerald at pfeifer dot com
@ 2008-09-14 22:25 ` pinskia at gcc dot gnu dot org
2008-09-15 9:02 ` ubizjak at gmail dot com
` (18 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-09-14 22:25 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from pinskia at gcc dot gnu dot org 2008-09-14 22:24 -------
leal $_48(,%eax,4), %eax
...
subl $$_48, %eax
Hmm
Looks like someone forgot a $ encoding in some cases.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|junk `(,%eax,4)' after |junk `(,%eax,4)' after
|expression / suffix or |expression / suffix or
|operands invalid for `lea' |operands invalid for `lea'
|for libstdc++ deque/init- |for libstdc++ deque/init-
|list.cc |list.cc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (2 preceding siblings ...)
2008-09-14 22:25 ` pinskia at gcc dot gnu dot org
@ 2008-09-15 9:02 ` ubizjak at gmail dot com
2008-09-21 10:16 ` gerald at pfeifer dot com
` (17 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: ubizjak at gmail dot com @ 2008-09-15 9:02 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from ubizjak at gmail dot com 2008-09-15 09:01 -------
IMO, you need to define NO_DOLLAR_IN_LABEL in your configuration files.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (3 preceding siblings ...)
2008-09-15 9:02 ` ubizjak at gmail dot com
@ 2008-09-21 10:16 ` gerald at pfeifer dot com
2009-01-05 20:02 ` bkoz at gcc dot gnu dot org
` (16 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: gerald at pfeifer dot com @ 2008-09-21 10:16 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (4 preceding siblings ...)
2008-09-21 10:16 ` gerald at pfeifer dot com
@ 2009-01-05 20:02 ` bkoz at gcc dot gnu dot org
2009-01-05 20:23 ` bkoz at gcc dot gnu dot org
` (15 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2009-01-05 20:02 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from bkoz at gcc dot gnu dot org 2009-01-05 20:01 -------
Adding 4.4.x reported against, as this testcase is not in 4.3.x.
--
bkoz at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bkoz at gcc dot gnu dot org
Version|unknown |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (5 preceding siblings ...)
2009-01-05 20:02 ` bkoz at gcc dot gnu dot org
@ 2009-01-05 20:23 ` bkoz at gcc dot gnu dot org
2009-02-02 18:26 ` bkoz at gcc dot gnu dot org
` (14 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2009-01-05 20:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from bkoz at gcc dot gnu dot org 2009-01-05 20:23 -------
The other kind of freebsd6.3 fail in libstdc++ is:
testsuite/25_algorithms/max/3.cc
/sw/test/GCC/trunk/libstdc++-v3/testsuite/25_algorithms/max/3.cc:26: undefined
reference to `_47'
/var/tmp//ccInT4La.o(.text._Z6test01v+0xb):/sw/test/GCC/trunk/libstdc++-v3/testsuite/25_algorithms/max/3.cc:26:
undefined reference to `_47'
On linux I see these in the linked binary:
0000000000600b58 d ._65
0000000000600b64 d ._66
0000000000600b70 d ._67
0000000000600b7c d ._68
0000000000600b88 d ._69
0000000000600b94 d ._70
So assuming this would be ._48 or '.' used instead of '$'. Does BSD already
define NO_DOT_IN_LABEL? Although I am not quite sure what is going on it
appears as if the freebsd config (and or assember) for correct linking of some
of these C++ entities is off.
Anyway. I thought NO_DOT_IN_LABEL/NO_DOLLAR_IN_LABEL will change the name of
exported symbols and is ABI-breaking.
IMHO figuring this out before the 4.4.0 release seems advisable.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (6 preceding siblings ...)
2009-01-05 20:23 ` bkoz at gcc dot gnu dot org
@ 2009-02-02 18:26 ` bkoz at gcc dot gnu dot org
2009-02-24 17:56 ` [Bug target/37520] [4.4 Regression] " bkoz at gcc dot gnu dot org
` (13 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2009-02-02 18:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from bkoz at gcc dot gnu dot org 2009-02-02 18:26 -------
This looks like it happens on FreeBSD 7.1 as well:
http://gcc.gnu.org/ml/gcc-testresults/2009-02/msg00142.html
Any news on what is going on here?
Please note that i386-bsd is a primary platform for a release, as per:
http://gcc.gnu.org/gcc-4.4/criteria.html
Thus, this should really be a higher priority than P3.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] [4.4 Regression] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (7 preceding siblings ...)
2009-02-02 18:26 ` bkoz at gcc dot gnu dot org
@ 2009-02-24 17:56 ` bkoz at gcc dot gnu dot org
2009-02-25 7:33 ` ubizjak at gmail dot com
` (12 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2009-02-24 17:56 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from bkoz at gcc dot gnu dot org 2009-02-24 17:56 -------
Changed title for 4.4 regression.
--
bkoz at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |4.3.1
Summary|junk `(,%eax,4)' after |[4.4 Regression] junk
|expression / suffix or |`(,%eax,4)' after expression
|operands invalid for `lea' |/ suffix or operands invalid
|for libstdc++ deque/init- |for `lea' for libstdc++
|list.cc |deque/init-list.cc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] [4.4 Regression] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (8 preceding siblings ...)
2009-02-24 17:56 ` [Bug target/37520] [4.4 Regression] " bkoz at gcc dot gnu dot org
@ 2009-02-25 7:33 ` ubizjak at gmail dot com
2009-02-25 8:57 ` rguenth at gcc dot gnu dot org
` (11 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: ubizjak at gmail dot com @ 2009-02-25 7:33 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from ubizjak at gmail dot com 2009-02-25 07:33 -------
Confirmed.
--
ubizjak at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2009-02-25 07:33:36
date| |
Target Milestone|--- |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] [4.4 Regression] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (9 preceding siblings ...)
2009-02-25 7:33 ` ubizjak at gmail dot com
@ 2009-02-25 8:57 ` rguenth at gcc dot gnu dot org
2009-03-01 13:03 ` gerald at pfeifer dot com
` (10 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-02-25 8:57 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from rguenth at gcc dot gnu dot org 2009-02-25 08:57 -------
Let's make this P1 until we are sure it is not an ABI problem.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] [4.4 Regression] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (10 preceding siblings ...)
2009-02-25 8:57 ` rguenth at gcc dot gnu dot org
@ 2009-03-01 13:03 ` gerald at pfeifer dot com
2009-03-01 19:16 ` ubizjak at gmail dot com
` (9 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: gerald at pfeifer dot com @ 2009-03-01 13:03 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from gerald at pfeifer dot com 2009-03-01 13:03 -------
(In reply to comment #8)
> This looks like it happens on FreeBSD 7.1 as well:
> http://gcc.gnu.org/ml/gcc-testresults/2009-02/msg00142.html
>
> Any news on what is going on here?
Yes, I have updated my nightly tester to see whether this may be specific
to that older versions. Alas, no difference.
I also built GNU binutils 2.19, alas this does not seem to make a difference
either.
If anyone has any ideas / patches to verify, I will be happy to do my best.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] [4.4 Regression] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (11 preceding siblings ...)
2009-03-01 13:03 ` gerald at pfeifer dot com
@ 2009-03-01 19:16 ` ubizjak at gmail dot com
2009-03-01 20:13 ` ubizjak at gmail dot com
` (8 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: ubizjak at gmail dot com @ 2009-03-01 19:16 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from ubizjak at gmail dot com 2009-03-01 19:16 -------
(In reply to comment #12)
> If anyone has any ideas / patches to verify, I will be happy to do my best.
Is there an ABI documentation that says which prefixes are correct for certain
cases? It is easy to fix this issue by setting a bunch of macros, but until
some document clearly says, which approach is correct, I think that we will be
just shooting in the dark.
Looking at Comment #5 and Comment #7, it is not clear even if we want to follow
some published ABI or we want to be compatible with existing system libraries.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] [4.4 Regression] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (12 preceding siblings ...)
2009-03-01 19:16 ` ubizjak at gmail dot com
@ 2009-03-01 20:13 ` ubizjak at gmail dot com
2009-03-01 20:20 ` hjl dot tools at gmail dot com
` (7 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: ubizjak at gmail dot com @ 2009-03-01 20:13 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from ubizjak at gmail dot com 2009-03-01 20:13 -------
(In reply to comment #5)
> 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 $.
It works only because "_48" will create a relocation to an external object. You
can see this by using 'objdump -dr init-list.o", where init-list.o is created
with "gcc -O2 -m32 -c -std=gnu++0x"
When this part is assembled (on linux!):
ja .L306
leal ._48(,%eax,4), %eax
movl %eax, 44(%esp)
subl $._48, %eax
sarl $2, %eax
An offset to an object in .data section is calculated at assembly time, so you
will get:
...
579: 0f 87 01 02 00 00 ja 780 <main+0x780>
57f: 8d 04 85 18 00 00 00 lea 0x18(,%eax,4),%eax
582: R_386_32 .data
586: 89 44 24 2c mov %eax,0x2c(%esp)
58a: 2d 18 00 00 00 sub $0x18,%eax
58b: R_386_32 .data
58f: c1 f8 02 sar $0x2,%eax
...
while removing "." (equivalent to removing "$" on BSD) from the lea operand
leaves an relocation to external symbol:
...
579: 0f 87 01 02 00 00 ja 780 <main+0x780>
57f: 8d 04 85 00 00 00 00 lea 0x0(,%eax,4),%eax
582: R_386_32 _48
586: 89 44 24 2c mov %eax,0x2c(%esp)
58a: 2d 18 00 00 00 sub $0x18,%eax
58b: R_386_32 .data
58f: c1 f8 02 sar $0x2,%eax
I found much more interesting the fact, that both:
subl ._48, %eax
and
subl $._48, %eax
produce the same result, while changing:
leal ._48(,%eax,4), %eax
to
leal $._48(,%eax,4), %eax
produces:
init-list.s: Assembler messages:
init-list.s:2664: Error: junk `(,%eax,4)' after expression
init-list.s:2664: Error: suffix or operands invalid for `lea'
I think that H.J. can explain the reason for this inconsistency in the
assembler.
--
ubizjak at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hjl dot tools at gmail dot
| |com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] [4.4 Regression] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (13 preceding siblings ...)
2009-03-01 20:13 ` ubizjak at gmail dot com
@ 2009-03-01 20:20 ` hjl dot tools at gmail dot com
2009-03-01 20:23 ` hjl dot tools at gmail dot com
` (6 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-03-01 20:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from hjl dot tools at gmail dot com 2009-03-01 20:20 -------
(In reply to comment #14)
> I think that H.J. can explain the reason for this inconsistency in the
> assembler.
>
LOCAL_LABELS_DOLLAR never really works completely for x86 assembler.
When assembler sees $foo, it can't tell if $foo is a label or the value
of symbol foo. I do have a hack for x86 assembler, which assumes $_XXX
is a local label if LOCAL_LABELS_DOLLAR is defined. But it won't work
when _XXX is a real label.
--
hjl dot tools at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2009-02-25 07:33:36 |2009-03-01 20:20:05
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] [4.4 Regression] junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (14 preceding siblings ...)
2009-03-01 20:20 ` hjl dot tools at gmail dot com
@ 2009-03-01 20:23 ` hjl dot tools at gmail dot com
2009-03-01 20:40 ` [Bug target/37520] NO_DOLLAR_IN_LABEL doesn't work on FreeBSD/x86 hjl dot tools at gmail dot com
` (5 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-03-01 20:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from hjl dot tools at gmail dot com 2009-03-01 20:23 -------
I posted a patch at:
http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00049.html
It may breaks ABI for platforms where NO_DOLLAR_IN_LABEL
is undefined:
bash-3.2$ grep NO_DOLLAR_IN_LABEL *.h */*.h | grep undef
freebsd.h:#undef NO_DOLLAR_IN_LABEL
vx-common.h:#undef NO_DOLLAR_IN_LABEL
i386/openbsdelf.h:#undef NO_DOLLAR_IN_LABEL
xtensa/elf.h:#undef NO_DOLLAR_IN_LABEL
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] NO_DOLLAR_IN_LABEL doesn't work on FreeBSD/x86
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (15 preceding siblings ...)
2009-03-01 20:23 ` hjl dot tools at gmail dot com
@ 2009-03-01 20:40 ` hjl dot tools at gmail dot com
2009-03-01 21:54 ` [Bug target/37520] Undefine " hjl dot tools at gmail dot com
` (4 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-03-01 20:40 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from hjl dot tools at gmail dot com 2009-03-01 20:40 -------
I opened an assembler bug:
http://sourceware.org/bugzilla/show_bug.cgi?id=9915
I believe it is a mistake to define LOCAL_LABELS_DOLLAR for any
x86 targets where '$' is used as the immediate prefix. If it worked
on such a x86 target before, it was a pure luck.
--
hjl dot tools at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.4 Regression] junk |NO_DOLLAR_IN_LABEL doesn't
|`(,%eax,4)' after expression|work on FreeBSD/x86
|/ suffix or operands invalid|
|for `lea' for libstdc++ |
|deque/init-list.cc |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] Undefine NO_DOLLAR_IN_LABEL doesn't work on FreeBSD/x86
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (16 preceding siblings ...)
2009-03-01 20:40 ` [Bug target/37520] NO_DOLLAR_IN_LABEL doesn't work on FreeBSD/x86 hjl dot tools at gmail dot com
@ 2009-03-01 21:54 ` hjl dot tools at gmail dot com
2009-03-02 3:20 ` [Bug target/37520] NO_DOLLAR_IN_LABEL should be defined on x86 targets hjl dot tools at gmail dot com
` (3 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-03-01 21:54 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from hjl dot tools at gmail dot com 2009-03-01 21:53 -------
I will check in a patch:
http://sourceware.org/ml/binutils/2009-03/msg00008.html
to undefine LOCAL_LABELS_DOLLAR for x86 assembler. I suggest that
gcc should define NO_DOLLAR_IN_LABEL for all x86 targets.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] NO_DOLLAR_IN_LABEL should be defined on x86 targets
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (17 preceding siblings ...)
2009-03-01 21:54 ` [Bug target/37520] Undefine " hjl dot tools at gmail dot com
@ 2009-03-02 3:20 ` hjl dot tools at gmail dot com
2009-03-02 10:08 ` rguenth at gcc dot gnu dot org
` (2 subsequent siblings)
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-03-02 3:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #19 from hjl dot tools at gmail dot com 2009-03-02 03:20 -------
A patch is posted at
http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00061.html
--
hjl dot tools at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
URL| |http://gcc.gnu.org/ml/gcc-
| |patches/2009-
| |03/msg00061.html
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] NO_DOLLAR_IN_LABEL should be defined on x86 targets
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (18 preceding siblings ...)
2009-03-02 3:20 ` [Bug target/37520] NO_DOLLAR_IN_LABEL should be defined on x86 targets hjl dot tools at gmail dot com
@ 2009-03-02 10:08 ` rguenth at gcc dot gnu dot org
2009-03-07 1:47 ` hjl at gcc dot gnu dot org
2009-03-07 1:48 ` hjl dot tools at gmail dot com
21 siblings, 0 replies; 23+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-03-02 10:08 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P1 |P3
Target Milestone|4.4.0 |---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] NO_DOLLAR_IN_LABEL should be defined on x86 targets
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (19 preceding siblings ...)
2009-03-02 10:08 ` rguenth at gcc dot gnu dot org
@ 2009-03-07 1:47 ` hjl at gcc dot gnu dot org
2009-03-07 1:48 ` hjl dot tools at gmail dot com
21 siblings, 0 replies; 23+ messages in thread
From: hjl at gcc dot gnu dot org @ 2009-03-07 1:47 UTC (permalink / raw)
To: gcc-bugs
------- Comment #20 from hjl at gcc dot gnu dot org 2009-03-07 01:47 -------
Subject: Bug 37520
Author: hjl
Date: Sat Mar 7 01:47:25 2009
New Revision: 144692
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144692
Log:
2009-03-06 H.J. Lu <hongjiu.lu@intel.com>
PR c++/37520
* cp-tree.h: Check NO_DOT_IN_LABEL before NO_DOLLAR_IN_LABEL
when mangling symbols.
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Bug target/37520] NO_DOLLAR_IN_LABEL should be defined on x86 targets
2008-09-14 20:47 [Bug target/37520] New: junk `(,%eax,4)' after expression / suffix or operands invalid for `lea' for libstdc++ deque/init-list.cc gerald at pfeifer dot com
` (20 preceding siblings ...)
2009-03-07 1:47 ` hjl at gcc dot gnu dot org
@ 2009-03-07 1:48 ` hjl dot tools at gmail dot com
21 siblings, 0 replies; 23+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-03-07 1:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #21 from hjl dot tools at gmail dot com 2009-03-07 01:48 -------
Fixed.
--
hjl dot tools at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37520
^ permalink raw reply [flat|nested] 23+ messages in thread