bug-binutils
[Top][All Lists]
Advanced

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

[Bug gold/21285] R_386_GOT32 for baseless case looks implemented incorre


From: ccoutant at gmail dot com
Subject: [Bug gold/21285] R_386_GOT32 for baseless case looks implemented incorrectly.
Date: Sat, 13 May 2017 15:55:00 +0000

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

Cary Coutant <ccoutant at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2017-05-13
           Assignee|ccoutant at gmail dot com          |hjl.tools at gmail dot 
com
     Ever confirmed|0                           |1

--- Comment #2 from Cary Coutant <ccoutant at gmail dot com> ---
OK, suppose we have the following sequence of instructions:

  cmp  $0x8b, %al
  movl address@hidden, %eax
  mov  address@hidden(%ecx), %esp

which assemble to:

   0:   3c 8b                   cmp    $0x8b,%al
   2:   a1 00 00 00 00          mov    0x0,%eax
   7:   8b a1 00 00 00 00       mov    0x0(%ecx),%esp

How is the linker supposed to distinguish the two mov instructions? We cannot
make this optimization based on looking at the opcodes -- we need separate
relocations to tell us which is which, unless it's OK to invalidate 0xa1 as a
valid modrm byte in this usage.

Doesn't ld have the same problem?

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