bug-binutils
[Top][All Lists]
Advanced

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

[Bug gas/29557] New: R_RISCV_ALIGN relocation emits wrong padding bytes


From: numbksco at gmail dot com
Subject: [Bug gas/29557] New: R_RISCV_ALIGN relocation emits wrong padding bytes
Date: Thu, 08 Sep 2022 08:17:43 +0000

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

            Bug ID: 29557
           Summary: R_RISCV_ALIGN relocation emits wrong padding bytes
           Product: binutils
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: numbksco at gmail dot com
  Target Milestone: ---

Current result:

# cat <<EOF | riscv64-linux-gnu-gcc -fPIC -c -o a.o -xassembler -
.align 2
.section .text.hello
.globl hello
hello:
    li a0, 42
    ret
EOF

# riscv64-linux-gnu-objdump -z -d --reloc a.o 

a.o:     file format elf64-littleriscv


Disassembly of section .text:

0000000000000000 <.text>:
   0:   0001                    nop
                        0: R_RISCV_ALIGN        *ABS*+0x2
   2:   0000                    unimp

Disassembly of section .text.hello:

0000000000000000 <hello>:
   0:   02a00513                li      a0,42
   4:   8082                    ret


According to the spec:
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#relocation-for-alignment

The R_RISCV_ALIGN relocation padding bytes should be `c.nop + c.nop + c.nop` or
`c.nop + nop`, but currently we're getting `c.nop + 0x0000`.

-- 
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]