[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/18591] Invalid R_X86_64_GOTPCREL -> R_X86_64_PC32 conversions
From: |
cvs-commit at gcc dot gnu.org |
Subject: |
[Bug ld/18591] Invalid R_X86_64_GOTPCREL -> R_X86_64_PC32 conversions |
Date: |
Wed, 24 Jun 2015 17:23:40 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=18591
--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot
gnu.org> ---
The master branch has been updated by H.J. Lu <address@hidden>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=59cab532835904f368b0aa99267afba5fda5ded2
commit 59cab532835904f368b0aa99267afba5fda5ded2
Author: H.J. Lu <address@hidden>
Date: Wed Jun 24 10:13:55 2015 -0700
Don't convert R_X86_64_GOTPCREL if it will overflow
When converting "mov address@hidden(%rip), %reg" to "lea foo(%rip), %reg"
with R_X86_64_PC32 relocation, it may overflow if the target section
is more than 2GB away. This patch estimates distance between mov
instruction and the target section. We convert R_X86_64_GOTPCREL to
R_X86_64_PC32 only if their distance is less than 2GB.
PR ld/18591
* elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Don't convert
R_X86_64_GOTPCREL to R_X86_64_PC32 if it will cause relocation
overflow.
--
You are receiving this mail because:
You are on the CC list for the bug.