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 <[EMAIL PROTECTED]>
* 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