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

            Bug ID: 23002
           Summary: [RISCV] Pseudoinstruction Call is expanded
                    incorrectly
           Product: binutils
           Version: 2.29
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: sourceware at lusiardi dot de
  Target Milestone: ---

Hello,

I think I found a small issue with the replacement of the call pseudo
instruction in Version 2.29.1:

As input I used the following snippet:

  label:
    nop
    nop
    call label

This should be an endless loop executing the nops again and again. I can
confirm this behaviour with http://www.kvakil.me/venus/.

Now if I feed this code to riscv64-unknown-elf-as and use
riscv64-unknown-elf-objdump on the result I receive 

  0000000000000000 <l2>:
     0:   00000013                nop
     4:   00000013                nop
     8:   00000097                auipc   ra,0x0
     c:   000080e7                jalr    ra

Where ra is x1 and 'jalr ra' expands to 'jalr ra, ra, 0'. This is also an
endless loop but only loops the call command. This seems to be wrong.

I would be please to help with any further information.

Regards
Joachim Lusiardi

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to