diff options
Diffstat (limited to 'bfd/elf32-i386.c')
-rw-r--r-- | bfd/elf32-i386.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index f56b39e..60cd91a 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -2924,8 +2924,14 @@ convert_branch: /* Convert to "nop call foo". ADDR_PREFIX_OPCODE is a nop prefix. */ modrm = 0xe8; - nop = ADDR_PREFIX_OPCODE; - nop_offset = roff - 2; + nop = link_info->call_nop_byte; + if (link_info->call_nop_as_suffix) + { + nop_offset = roff + 3; + irel->r_offset -= 1; + } + else + nop_offset = roff - 2; } else { |