public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
@ 2008-11-11 20:07 ro at gcc dot gnu dot org
2009-05-28 21:02 ` [Bug target/38085] " mcintosh_shane at emc dot com
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: ro at gcc dot gnu dot org @ 2008-11-11 20:07 UTC (permalink / raw)
To: gcc-bugs
gcc -m64 -pg always generates invalid assembler code on Solaris 10/x86:
int
main (void)
{
}
% ./xgcc -B./ -m64 -pg -c ptest.c
/var/tmp//cc4kvaG9.s: Assembler messages:
/var/tmp//cc4kvaG9.s:18: Error: junk `@' after expression
Line 18 of the output file is
leaq .LP0@(%rip),%r11
This happens both with gas 2.15 (/usr/ccs/bin/gas) and with gas 2.19.50 (CVS
version 2.19.50.20081009).
The bug has been present since the introduction of x86_64 profiling support by
this patch:
Fri Nov 15 14:54:19 CET 2002 Jan Hubicka <jh@suse.cz>
* i386-protos.h (x86_function_profiler): New function
* i386.h (MCOUNT_NAME): New.
(PROFILE_COUNT_REGISTER): New.
(FUNCTION_PROFILER): Move offline to ...
* i386.c (x86_function_profiler) ... here; fix 64bit support
I have no idea what was intended here.
--
Summary: gcc -m64 -pg generates invalid assembler code on Solaris
10/x86
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: hubicka at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org
GCC build triplet: i386-pc-solaris2.10
GCC host triplet: i386-pc-solaris2.10
GCC target triplet: i386-pc-solaris2.10
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
@ 2009-05-28 21:02 ` mcintosh_shane at emc dot com
2009-07-29 22:12 ` bennett dot schneider at yahoo dot com
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: mcintosh_shane at emc dot com @ 2009-05-28 21:02 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from mcintosh_shane at emc dot com 2009-05-28 21:01 -------
I can confirm this bug exists when generating position independent code:
-bash-3.00$ uname -a
SunOS bu-navel 5.10 Generic_118855-33 i86pc i386
-bash-3.00$ /usr/sfw/bin/gcc --version
gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-bash-3.00$ cat test.c
int
main(void)
{
}
-bash-3.00$ gcc -fPIC -m64 -pg -o test test.c
/var/tmp//ccAhFbgE.s: Assembler messages:
/var/tmp//ccAhFbgE.s:16: Error: junk `@' after expression
-bash-3.00$ /usr/sfw/bin/gcc -S -fPIC -m64 -pg -o test.s test.c
-bash-3.00$ cat test.s
.file "test.c"
.text
.globl main
.type main, @function
main:
.LFB2:
pushq %rbp
.LCFI0:
movq %rsp, %rbp
.LCFI1:
.data
.align 8
.LP2:
.quad 0
.text
leaq .LP2@(%rip),%r11
call *_mcount@GOTPCREL(%rip)
leave
ret
.LFE2:
.size main, .-main
.section .eh_frame,"a",@unwind
.Lframe1:
.long .LECIE1-.LSCIE1
.LSCIE1:
.long 0x0
.byte 0x1
.string "zR"
.uleb128 0x1
.sleb128 -8
.byte 0x10
.uleb128 0x1
.byte 0x1b
.byte 0xc
.uleb128 0x7
.uleb128 0x8
.byte 0x90
.uleb128 0x1
.align 8
.LECIE1:
.LSFDE1:
.long .LEFDE1-.LASFDE1
.LASFDE1:
.long .LASFDE1-.Lframe1
.long .LFB2-.
.long .LFE2-.LFB2
.uleb128 0x0
.byte 0x4
.long .LCFI0-.LFB2
.byte 0xe
.uleb128 0x10
.byte 0x86
.uleb128 0x2
.byte 0x4
.long .LCFI1-.LCFI0
.byte 0xd
.uleb128 0x6
.align 8
.LEFDE1:
.ident "GCC: (GNU) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)"
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
2009-05-28 21:02 ` [Bug target/38085] " mcintosh_shane at emc dot com
@ 2009-07-29 22:12 ` bennett dot schneider at yahoo dot com
2009-07-30 13:07 ` bennett dot schneider at yahoo dot com
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: bennett dot schneider at yahoo dot com @ 2009-07-29 22:12 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from bennett dot schneider at yahoo dot com 2009-07-29 22:11 -------
I've seen the same behaviour and was able to fix two separate issues. First,
the @ symbol on the leaq instruction is not necessary. This code is being
inserted because NO_PROFILE_COUNTERS is not defined ( See x86_function_profiler
in http://gcc.gnu.org/viewcvs/trunk/gcc/config/i386/i386.c?revision=150062).
After fixing the assembly, the programs compile successfully, but crash on
execution. This seems to be related to code in the assembly header of _mcount
http://gcc.gnu.org/viewcvs/trunk/gcc/config/i386/gmon-sol2.c?revision=138078
The original code as copied from glibc doesn't match the present contents. In
particular:
diff -u gcc/config/i386/gmon-sol2.c.orig gcc/config/i386/gmon-sol2.c
--- gcc/config/i386/gmon-sol2.c.orig Wed Jul 29 08:57:15 2009
+++ gcc/config/i386/gmon-sol2.c Wed Jul 29 16:44:36 2009
@@ -266,8 +266,8 @@
"\tmovq\t%r9,0x30(%rsp)\n"
/* Get SELFPC (pushed by the call to this function) and
FROMPCINDEX (via the frame pointer. */
- "\tmovq\t0x38(%rsp),%rdi\n"
- "\tmovq\t0x8(%rbp),%rsi\n"
+ "\tmovq\t0x38(%rsp),%rsi\n"
+ "\tmovq\t0x8(%rbp),%rdi\n"
"\tcallq\tinternal_mcount\n"
/* Restore the saved registers. */
"\tmovq\t0x30(%rsp),%r9\n"
@@ -275,7 +275,7 @@
"\tmovq\t0x20(%rsp),%rdi\n"
"\tmovq\t0x18(%rsp),%rsi\n"
"\tmovq\t0x10(%rsp),%rdx\n"
- "\tmovq\t0x08(%rsp),%rdx\n"
+ "\tmovq\t0x08(%rsp),%rcx\n"
"\tmovq\t(%rsp),%rax\n"
"\taddq\t$0x38,%rsp\n"
"\tretq\n"
After making this change, executables produce gmon.out, but I'm not sure the
output is completely correct. The call graph output is correct (the parents
and children seem to be reversed), so there may also be descrepancies in
internal_mcount.
--
bennett dot schneider at yahoo dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bennett dot schneider at
| |yahoo dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
2009-05-28 21:02 ` [Bug target/38085] " mcintosh_shane at emc dot com
2009-07-29 22:12 ` bennett dot schneider at yahoo dot com
@ 2009-07-30 13:07 ` bennett dot schneider at yahoo dot com
2009-09-24 9:50 ` hailijuan at gmail dot com
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: bennett dot schneider at yahoo dot com @ 2009-07-30 13:07 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from bennett dot schneider at yahoo dot com 2009-07-30 13:06 -------
internal_mcount's from and self arguments were reversed from glibc's version.
Here's the full diff of gmon-sol2.c that produces correct output:
--- gcc/config/i386/gmon-sol2.c.orig Wed Jul 29 08:57:15 2009
+++ gcc/config/i386/gmon-sol2.c Thu Jul 30 07:53:16 2009
@@ -66,7 +66,7 @@
extern void _mcleanup (void);
extern void internal_mcount (
#ifdef __x86_64__
- char *, unsigned short *
+ unsigned short *, char *
#else
void
#endif
@@ -266,8 +266,8 @@
"\tmovq\t%r9,0x30(%rsp)\n"
/* Get SELFPC (pushed by the call to this function) and
FROMPCINDEX (via the frame pointer. */
- "\tmovq\t0x38(%rsp),%rdi\n"
- "\tmovq\t0x8(%rbp),%rsi\n"
+ "\tmovq\t0x38(%rsp),%rsi\n"
+ "\tmovq\t0x8(%rbp),%rdi\n"
"\tcallq\tinternal_mcount\n"
/* Restore the saved registers. */
"\tmovq\t0x30(%rsp),%r9\n"
@@ -275,7 +275,7 @@
"\tmovq\t0x20(%rsp),%rdi\n"
"\tmovq\t0x18(%rsp),%rsi\n"
"\tmovq\t0x10(%rsp),%rdx\n"
- "\tmovq\t0x08(%rsp),%rdx\n"
+ "\tmovq\t0x08(%rsp),%rcx\n"
"\tmovq\t(%rsp),%rax\n"
"\taddq\t$0x38,%rsp\n"
"\tretq\n"
@@ -290,8 +290,8 @@
void
internal_mcount (
#ifdef __x86_64__
- char *selfpc,
- unsigned short *frompcindex
+ unsigned short *frompcindex,
+ char *selfpc
#else
void
#endif
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
` (2 preceding siblings ...)
2009-07-30 13:07 ` bennett dot schneider at yahoo dot com
@ 2009-09-24 9:50 ` hailijuan at gmail dot com
2010-03-05 20:04 ` ro at gcc dot gnu dot org
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: hailijuan at gmail dot com @ 2009-09-24 9:50 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from hailijuan at gmail dot com 2009-09-24 09:50 -------
There is another problem with "gcc -m64 -pg" since 4.4.0, seen from below:
# file
/import/dr3/i386/gcc-4.4.0/lib/gcc/i386-pc-solaris2.11/4.4.0/amd64/gmon.o
/import/dr3/i386/gcc-4.4.0/lib/gcc/i386-pc-solaris2.11/4.4.0/amd64/gmon.o:
ELF 32-bit LSB relocatable 80386 Version 1
Seen from gcc building log, gcc didn't build gmon.o with m64 as expected. Since
4.4, gcc/config/i386/t-sol2 has been moved to libgcc/config/i386/t-sol2.
However the flags for gmon.o turned to be empty.
Any comments on the issue? Thanks,
-- Lijuan
(In reply to comment #3)
> internal_mcount's from and self arguments were reversed from glibc's version.
> Here's the full diff of gmon-sol2.c that produces correct output:
> --- gcc/config/i386/gmon-sol2.c.orig Wed Jul 29 08:57:15 2009
> +++ gcc/config/i386/gmon-sol2.c Thu Jul 30 07:53:16 2009
> @@ -66,7 +66,7 @@
> extern void _mcleanup (void);
> extern void internal_mcount (
> #ifdef __x86_64__
> - char *, unsigned short *
> + unsigned short *, char *
> #else
> void
> #endif
> @@ -266,8 +266,8 @@
> "\tmovq\t%r9,0x30(%rsp)\n"
> /* Get SELFPC (pushed by the call to this function) and
> FROMPCINDEX (via the frame pointer. */
> - "\tmovq\t0x38(%rsp),%rdi\n"
> - "\tmovq\t0x8(%rbp),%rsi\n"
> + "\tmovq\t0x38(%rsp),%rsi\n"
> + "\tmovq\t0x8(%rbp),%rdi\n"
> "\tcallq\tinternal_mcount\n"
> /* Restore the saved registers. */
> "\tmovq\t0x30(%rsp),%r9\n"
> @@ -275,7 +275,7 @@
> "\tmovq\t0x20(%rsp),%rdi\n"
> "\tmovq\t0x18(%rsp),%rsi\n"
> "\tmovq\t0x10(%rsp),%rdx\n"
> - "\tmovq\t0x08(%rsp),%rdx\n"
> + "\tmovq\t0x08(%rsp),%rcx\n"
> "\tmovq\t(%rsp),%rax\n"
> "\taddq\t$0x38,%rsp\n"
> "\tretq\n"
> @@ -290,8 +290,8 @@
> void
> internal_mcount (
> #ifdef __x86_64__
> - char *selfpc,
> - unsigned short *frompcindex
> + unsigned short *frompcindex,
> + char *selfpc
> #else
> void
> #endif
>
--
hailijuan at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hailijuan at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
` (3 preceding siblings ...)
2009-09-24 9:50 ` hailijuan at gmail dot com
@ 2010-03-05 20:04 ` ro at gcc dot gnu dot org
2010-03-05 20:10 ` ro at gcc dot gnu dot org
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ro at gcc dot gnu dot org @ 2010-03-05 20:04 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from ro at gcc dot gnu dot org 2010-03-05 20:04 -------
Mine.
--
ro at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|hubicka at gcc dot gnu dot |ro at gcc dot gnu dot org
|org |
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2010-03-05 20:04:04
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
` (4 preceding siblings ...)
2010-03-05 20:04 ` ro at gcc dot gnu dot org
@ 2010-03-05 20:10 ` ro at gcc dot gnu dot org
2010-03-05 20:10 ` ro at gcc dot gnu dot org
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ro at gcc dot gnu dot org @ 2010-03-05 20:10 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from ro at gcc dot gnu dot org 2010-03-05 20:10 -------
Created an attachment (id=20030)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20030&action=view)
proposed patch
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
` (5 preceding siblings ...)
2010-03-05 20:10 ` ro at gcc dot gnu dot org
@ 2010-03-05 20:10 ` ro at gcc dot gnu dot org
2010-03-22 20:12 ` ro at gcc dot gnu dot org
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ro at gcc dot gnu dot org @ 2010-03-05 20:10 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from ro at gcc dot gnu dot org 2010-03-05 20:09 -------
I found none of the changes to internal_mcount to be necessary: with the
attached
patch, I could both bootstrap mainline successfully on i386-pc-solaris2.11, the
-pg related testsuite failures were gone, and I could profile a small test
program
with gcc -pg -m64. To be certain I hadn't done anything wrong, I've used Sun
Studio 12.1 cc -xpg -m64 to verify the profiling output, and apart from the
exact
times, the results were identical.
So unless you have a testcase that misbehaves with that patch, I plan to submit
it shortly.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
` (6 preceding siblings ...)
2010-03-05 20:10 ` ro at gcc dot gnu dot org
@ 2010-03-22 20:12 ` ro at gcc dot gnu dot org
2010-03-22 20:39 ` ro at gcc dot gnu dot org
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ro at gcc dot gnu dot org @ 2010-03-22 20:12 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from ro at gcc dot gnu dot org 2010-03-22 20:12 -------
Subject: Bug 38085
Author: ro
Date: Mon Mar 22 20:12:34 2010
New Revision: 157648
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157648
Log:
gcc:
PR target/38085
* config/i386/i386.c (x86_function_profiler)
[!NO_PROFILE_COUNTERS]: Fix typo.
* config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
instead of callq.
libgcc:
PR target/38085
* config/i386/t-sol2 ($(T)gmon.o): Use CFLAGS instead of
MULTILIB_CFLAGS.
($(T)gcrt1.o): Likewise.
($(T)crt1.o): Likewise.
($(T)crti.o): Likewise.
($(T)crtn.o): Likewise.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/gmon-sol2.c
trunk/gcc/config/i386/i386.c
trunk/libgcc/ChangeLog
trunk/libgcc/config/i386/t-sol2
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
` (7 preceding siblings ...)
2010-03-22 20:12 ` ro at gcc dot gnu dot org
@ 2010-03-22 20:39 ` ro at gcc dot gnu dot org
2010-04-04 19:02 ` jrgn dot keil at googlemail dot com
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: ro at gcc dot gnu dot org @ 2010-03-22 20:39 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from ro at gcc dot gnu dot org 2010-03-22 20:39 -------
Fixed for 4.5.0.
--
ro at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
` (8 preceding siblings ...)
2010-03-22 20:39 ` ro at gcc dot gnu dot org
@ 2010-04-04 19:02 ` jrgn dot keil at googlemail dot com
2010-04-04 21:10 ` jrgn dot keil at googlemail dot com
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: jrgn dot keil at googlemail dot com @ 2010-04-04 19:02 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from jrgn dot keil at googlemail dot com 2010-04-04 19:02 -------
(In reply to comment #6)
> I found none of the changes to internal_mcount to be necessary: with the
> attached
> patch, I could both bootstrap mainline successfully on i386-pc-solaris2.11, the
> -pg related testsuite failures were gone, and I could profile a small test
> program
> with gcc -pg -m64.
Hmm, what about the part in the suggested patch from comment 2
that fixed restoring the %rcx register; lines 275,7 in gmon-sol2.c ?
Without that change a 64bit compiled profiled function destroys
the contents of the %rdx parameter and might corrupt %rcx:
gmon-sol2.c:
260 "\tmovq\t%rax,(%rsp)\n"
261 "\tmovq\t%rcx,0x08(%rsp)\n"
262 "\tmovq\t%rdx,0x10(%rsp)\n"
...
277 "\tmovq\t0x10(%rsp),%rdx\n"
278 "\tmovq\t0x08(%rsp),%rdx\n" <<<<<<<<<<<<<<
279 "\tmovq\t(%rsp),%rax\n"
Line 278 must restore to %rcx ! This should still be broken.
--
jrgn dot keil at googlemail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jrgn dot keil at googlemail
| |dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
` (9 preceding siblings ...)
2010-04-04 19:02 ` jrgn dot keil at googlemail dot com
@ 2010-04-04 21:10 ` jrgn dot keil at googlemail dot com
2010-04-08 15:10 ` ro at gcc dot gnu dot org
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: jrgn dot keil at googlemail dot com @ 2010-04-04 21:10 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from jrgn dot keil at googlemail dot com 2010-04-04 21:09 -------
(In reply to comment #10)
I've filed bug 43643 for this problem.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
` (10 preceding siblings ...)
2010-04-04 21:10 ` jrgn dot keil at googlemail dot com
@ 2010-04-08 15:10 ` ro at gcc dot gnu dot org
2010-04-08 15:13 ` ro at gcc dot gnu dot org
2010-04-08 15:14 ` ro at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: ro at gcc dot gnu dot org @ 2010-04-08 15:10 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from ro at gcc dot gnu dot org 2010-04-08 15:09 -------
Subject: Bug 38085
Author: ro
Date: Thu Apr 8 15:09:17 2010
New Revision: 158133
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=158133
Log:
gcc:
PR target/43643
* config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
gcc/testsuite:
PR target/43643
* gcc.dg/pr43643.c: New test.
gcc:
Backport from mainline:
2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/38085
* config/i386/i386.c (x86_function_profiler)
[!NO_PROFILE_COUNTERS]: Fix typo.
* config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
instead of callq.
libgcc:
Backport from mainline:
2010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/38085
* config/i386/t-sol2 ($(T)gmon.o): Use CFLAGS instead of
MULTILIB_CFLAGS.
($(T)gcrt1.o): Likewise.
($(T)crt1.o): Likewise.
($(T)crti.o): Likewise.
($(T)crtn.o): Likewise.
Added:
branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr43643.c
Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/config/i386/gmon-sol2.c
branches/gcc-4_4-branch/gcc/config/i386/i386.c
branches/gcc-4_4-branch/gcc/testsuite/ChangeLog
branches/gcc-4_4-branch/libgcc/ChangeLog
branches/gcc-4_4-branch/libgcc/config/i386/t-sol2
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
` (11 preceding siblings ...)
2010-04-08 15:10 ` ro at gcc dot gnu dot org
@ 2010-04-08 15:13 ` ro at gcc dot gnu dot org
2010-04-08 15:14 ` ro at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: ro at gcc dot gnu dot org @ 2010-04-08 15:13 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from ro at gcc dot gnu dot org 2010-04-08 15:13 -------
Reopen to document backport.
--
ro at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug target/38085] gcc -m64 -pg generates invalid assembler code on Solaris 10/x86
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
` (12 preceding siblings ...)
2010-04-08 15:13 ` ro at gcc dot gnu dot org
@ 2010-04-08 15:14 ` ro at gcc dot gnu dot org
13 siblings, 0 replies; 15+ messages in thread
From: ro at gcc dot gnu dot org @ 2010-04-08 15:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from ro at gcc dot gnu dot org 2010-04-08 15:14 -------
Fixed for 4.4.4, 4.5.0.
--
ro at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
URL| |http://gcc.gnu.org/ml/gcc-
| |patches/2010-
| |03/msg00609.html
Status|REOPENED |RESOLVED
Keywords| |patch
Known to work| |4.4.4 4.5.0
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38085
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2010-04-08 15:14 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-11 20:07 [Bug target/38085] New: gcc -m64 -pg generates invalid assembler code on Solaris 10/x86 ro at gcc dot gnu dot org
2009-05-28 21:02 ` [Bug target/38085] " mcintosh_shane at emc dot com
2009-07-29 22:12 ` bennett dot schneider at yahoo dot com
2009-07-30 13:07 ` bennett dot schneider at yahoo dot com
2009-09-24 9:50 ` hailijuan at gmail dot com
2010-03-05 20:04 ` ro at gcc dot gnu dot org
2010-03-05 20:10 ` ro at gcc dot gnu dot org
2010-03-05 20:10 ` ro at gcc dot gnu dot org
2010-03-22 20:12 ` ro at gcc dot gnu dot org
2010-03-22 20:39 ` ro at gcc dot gnu dot org
2010-04-04 19:02 ` jrgn dot keil at googlemail dot com
2010-04-04 21:10 ` jrgn dot keil at googlemail dot com
2010-04-08 15:10 ` ro at gcc dot gnu dot org
2010-04-08 15:13 ` ro at gcc dot gnu dot org
2010-04-08 15:14 ` ro at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).