Question on gas difference between 2.19.1 and 2.20
Lluís Batlle
viriketo@gmail.com
Tue Nov 3 21:33:00 GMT 2009
Here I attach the result of the assembly with binutils 2.19.1.
For the "objdump -S" of the related part:
Disassembly of section .reset_vector_sect:
00000000 <romBoot-0x3c>:
#endif
/* Check if we booted from DRAM. If we did someone already */
/* initialize the DRAM controller */
adr r4, jumpStart /* r4 <- current position of code */
0: e24f4008 sub r4, pc, #8 ; 0x8
mov r5, #~0xff
4: e3e050ff mvn r5, #255 ; 0xff
and r4, r4, r5
8: e0044005 and r4, r4, r5
nop
nop
/* End of code load */
#endif /* MV78XX0 */
Moving the label below the '.section' solved my assembly problems in 2.20.
Regards,
Lluís.
2009/11/3 Phil Blundell <pb@reciva.com>:
> On Tue, 2009-11-03 at 20:24 +0100, Lluís Batlle wrote:
>> jumpStart:
>>
>> .section ".reset_vector_sect",#alloc, #execinstr
>>
>> /* Check if we booted from DRAM. If we did someone already */
>> /* initialize the DRAM controller */
>>
>> adr r4, jumpStart /* r4 <- current position of
>> code */ /* line 62 of the source file */
>> mov r5, #~0xff
>
>> Assembling with binutils 2.20 gas, I get:
>> jump.S:62: Error: symbol .text is in a different section
>>
>> Does anybody understand this behaviour? Maybe I am doing something
>> wrong? I don't understand the meaning of that message in this context.
>
> I am rather surprised that binutils 2.19.1 accepted this code. What
> output did it produce?
>
> The "adr" pseudo-op is (approximately) an assembler shorthand for "add
> rN, pc, #(dest - .)", i.e. it assembles to an arithmetic operation with
> an immediate operand. Using adr across sections is possible in theory,
> albeit with restrictions, but I don't think either GAS nor GNU ld
> understand the relocation types that you would need to make it work.
>
> p.
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jump.o
Type: application/octet-stream
Size: 5624 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20091103/f6ed05d4/attachment.o>
More information about the Binutils
mailing list