bug-binutils
[Top][All Lists]
Advanced

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

[Bug gas/20127] New: Addend not preserved for many X86 relocations


From: louis.granboulan.developer at gmail dot com
Subject: [Bug gas/20127] New: Addend not preserved for many X86 relocations
Date: Fri, 20 May 2016 16:42:16 +0000

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

            Bug ID: 20127
           Summary: Addend not preserved for many X86 relocations
           Product: binutils
           Version: 2.25
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: louis.granboulan.developer at gmail dot com
  Target Milestone: ---

Input is a.s

        .globl main
        .text
main:
        movl    $E, %eax
        movl    $E+1, %eax
        movl    address@hidden, %eax
        movl    address@hidden, %eax
        movl    address@hidden, %eax
        movl    address@hidden, %eax
        movl    address@hidden, %eax
        movl    address@hidden, %eax
        movl    address@hidden, %eax
        movl    address@hidden, %eax
        movl    address@hidden, %eax
        movl    address@hidden, %eax
        movl    address@hidden, %eax
        movl    address@hidden, %eax

Assembled with "as -32 -o a.o a.s"
Analyzed with "objdump -dr a.o"

a.o:     file format elf32-i386
Disassembly of section .text:
00000000 <main>:
   0:   b8 00 00 00 00          mov    $0x0,%eax
                        1: R_386_32     E
   5:   b8 01 00 00 00          mov    $0x1,%eax
                        6: R_386_32     E
   a:   b8 fc ff ff ff          mov    $0xfffffffc,%eax
                        b: R_386_PLT32  E
   f:   b8 fc ff ff ff          mov    $0xfffffffc,%eax
                        10: R_386_PLT32 E
  14:   b8 00 00 00 00          mov    $0x0,%eax
                        15: R_386_TLS_GD        E
  19:   b8 00 00 00 00          mov    $0x0,%eax
                        1a: R_386_TLS_GD        E
  1e:   b8 00 00 00 00          mov    $0x0,%eax
                        1f: R_386_TLS_LDM       E
  23:   b8 00 00 00 00          mov    $0x0,%eax
                        24: R_386_TLS_LDM       E
  28:   b8 00 00 00 00          mov    $0x0,%eax
                        29: R_386_TLS_IE        E
  2d:   b8 00 00 00 00          mov    $0x0,%eax
                        2e: R_386_TLS_IE        E
  32:   b8 00 00 00 00          mov    $0x0,%eax
                        33: R_386_TLS_GOTIE     E
  37:   b8 00 00 00 00          mov    $0x0,%eax
                        38: R_386_TLS_GOTIE     E
  3c:   b8 00 00 00 00          mov    $0x0,%eax
                        3d: R_386_TLS_IE_32     E
  41:   b8 00 00 00 00          mov    $0x0,%eax
                        42: R_386_TLS_IE_32     E


The error is in every other line.
For the R_386_PLT32 relocation with addend, I would have expected "b8 fd ff ff
ff".
For the other ones, I would have expected "b8 01 00 00 00".

There might be other relocations with this issue; I don't know all the
relocation types.

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