mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-28 12:33:36 +08:00
Replace input_bfd and output_bfd with abfd
The first argument to bfd_get_8/bfd_put_8 isn't used. But we should use something real. Replace input_bfd and output_bfd with abfd. * elf32-i386.c (elf_i386_convert_mov_to_lea): Replace input_bfd and output_bfd with abfd. * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
This commit is contained in:
parent
4c082a81df
commit
4b71eec627
@ -1,3 +1,9 @@
|
|||||||
|
2015-05-10 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* elf32-i386.c (elf_i386_convert_mov_to_lea): Replace input_bfd
|
||||||
|
and output_bfd with abfd.
|
||||||
|
* elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
|
||||||
|
|
||||||
2015-05-06 Toni Spets <toni.spets@iki.fi>
|
2015-05-06 Toni Spets <toni.spets@iki.fi>
|
||||||
|
|
||||||
PR ld/18372
|
PR ld/18372
|
||||||
|
@ -2724,11 +2724,9 @@ elf_i386_convert_mov_to_lea (bfd *abfd, asection *sec,
|
|||||||
/* STT_GNU_IFUNC must keep R_386_GOT32 relocation. */
|
/* STT_GNU_IFUNC must keep R_386_GOT32 relocation. */
|
||||||
if (ELF_ST_TYPE (isym->st_info) != STT_GNU_IFUNC
|
if (ELF_ST_TYPE (isym->st_info) != STT_GNU_IFUNC
|
||||||
&& irel->r_offset >= 2
|
&& irel->r_offset >= 2
|
||||||
&& bfd_get_8 (input_bfd,
|
&& bfd_get_8 (abfd, contents + irel->r_offset - 2) == 0x8b)
|
||||||
contents + irel->r_offset - 2) == 0x8b)
|
|
||||||
{
|
{
|
||||||
bfd_put_8 (output_bfd, 0x8d,
|
bfd_put_8 (abfd, 0x8d, contents + irel->r_offset - 2);
|
||||||
contents + irel->r_offset - 2);
|
|
||||||
irel->r_info = ELF32_R_INFO (r_symndx, R_386_GOTOFF);
|
irel->r_info = ELF32_R_INFO (r_symndx, R_386_GOTOFF);
|
||||||
if (local_got_refcounts != NULL
|
if (local_got_refcounts != NULL
|
||||||
&& local_got_refcounts[r_symndx] > 0)
|
&& local_got_refcounts[r_symndx] > 0)
|
||||||
@ -2754,11 +2752,9 @@ elf_i386_convert_mov_to_lea (bfd *abfd, asection *sec,
|
|||||||
&& h != htab->elf.hdynamic
|
&& h != htab->elf.hdynamic
|
||||||
&& SYMBOL_REFERENCES_LOCAL (link_info, h)
|
&& SYMBOL_REFERENCES_LOCAL (link_info, h)
|
||||||
&& irel->r_offset >= 2
|
&& irel->r_offset >= 2
|
||||||
&& bfd_get_8 (input_bfd,
|
&& bfd_get_8 (abfd, contents + irel->r_offset - 2) == 0x8b)
|
||||||
contents + irel->r_offset - 2) == 0x8b)
|
|
||||||
{
|
{
|
||||||
bfd_put_8 (output_bfd, 0x8d,
|
bfd_put_8 (abfd, 0x8d, contents + irel->r_offset - 2);
|
||||||
contents + irel->r_offset - 2);
|
|
||||||
irel->r_info = ELF32_R_INFO (r_symndx, R_386_GOTOFF);
|
irel->r_info = ELF32_R_INFO (r_symndx, R_386_GOTOFF);
|
||||||
if (h->got.refcount > 0)
|
if (h->got.refcount > 0)
|
||||||
h->got.refcount -= 1;
|
h->got.refcount -= 1;
|
||||||
|
@ -2945,11 +2945,9 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd, asection *sec,
|
|||||||
/* STT_GNU_IFUNC must keep R_X86_64_GOTPCREL relocation. */
|
/* STT_GNU_IFUNC must keep R_X86_64_GOTPCREL relocation. */
|
||||||
if (ELF_ST_TYPE (isym->st_info) != STT_GNU_IFUNC
|
if (ELF_ST_TYPE (isym->st_info) != STT_GNU_IFUNC
|
||||||
&& irel->r_offset >= 2
|
&& irel->r_offset >= 2
|
||||||
&& bfd_get_8 (input_bfd,
|
&& bfd_get_8 (abfd, contents + irel->r_offset - 2) == 0x8b)
|
||||||
contents + irel->r_offset - 2) == 0x8b)
|
|
||||||
{
|
{
|
||||||
bfd_put_8 (output_bfd, 0x8d,
|
bfd_put_8 (abfd, 0x8d, contents + irel->r_offset - 2);
|
||||||
contents + irel->r_offset - 2);
|
|
||||||
irel->r_info = htab->r_info (r_symndx, R_X86_64_PC32);
|
irel->r_info = htab->r_info (r_symndx, R_X86_64_PC32);
|
||||||
if (local_got_refcounts != NULL
|
if (local_got_refcounts != NULL
|
||||||
&& local_got_refcounts[r_symndx] > 0)
|
&& local_got_refcounts[r_symndx] > 0)
|
||||||
@ -2976,11 +2974,9 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd, asection *sec,
|
|||||||
&& h != htab->elf.hdynamic
|
&& h != htab->elf.hdynamic
|
||||||
&& SYMBOL_REFERENCES_LOCAL (link_info, h)
|
&& SYMBOL_REFERENCES_LOCAL (link_info, h)
|
||||||
&& irel->r_offset >= 2
|
&& irel->r_offset >= 2
|
||||||
&& bfd_get_8 (input_bfd,
|
&& bfd_get_8 (abfd, contents + irel->r_offset - 2) == 0x8b)
|
||||||
contents + irel->r_offset - 2) == 0x8b)
|
|
||||||
{
|
{
|
||||||
bfd_put_8 (output_bfd, 0x8d,
|
bfd_put_8 (abfd, 0x8d, contents + irel->r_offset - 2);
|
||||||
contents + irel->r_offset - 2);
|
|
||||||
irel->r_info = htab->r_info (r_symndx, R_X86_64_PC32);
|
irel->r_info = htab->r_info (r_symndx, R_X86_64_PC32);
|
||||||
if (h->got.refcount > 0)
|
if (h->got.refcount > 0)
|
||||||
h->got.refcount -= 1;
|
h->got.refcount -= 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user