[LLVMbugs] [Bug 10370] New: [MC assembler] after r134501, again incorrect reloc type for push of a label argument (on x86_64)

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Jul 15 04:51:13 PDT 2011


http://llvm.org/bugs/show_bug.cgi?id=10370

           Summary: [MC assembler] after r134501, again incorrect reloc
                    type for push of a label argument (on x86_64)
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: FreeBSD
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: dimitry at andric.com
                CC: llvmbugs at cs.uiuc.edu


After r134501, bug 8798 reappears, but since the regression test was
also amended in r134511, there were no test failures.

Again, the reasoning is that this x85_64 assembly:

    pushq    $foo
foo:

should result in the following opcodes:

0000000000000000 <foo-0x5>:
   0:   68 00 00 00 00          pushq  $0x0

and the following relocation:

  Offset          Info           Type           Sym. Value    Sym. Name +
Addend
000000000001  00020000000b R_X86_64_32S      0000000000000000 .text + 5

After r134501 however, the opcodes become:

0000000000000000 <foo-0x2>:
   0:   6a 00                   pushq  $0x0

and the relocation becomes:

  Offset          Info           Type           Sym. Value    Sym. Name +
Addend
000000000001  00020000000e R_X86_64_8        0000000000000000 .text + 2

A pushq of a label should never be shortened to an 8 bit operand.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list