bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/22049] PowerPC VLE: Lower 16 bit address offset not calculated


From: vincegeg83 at gmail dot com
Subject: [Bug gas/22049] PowerPC VLE: Lower 16 bit address offset not calculated properly in some cases
Date: Thu, 31 Aug 2017 20:00:22 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=22049

vincegeg83 at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|WORKSFORME                  |---

--- Comment #3 from vincegeg83 at gmail dot com ---
Thanks, can you confirm whether this is correct?  It doesn't seem like it:

Original assembly (attached as test.s):

        .org    0x100100

        e_b     begin
data0:
        .short 0x1234

        .align 2, 0x44
begin:
        e_lis r4, address@hidden
        e_lhz r4, address@hidden(r4)

address@hidden ~/asm
$ powerpc-linux-as -many -mvle -mregnames test.s

address@hidden ~/asm
$ powerpc-linux-objdump -dr a.out

a.out:     file format elf32-powerpc


Disassembly of section .text:

00000000 <data0-0x100104>:
        ...
  100100:       78 00 00 08     e_b     100108 <begin>

00100104 <data0>:
  100104:       12 34 44 44     .long 0x12344444

00100108 <begin>:
  100108:       70 80 e0 10     e_lis   r4,16
                        100108: R_PPC_VLE_HA16A .text+0x100104
  10010c:       58 84 00 00     e_lhz   r4,0(r4)
                        10010e: R_PPC_ADDR16_LO .text+0x100104


It seems to correctly set the symbol to 0x100104, but note the low 16 bit
decoding is wrong, it's using 0 instead of 0x0104.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]