aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-i386.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-06 00:43:31 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-06 00:44:38 -0700
commite74399c47c76b8111651f41b52a05401852cf799 (patch)
treefbb5f6b6bd0784f3e5177087b6112131d0b4174d /bfd/elf32-i386.c
parentaebcc8ffd201adbee973b414818b01876dabe1a0 (diff)
downloadgdb-e74399c47c76b8111651f41b52a05401852cf799.zip
gdb-e74399c47c76b8111651f41b52a05401852cf799.tar.gz
gdb-e74399c47c76b8111651f41b52a05401852cf799.tar.bz2
x86: Add COPY_INPUT_RELOC_P
Add COPY_INPUT_RELOC_P which returns TRUE if input relocation should be copied to output. * elfxx-x86.h (COPY_INPUT_RELOC_P): New. * elf32-i386.c (elf_i386_relocate_section): Use it. * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
Diffstat (limited to 'bfd/elf32-i386.c')
-rw-r--r--bfd/elf32-i386.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 0c63d26..4adb70a 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -2778,12 +2778,7 @@ disallow_got32:
if (skip)
memset (&outrel, 0, sizeof outrel);
- else if (h != NULL
- && h->dynindx != -1
- && (r_type == R_386_PC32
- || !(bfd_link_executable (info)
- || SYMBOLIC_BIND (info, h))
- || !h->def_regular))
+ else if (COPY_INPUT_RELOC_P (info, h, r_type))
outrel.r_info = ELF32_R_INFO (h->dynindx, r_type);
else
{