[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.
- [Bug gold/21285] R_386_GOT32 for baseless case looks implemented incorrectly.,
ccoutant at gmail dot com <=