mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 01:50:24 +08:00
(elf_link_add_object_symbols): Use correct sh_size
entry for reading verdef records. Use correct braces for computing increments of extverdaux and exteverdef record pointers.
This commit is contained in:
@ -416,8 +416,8 @@ elf_link_add_object_symbols (abfd, info)
|
|||||||
goto error_return;
|
goto error_return;
|
||||||
|
|
||||||
if (bfd_seek (abfd, verdefhdr->sh_offset, SEEK_SET) != 0
|
if (bfd_seek (abfd, verdefhdr->sh_offset, SEEK_SET) != 0
|
||||||
|| (bfd_read ((PTR) dynver, 1, hdr->sh_size, abfd)
|
|| (bfd_read ((PTR) dynver, 1, verdefhdr->sh_size, abfd)
|
||||||
!= hdr->sh_size))
|
!= verdefhdr->sh_size))
|
||||||
goto error_return;
|
goto error_return;
|
||||||
|
|
||||||
extverdef = (const Elf_External_Verdef *) dynver;
|
extverdef = (const Elf_External_Verdef *) dynver;
|
||||||
@ -431,7 +431,7 @@ elf_link_add_object_symbols (abfd, info)
|
|||||||
|
|
||||||
/* Pick up the name of the version. */
|
/* Pick up the name of the version. */
|
||||||
extverdaux = ((const Elf_External_Verdaux *)
|
extverdaux = ((const Elf_External_Verdaux *)
|
||||||
(bfd_byte *) extverdef + intverdef->vd_aux);
|
((bfd_byte *) extverdef + intverdef->vd_aux));
|
||||||
_bfd_elf_swap_verdaux_in (abfd, extverdaux, &intverdaux);
|
_bfd_elf_swap_verdaux_in (abfd, extverdaux, &intverdaux);
|
||||||
|
|
||||||
intverdef->vd_bfd = abfd;
|
intverdef->vd_bfd = abfd;
|
||||||
@ -440,7 +440,7 @@ elf_link_add_object_symbols (abfd, info)
|
|||||||
intverdaux.vda_name);
|
intverdaux.vda_name);
|
||||||
|
|
||||||
extverdef = ((const Elf_External_Verdef *)
|
extverdef = ((const Elf_External_Verdef *)
|
||||||
(bfd_byte *) extverdef + intverdef->vd_next);
|
((bfd_byte *) extverdef + intverdef->vd_next));
|
||||||
}
|
}
|
||||||
|
|
||||||
free (dynver);
|
free (dynver);
|
||||||
|
Reference in New Issue
Block a user