[MacPorts] #24002: gstreamer 0.10.27 has bad inline asm

MacPorts noreply at macports.org
Tue Mar 9 17:26:50 PST 2010


#24002: gstreamer 0.10.27 has bad inline asm
-----------------------------------+----------------------------------------
 Reporter:  jeremyhu@…             |       Owner:  macports-tickets@…                   
     Type:  defect                 |      Status:  new                                  
 Priority:  Normal                 |   Milestone:                                       
Component:  ports                  |     Version:  1.8.2                                
 Keywords:                         |        Port:                                       
-----------------------------------+----------------------------------------
 {{{
   CC    lex._gst_parse_yy.o
   LINK  libgstparse.la
   CC    gstutils.o
 /var/tmp//cchdaKxu.s:11248:no instruction mnemonic suffix given and no
 register operands; can't size instruction
 lipo: can't open input file: /var/tmp//cciD2n2U.out (No such file or
 directory)
 make[4]: *** [libgstreamer_0.10_la-gstutils.lo] Error 1
 }}}

 Eliminating optimizations and investigating, I found:
 {{{
 $ /usr/bin/gcc-4.2 -arch x86_64 -c libgstreamer_0.10_la-gstutils.pp.c
 /var/tmp//ccm9gu9N.s:548:no instruction mnemonic suffix given and no
 register operands; can't size instruction
 }}}

 Here is the hunk failing:

 {{{
 _gst_util_uint64_mul_uint64:
 LFB118:
         pushq   %rbp
 LCFI19:
         movq    %rsp, %rbp
 LCFI20:
         movq    %rdi, -8(%rbp)
         movq    %rsi, -16(%rbp)
         movq    %rdx, -24(%rbp)
         movq    %rcx, -32(%rbp)
         movq    -24(%rbp), %rax
         movq    %rax, -48(%rbp)
         movq    -48(%rbp), %rax
         mul -32(%rbp)                  # line 548
         movq    %rdx, %rcx
         movq    %rax, -40(%rbp)
         movq    -16(%rbp), %rax
         movq    -40(%rbp), %rdx
         movq    %rdx, (%rax)
         movq    -8(%rbp), %rax
         movq    %rcx, (%rax)
         leave
         ret
 }}}

 which is from:
 {{{
 static inline void
 gst_util_uint64_mul_uint64 (GstUInt64 * c1, GstUInt64 * c0, guint64 arg1,
     guint64 arg2)
 {
   __asm__ __volatile__ ("mul %3":"=a" (c0->ll), "=d" (c1->ll)
       :"a" (arg1), "g" (arg2)
       );
 }
 }}}

 This "mul %3" should be a "mulq %3"

-- 
Ticket URL: <http://trac.macports.org/ticket/24002>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list