mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-06 01:09:00 +00:00
bfd/s390: Misc minor fixes.
The only non-comment fix here is in the code writing out the 3 fixed .got.plt entries - it mistakenly put a 64-bit 0 at offsets 8 and 12 instead of 8 and 16. bfd/ChangeLog: * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment. * elf64-s390.c (elf_s390x_plt_entry): Fix comment. (elf_s390_relocate_section): Fix comment. (elf_s390_finish_dynamic_sections): Fix initialization of fixed .got.plt entries.
This commit is contained in:
parent
1aec0b6ad6
commit
3b67f09464
@ -1,3 +1,11 @@
|
||||
2016-06-07 Marcin Kościelnicki <koriakin@0x04.net>
|
||||
|
||||
* elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
|
||||
* elf64-s390.c (elf_s390x_plt_entry): Fix comment.
|
||||
(elf_s390_relocate_section): Fix comment.
|
||||
(elf_s390_finish_dynamic_sections): Fix initialization of fixed
|
||||
.got.plt entries.
|
||||
|
||||
2016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com>
|
||||
|
||||
* elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
|
||||
|
@ -3691,7 +3691,7 @@ elf_s390_finish_dynamic_symbol (bfd *output_bfd,
|
||||
|
||||
/* Put in the GOT offset as displacement value. The 0xc000
|
||||
value comes from the first word of the plt entry. Look
|
||||
at the elf_s390_plt_pic16_entry content. */
|
||||
at the elf_s390_plt_pic12_entry content. */
|
||||
bfd_put_16 (output_bfd, (bfd_vma)0xc000 | got_offset,
|
||||
htab->elf.splt->contents + h->plt.offset + 2);
|
||||
|
||||
|
@ -492,8 +492,8 @@ elf_s390_is_local_label_name (bfd *abfd, const char *name)
|
||||
|
||||
The GOT holds the address in the PLT to be executed.
|
||||
The loader then gets:
|
||||
24(15) = Pointer to the structure describing the object.
|
||||
28(15) = Offset in symbol table
|
||||
48(15) = Pointer to the structure describing the object.
|
||||
56(15) = Offset in symbol table
|
||||
The loader must then find the module where the function is
|
||||
and insert the address in the GOT.
|
||||
|
||||
@ -2479,7 +2479,7 @@ elf_s390_relocate_section (bfd *output_bfd,
|
||||
PLT_ENTRY_SIZE;
|
||||
|
||||
/* Offset in GOT is PLT index plus GOT headers(3)
|
||||
times 4, addr & GOT addr. */
|
||||
times 8, addr & GOT addr. */
|
||||
relocation = (plt_index + 3) * GOT_ENTRY_SIZE;
|
||||
if (r_type == R_390_GOTPLTENT)
|
||||
relocation += htab->elf.sgot->output_section->vma;
|
||||
@ -3805,7 +3805,7 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd,
|
||||
/* One entry for shared object struct ptr. */
|
||||
bfd_put_64 (output_bfd, (bfd_vma) 0, htab->elf.sgotplt->contents + 8);
|
||||
/* One entry for _dl_runtime_resolve. */
|
||||
bfd_put_64 (output_bfd, (bfd_vma) 0, htab->elf.sgotplt->contents + 12);
|
||||
bfd_put_64 (output_bfd, (bfd_vma) 0, htab->elf.sgotplt->contents + 16);
|
||||
}
|
||||
|
||||
elf_section_data (htab->elf.sgot->output_section)
|
||||
|
Loading…
x
Reference in New Issue
Block a user