* elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of
input_section in calls to get_dyn_name. * elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *". Use section id of first section in input BFD to build dynamic name for local symbols. (elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name.
This commit is contained in:
parent
4fdf61212c
commit
d63b5ed92a
3 changed files with 17 additions and 8 deletions
|
@ -1,3 +1,11 @@
|
|||
2004-03-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
* elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of
|
||||
input_section in calls to get_dyn_name.
|
||||
* elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *". Use section id of first section in input BFD to build dynamic name for
|
||||
local symbols.
|
||||
(elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name.
|
||||
|
||||
2004-03-15 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* bfd-in.h (bfd_int64_t, bfd_uint64_t): New types.
|
||||
|
|
|
@ -1350,7 +1350,7 @@ elf_hppa_relocate_section (bfd *output_bfd,
|
|||
|
||||
/* If this symbol has an entry in the PA64 dynamic hash
|
||||
table, then get it. */
|
||||
dyn_name = get_dyn_name (input_section, h, rel,
|
||||
dyn_name = get_dyn_name (input_bfd, h, rel,
|
||||
&dynh_buf, &dynh_buflen);
|
||||
dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table,
|
||||
dyn_name, FALSE, FALSE);
|
||||
|
@ -1373,7 +1373,7 @@ elf_hppa_relocate_section (bfd *output_bfd,
|
|||
|
||||
/* If this symbol has an entry in the PA64 dynamic hash
|
||||
table, then get it. */
|
||||
dyn_name = get_dyn_name (input_section, h, rel,
|
||||
dyn_name = get_dyn_name (input_bfd, h, rel,
|
||||
&dynh_buf, &dynh_buflen);
|
||||
dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table,
|
||||
dyn_name, FALSE, FALSE);
|
||||
|
@ -1410,7 +1410,7 @@ elf_hppa_relocate_section (bfd *output_bfd,
|
|||
|
||||
/* If this symbol has an entry in the PA64 dynamic hash
|
||||
table, then get it. */
|
||||
dyn_name = get_dyn_name (input_section, h, rel,
|
||||
dyn_name = get_dyn_name (input_bfd, h, rel,
|
||||
&dynh_buf, &dynh_buflen);
|
||||
dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table,
|
||||
dyn_name, FALSE, FALSE);
|
||||
|
@ -1426,7 +1426,7 @@ elf_hppa_relocate_section (bfd *output_bfd,
|
|||
}
|
||||
else if (h->root.type == bfd_link_hash_undefweak)
|
||||
{
|
||||
dyn_name = get_dyn_name (input_section, h, rel,
|
||||
dyn_name = get_dyn_name (input_bfd, h, rel,
|
||||
&dynh_buf, &dynh_buflen);
|
||||
dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table,
|
||||
dyn_name, FALSE, FALSE);
|
||||
|
|
|
@ -173,7 +173,7 @@ static void elf64_hppa_dyn_hash_traverse
|
|||
PTR info));
|
||||
|
||||
static const char *get_dyn_name
|
||||
PARAMS ((asection *, struct elf_link_hash_entry *,
|
||||
PARAMS ((bfd *, struct elf_link_hash_entry *,
|
||||
const Elf_Internal_Rela *, char **, size_t *));
|
||||
|
||||
/* This must follow the definitions of the various derived linker
|
||||
|
@ -446,13 +446,14 @@ elf64_hppa_section_from_shdr (abfd, hdr, name)
|
|||
allocate memory as necessary, possibly reusing PBUF/PLEN. */
|
||||
|
||||
static const char *
|
||||
get_dyn_name (sec, h, rel, pbuf, plen)
|
||||
asection *sec;
|
||||
get_dyn_name (abfd, h, rel, pbuf, plen)
|
||||
bfd *abfd;
|
||||
struct elf_link_hash_entry *h;
|
||||
const Elf_Internal_Rela *rel;
|
||||
char **pbuf;
|
||||
size_t *plen;
|
||||
{
|
||||
asection *sec = abfd->sections;
|
||||
size_t nlen, tlen;
|
||||
char *buf;
|
||||
size_t len;
|
||||
|
@ -858,7 +859,7 @@ elf64_hppa_check_relocs (abfd, info, sec, relocs)
|
|||
continue;
|
||||
|
||||
/* Collect a canonical name for this address. */
|
||||
addr_name = get_dyn_name (sec, h, rel, &buf, &buf_len);
|
||||
addr_name = get_dyn_name (abfd, h, rel, &buf, &buf_len);
|
||||
|
||||
/* Collect the canonical entry data for this address. */
|
||||
dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table,
|
||||
|
|
Loading…
Reference in a new issue