arm gcc assembler problem

Ian Lance Taylor ian@airs.com
Mon Feb 14 16:00:00 GMT 2005


Scottie Shore <umshore4@cc.umanitoba.ca> writes:

> A test file with the following:
> 
> .text
> test:
>         b       test
>         b       test
>         b       test
>         b       test
>         b       test
>         b       test
>         b       test
>         b       test
> 
> generates the following code:
> 
> Disassembly of section .text:
> 
> 00000000 <test>:
>    0:   eafffffe        b       0 <test>
>    4:   eafffffe        b       4 <test+0x4>
>    8:   eafffffe        b       8 <test+0x8>
>    c:   eafffffe        b       c <test+0xc>
>   10:   eafffffe        b       10 <test+0x10>
>   14:   eafffffe        b       14 <test+0x14>
>   18:   eafffffe        b       18 <test+0x18>
>   1c:   eafffffe        b       1c <test+0x1c>
> 
> with both gcc-3.4.3 compiled from debian sources, and gcc-2.95.2 found on
> the LART site.
> 
> I'm at a loss to explain this. How to fix it?

Since you are using an assembler source file, this is not a gcc issue.
The assembler, gas, is part of the binutils.  It would be more
appropriate to ask on the binutils mailing list.  See
    http://sourceware.org/binutils/

Anyhow, it looks to me like you are looking at the disassembly of the
object file, not of the fully linked executable.

If you use objdump -dr, you will see that there are relocations on
each of the instructions.  The linker will process those relocations
when linking to produce a correct final executable.

Ian



More information about the Gcc-help mailing list