'as' fails on inline assembly

Bug #1051156 reported by Naveen Bansal
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
binutils
Unknown
Unknown
binutils (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

There was a problem in GCC when I added some inline assembly.

as: BFD (GNU Binutils for Ubuntu) 2.22 assertion fail ../../bfd/elf.c:6715
as: BFD (GNU Binutils for Ubuntu) 2.22 internal error, aborting at ../../bfd/elfcode.h line 229 in bfd_elf32_swap_symbol_out

as: Please report this bug.

..................................................

inline assembly:

__asm__(
                "movl $(%ebx+4), %eax;" /* getting the operand in %eax */
                "movl $0, %ebx;" /* ebx is the counter iand initializing it */
        "_start:"
                "cmpl $0, %eax;"
                "jz _final ;" /* if the comparison is 0 then jump to _final label */
                "movl %eax, %ecx;"
                "andl $1, %ecx;"
                "cmpl $0, %ecx;"
                "jz _skipadd;"
                "addl $1, %ebx;" /* if the last bit is set increment the counter */

        "_skipadd:"
                "shrl $1, %eax;" /* dividing the number by 2 */
                "jmp _start;"

        "_final:" /* final location */
                /* now we have to restore the registers */
                "movl %eax, %ebx;" /* storing the result in %eax */
                "ret;"
 );

.........................................................................

System information
naveen@naveen-ubuntu:/$ uname -a
Linux naveen-ubuntu 3.2.0-29-generic-pae #46-Ubuntu SMP Fri Jul 27 17:25:43 UTC 2012 i686 i686 i386 GNU/Linux

affects: ubuntu → gcc-defaults (Ubuntu)
Revision history for this message
Edward Donovan (edward.donovan) wrote :

It looks like you're running Precise, so this is probably the GCC package you're running.

affects: gcc-defaults (Ubuntu) → gcc-4.6 (Ubuntu)
Revision history for this message
Naveen Bansal (bansalnvn) wrote :

Find the attached whole c code.

affects: gcc-4.6 (Ubuntu) → binutils (Ubuntu)
summary: - GNU CC compiler
+ 'as' fails on inline assembly
Revision history for this message
Edward Donovan (edward.donovan) wrote :

I looked at the body of the report and realized it's for the assembler, from binutils, not gcc itself. I'm just helping with triage here, trying to get the report clearer, and directed to the right place. It's taken a couple tries. :-) Thanks for reporting.

Matthias Klose (doko)
Changed in binutils (Ubuntu):
importance: Undecided → Low
status: New → Triaged
Revision history for this message
Matthias Klose (doko) wrote :

fixed version shows:

$ gcc -c 173930.c
173930.c: Assembler messages:
173930.c:15: Error: illegal immediate register operand (%ebx+4)

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package binutils - 2.24.90.20141014-0ubuntu3

---------------
binutils (2.24.90.20141014-0ubuntu3) utopic; urgency=medium

  * Pick patches from the trunk:
    - Fix PR ld/17492. LP: #882353.
    - Fix PR gas/17493. LP: #1051156.
 -- Matthias Klose <email address hidden> Thu, 16 Oct 2014 15:32:59 +0200

Changed in binutils (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.