* elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
references to large plt symbols.
This commit is contained in:
parent
636b1a6d8e
commit
7c319a271c
2 changed files with 9 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2002-11-12 Thomas Moestl <tmm@FreeBSD.org>
|
||||||
|
|
||||||
|
* elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
|
||||||
|
references to large plt symbols.
|
||||||
|
|
||||||
2002-11-12 Klee Dienes <kdienes@apple.com>
|
2002-11-12 Klee Dienes <kdienes@apple.com>
|
||||||
|
|
||||||
* mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
|
* mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
|
||||||
|
|
|
@ -1563,6 +1563,9 @@ sparc64_elf_adjust_dynamic_symbol (info, h)
|
||||||
if (s->_raw_size == 0)
|
if (s->_raw_size == 0)
|
||||||
s->_raw_size = PLT_HEADER_SIZE;
|
s->_raw_size = PLT_HEADER_SIZE;
|
||||||
|
|
||||||
|
/* To simplify matters later, just store the plt index here. */
|
||||||
|
h->plt.offset = s->_raw_size / PLT_ENTRY_SIZE;
|
||||||
|
|
||||||
/* If this symbol is not defined in a regular file, and we are
|
/* If this symbol is not defined in a regular file, and we are
|
||||||
not generating a shared library, then set the symbol to this
|
not generating a shared library, then set the symbol to this
|
||||||
location in the .plt. This is required to make function
|
location in the .plt. This is required to make function
|
||||||
|
@ -1572,12 +1575,9 @@ sparc64_elf_adjust_dynamic_symbol (info, h)
|
||||||
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
|
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
|
||||||
{
|
{
|
||||||
h->root.u.def.section = s;
|
h->root.u.def.section = s;
|
||||||
h->root.u.def.value = s->_raw_size;
|
h->root.u.def.value = sparc64_elf_plt_entry_offset (h->plt.offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* To simplify matters later, just store the plt index here. */
|
|
||||||
h->plt.offset = s->_raw_size / PLT_ENTRY_SIZE;
|
|
||||||
|
|
||||||
/* Make room for this entry. */
|
/* Make room for this entry. */
|
||||||
s->_raw_size += PLT_ENTRY_SIZE;
|
s->_raw_size += PLT_ENTRY_SIZE;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue