diff -uNr binutils-2.14.90.0.8.orig/bfd/elf-hppa.h binutils-2.14.90.0.8/bfd/elf-hppa.h --- binutils-2.14.90.0.8.orig/bfd/elf-hppa.h 2004-03-26 12:44:54.000000000 -0700 +++ binutils-2.14.90.0.8/bfd/elf-hppa.h 2004-03-26 12:45:45.000000000 -0700 @@ -1350,7 +1350,7 @@ /* 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 @@ /* 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 @@ /* 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 @@ } 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); diff -uNr binutils-2.14.90.0.8.orig/bfd/elf64-hppa.c binutils-2.14.90.0.8/bfd/elf64-hppa.c --- binutils-2.14.90.0.8.orig/bfd/elf64-hppa.c 2004-03-26 12:44:54.000000000 -0700 +++ binutils-2.14.90.0.8/bfd/elf64-hppa.c 2004-03-26 12:45:24.000000000 -0700 @@ -173,7 +173,7 @@ 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 @@ 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 @@ continue; /* Collect a canonical name for this address. */ - addr_name = get_dyn_name (sec, h, rel, &buf, &buf_len); + addr_name = get_dyn_name (bfd, 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,