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

Reply via email to