From fcfa13d2b2b18f83382c2a0cb82c9c7d21be10cb Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 25 Oct 2005 16:19:08 +0000 Subject: [PATCH] PR ld/1540 * elf-bfd.h (elf_backend_copy_indirect_symbol): Replace pointer to elf_backend_data with pointer to bfd_link_info. (_bfd_elf_link_hash_copy_indirect): Likewise. * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Handle direct and indirect symbols both having dynamic link info. * elf32-arm.c (elf32_arm_copy_indirect_symbol): Likewise. * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise. * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise. * elf32-m32r.c (m32r_elf_copy_indirect_symbol): Likewise. * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise. * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise. * elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise. * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise. * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise. * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise. * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise. * elfxx-sparc.c (_bfd_sparc_elf_copy_indirect_symbol): Likewise. * elflink.c: Adjust all calls to bed->elf_backend_copy_indirect_symbol. * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Update prototype. * elfxx-sparc.h (_bfd_sparc_elf_copy_indirect_symbol): Likewise. --- bfd/ChangeLog | 25 +++ bfd/elf-bfd.h | 4 +- bfd/elf.c | 34 ++-- bfd/elf32-arm.c | 22 +-- bfd/elf32-hppa.c | 13 +- bfd/elf32-i386.c | 9 +- bfd/elf32-m32r.c | 9 +- bfd/elf32-ppc.c | 25 +-- bfd/elf32-s390.c | 13 +- bfd/elf32-sh.c | 21 +-- bfd/elf64-ppc.c | 19 +-- bfd/elf64-s390.c | 13 +- bfd/elf64-x86-64.c | 9 +- bfd/elflink.c | 10 +- bfd/elfxx-ia64.c | 21 ++- bfd/elfxx-mips.c | 6 +- bfd/elfxx-mips.h | 2 +- bfd/elfxx-sparc.c | 9 +- bfd/elfxx-sparc.h | 2 +- bfd/po/bfd.pot | 398 ++++++++++++++++++++++----------------------- 20 files changed, 319 insertions(+), 345 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index e580d9af817..9e6dec8a185 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,28 @@ +2005-10-26 Alan Modra + + PR ld/1540 + * elf-bfd.h (elf_backend_copy_indirect_symbol): Replace pointer to + elf_backend_data with pointer to bfd_link_info. + (_bfd_elf_link_hash_copy_indirect): Likewise. + * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Handle + direct and indirect symbols both having dynamic link info. + * elf32-arm.c (elf32_arm_copy_indirect_symbol): Likewise. + * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise. + * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise. + * elf32-m32r.c (m32r_elf_copy_indirect_symbol): Likewise. + * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise. + * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise. + * elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise. + * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. + * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise. + * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise. + * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise. + * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_copy_indirect_symbol): Likewise. + * elflink.c: Adjust all calls to bed->elf_backend_copy_indirect_symbol. + * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Update prototype. + * elfxx-sparc.h (_bfd_sparc_elf_copy_indirect_symbol): Likewise. + 2005-10-25 Alan Modra * po/SRC-POTFILES.in: Regenerate. diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 90cd4cae501..be1c65fb54d 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -870,7 +870,7 @@ struct elf_backend_data newly created and plt/got refcounts and dynamic indices should not be copied. */ void (*elf_backend_copy_indirect_symbol) - (const struct elf_backend_data *, struct elf_link_hash_entry *, + (struct bfd_link_info *, struct elf_link_hash_entry *, struct elf_link_hash_entry *); /* Modify any information related to dynamic linking such that the @@ -1462,7 +1462,7 @@ extern struct bfd_hash_entry *_bfd_elf_link_hash_newfunc extern struct bfd_link_hash_table *_bfd_elf_link_hash_table_create (bfd *); extern void _bfd_elf_link_hash_copy_indirect - (const struct elf_backend_data *, struct elf_link_hash_entry *, + (struct bfd_link_info *, struct elf_link_hash_entry *, struct elf_link_hash_entry *); extern void _bfd_elf_link_hash_hide_symbol (struct bfd_link_info *, struct elf_link_hash_entry *, bfd_boolean); diff --git a/bfd/elf.c b/bfd/elf.c index b7f38be1fbb..0e72d4ef93f 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -1458,12 +1458,11 @@ _bfd_elf_link_hash_newfunc (struct bfd_hash_entry *entry, old indirect symbol. Also used for copying flags to a weakdef. */ void -_bfd_elf_link_hash_copy_indirect (const struct elf_backend_data *bed, +_bfd_elf_link_hash_copy_indirect (struct bfd_link_info *info, struct elf_link_hash_entry *dir, struct elf_link_hash_entry *ind) { - bfd_signed_vma tmp; - bfd_signed_vma lowest_valid = bed->can_refcount; + struct elf_link_hash_table *htab; /* Copy down any references that we may have already seen to the symbol which just became indirect. */ @@ -1480,33 +1479,32 @@ _bfd_elf_link_hash_copy_indirect (const struct elf_backend_data *bed, /* Copy over the global and procedure linkage table refcount entries. These may have been already set up by a check_relocs routine. */ - tmp = dir->got.refcount; - if (tmp < lowest_valid) + htab = elf_hash_table (info); + if (ind->got.refcount > htab->init_got_refcount.refcount) { - dir->got.refcount = ind->got.refcount; - ind->got.refcount = tmp; + if (dir->got.refcount < 0) + dir->got.refcount = 0; + dir->got.refcount += ind->got.refcount; + ind->got.refcount = htab->init_got_refcount.refcount; } - else - BFD_ASSERT (ind->got.refcount < lowest_valid); - tmp = dir->plt.refcount; - if (tmp < lowest_valid) + if (ind->plt.refcount > htab->init_plt_refcount.refcount) { - dir->plt.refcount = ind->plt.refcount; - ind->plt.refcount = tmp; + if (dir->plt.refcount < 0) + dir->plt.refcount = 0; + dir->plt.refcount += ind->plt.refcount; + ind->plt.refcount = htab->init_plt_refcount.refcount; } - else - BFD_ASSERT (ind->plt.refcount < lowest_valid); - if (dir->dynindx == -1) + if (ind->dynindx != -1) { + if (dir->dynindx != -1) + _bfd_elf_strtab_delref (htab->dynstr, dir->dynstr_index); dir->dynindx = ind->dynindx; dir->dynstr_index = ind->dynstr_index; ind->dynindx = -1; ind->dynstr_index = 0; } - else - BFD_ASSERT (ind->dynindx == -1); } void diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index c4bfd3107d1..6f220e9631b 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -1793,7 +1793,7 @@ elf32_arm_create_dynamic_sections (bfd *dynobj, struct bfd_link_info *info) /* Copy the extra info we tack onto an elf_link_hash_entry. */ static void -elf32_arm_copy_indirect_symbol (const struct elf_backend_data *bed, +elf32_arm_copy_indirect_symbol (struct bfd_link_info *info, struct elf_link_hash_entry *dir, struct elf_link_hash_entry *ind) { @@ -1809,10 +1809,7 @@ elf32_arm_copy_indirect_symbol (const struct elf_backend_data *bed, struct elf32_arm_relocs_copied **pp; struct elf32_arm_relocs_copied *p; - if (ind->root.type == bfd_link_hash_indirect) - abort (); - - /* Add reloc counts against the weak sym to the strong sym + /* Add reloc counts against the indirect sym to the direct sym list. Merge any entries against the same section. */ for (pp = &eind->relocs_copied; (p = *pp) != NULL; ) { @@ -1836,16 +1833,9 @@ elf32_arm_copy_indirect_symbol (const struct elf_backend_data *bed, eind->relocs_copied = NULL; } - /* If the direct symbol already has an associated PLT entry, the - indirect symbol should not. If it doesn't, swap refcount information - from the indirect symbol. */ - if (edir->plt_thumb_refcount == 0) - { - edir->plt_thumb_refcount = eind->plt_thumb_refcount; - eind->plt_thumb_refcount = 0; - } - else - BFD_ASSERT (eind->plt_thumb_refcount == 0); + /* Copy over PLT info. */ + edir->plt_thumb_refcount += eind->plt_thumb_refcount; + eind->plt_thumb_refcount = 0; if (ind->root.type == bfd_link_hash_indirect && dir->got.refcount <= 0) @@ -1854,7 +1844,7 @@ elf32_arm_copy_indirect_symbol (const struct elf_backend_data *bed, eind->tls_type = GOT_UNKNOWN; } - _bfd_elf_link_hash_copy_indirect (bed, dir, ind); + _bfd_elf_link_hash_copy_indirect (info, dir, ind); } /* Create an ARM elf linker hash table. */ diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 942b376cf9f..5d34558c361 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -1004,7 +1004,7 @@ elf32_hppa_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) /* Copy the extra info we tack onto an elf_link_hash_entry. */ static void -elf32_hppa_copy_indirect_symbol (const struct elf_backend_data *bed, +elf32_hppa_copy_indirect_symbol (struct bfd_link_info *info, struct elf_link_hash_entry *eh_dir, struct elf_link_hash_entry *eh_ind) { @@ -1020,16 +1020,15 @@ elf32_hppa_copy_indirect_symbol (const struct elf_backend_data *bed, struct elf32_hppa_dyn_reloc_entry **hdh_pp; struct elf32_hppa_dyn_reloc_entry *hdh_p; - if (eh_ind->root.type == bfd_link_hash_indirect) - abort (); - - /* Add reloc counts against the weak sym to the strong sym + /* Add reloc counts against the indirect sym to the direct sym list. Merge any entries against the same section. */ for (hdh_pp = &hh_ind->dyn_relocs; (hdh_p = *hdh_pp) != NULL; ) { struct elf32_hppa_dyn_reloc_entry *hdh_q; - for (hdh_q = hh_dir->dyn_relocs; hdh_q != NULL; hdh_q = hdh_q->hdh_next) + for (hdh_q = hh_dir->dyn_relocs; + hdh_q != NULL; + hdh_q = hdh_q->hdh_next) if (hdh_q->sec == hdh_p->sec) { #if RELATIVE_DYNRELOCS @@ -1062,7 +1061,7 @@ elf32_hppa_copy_indirect_symbol (const struct elf_backend_data *bed, eh_dir->needs_plt |= eh_ind->needs_plt; } else - _bfd_elf_link_hash_copy_indirect (bed, eh_dir, eh_ind); + _bfd_elf_link_hash_copy_indirect (info, eh_dir, eh_ind); } /* Look through the relocs for a section during the first phase, and diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index acb9f1936ee..061a9cb32d8 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -772,7 +772,7 @@ elf_i386_create_dynamic_sections (bfd *dynobj, struct bfd_link_info *info) /* Copy the extra info we tack onto an elf_link_hash_entry. */ static void -elf_i386_copy_indirect_symbol (const struct elf_backend_data *bed, +elf_i386_copy_indirect_symbol (struct bfd_link_info *info, struct elf_link_hash_entry *dir, struct elf_link_hash_entry *ind) { @@ -788,10 +788,7 @@ elf_i386_copy_indirect_symbol (const struct elf_backend_data *bed, struct elf_i386_dyn_relocs **pp; struct elf_i386_dyn_relocs *p; - if (ind->root.type == bfd_link_hash_indirect) - abort (); - - /* Add reloc counts against the weak sym to the strong sym + /* Add reloc counts against the indirect sym to the direct sym list. Merge any entries against the same section. */ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; ) { @@ -836,7 +833,7 @@ elf_i386_copy_indirect_symbol (const struct elf_backend_data *bed, dir->pointer_equality_needed |= ind->pointer_equality_needed; } else - _bfd_elf_link_hash_copy_indirect (bed, dir, ind); + _bfd_elf_link_hash_copy_indirect (info, dir, ind); } static int diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c index c26bebf73c4..82ed13c881d 100644 --- a/bfd/elf32-m32r.c +++ b/bfd/elf32-m32r.c @@ -1755,7 +1755,7 @@ m32r_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) /* Copy the extra info we tack onto an elf_link_hash_entry. */ static void -m32r_elf_copy_indirect_symbol (const struct elf_backend_data *bed, +m32r_elf_copy_indirect_symbol (struct bfd_link_info *info, struct elf_link_hash_entry *dir, struct elf_link_hash_entry *ind) { @@ -1772,10 +1772,7 @@ m32r_elf_copy_indirect_symbol (const struct elf_backend_data *bed, struct elf_m32r_dyn_relocs **pp; struct elf_m32r_dyn_relocs *p; - if (ind->root.type == bfd_link_hash_indirect) - abort (); - - /* Add reloc counts against the weak sym to the strong sym + /* Add reloc counts against the indirect sym to the direct sym list. Merge any entries against the same section. */ for (pp = &eind->dyn_relocs; (p = *pp) != NULL;) { @@ -1799,7 +1796,7 @@ m32r_elf_copy_indirect_symbol (const struct elf_backend_data *bed, eind->dyn_relocs = NULL; } - _bfd_elf_link_hash_copy_indirect (bed, dir, ind); + _bfd_elf_link_hash_copy_indirect (info, dir, ind); } diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 7c072fd5a5c..70d03a3f996 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -2565,12 +2565,11 @@ ppc_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info) /* Copy the extra info we tack onto an elf_link_hash_entry. */ static void -ppc_elf_copy_indirect_symbol (const struct elf_backend_data *bed ATTRIBUTE_UNUSED, +ppc_elf_copy_indirect_symbol (struct bfd_link_info *info, struct elf_link_hash_entry *dir, struct elf_link_hash_entry *ind) { struct ppc_elf_link_hash_entry *edir, *eind; - bfd_signed_vma tmp; edir = (struct ppc_elf_link_hash_entry *) dir; eind = (struct ppc_elf_link_hash_entry *) ind; @@ -2582,10 +2581,7 @@ ppc_elf_copy_indirect_symbol (const struct elf_backend_data *bed ATTRIBUTE_UNUSE struct ppc_elf_dyn_relocs **pp; struct ppc_elf_dyn_relocs *p; - if (ind->root.type == bfd_link_hash_indirect) - abort (); - - /* Add reloc counts against the weak sym to the strong sym + /* Add reloc counts against the indirect sym to the direct sym list. Merge any entries against the same section. */ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; ) { @@ -2631,14 +2627,8 @@ ppc_elf_copy_indirect_symbol (const struct elf_backend_data *bed ATTRIBUTE_UNUSE /* Copy over the GOT refcount entries that we may have already seen to the symbol which just became indirect. */ - tmp = edir->elf.got.refcount; - if (tmp < 1) - { - edir->elf.got.refcount = eind->elf.got.refcount; - eind->elf.got.refcount = tmp; - } - else - BFD_ASSERT (eind->elf.got.refcount < 1); + edir->elf.got.refcount += eind->elf.got.refcount; + eind->elf.got.refcount = 0; /* And plt entries. */ if (eind->elf.plt.plist != NULL) @@ -2669,15 +2659,16 @@ ppc_elf_copy_indirect_symbol (const struct elf_backend_data *bed ATTRIBUTE_UNUSE eind->elf.plt.plist = NULL; } - if (edir->elf.dynindx == -1) + if (eind->elf.dynindx != -1) { + if (edir->elf.dynindx != -1) + _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr, + edir->elf.dynstr_index); edir->elf.dynindx = eind->elf.dynindx; edir->elf.dynstr_index = eind->elf.dynstr_index; eind->elf.dynindx = -1; eind->elf.dynstr_index = 0; } - else - BFD_ASSERT (eind->elf.dynindx == -1); } /* Return 1 if target is one of ours. */ diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c index 55090c6a0c0..14a3191b596 100644 --- a/bfd/elf32-s390.c +++ b/bfd/elf32-s390.c @@ -41,7 +41,7 @@ static bfd_boolean create_got_section static bfd_boolean elf_s390_create_dynamic_sections PARAMS((bfd *, struct bfd_link_info *)); static void elf_s390_copy_indirect_symbol - PARAMS ((const struct elf_backend_data *, struct elf_link_hash_entry *, + PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *, struct elf_link_hash_entry *)); static bfd_boolean elf_s390_check_relocs PARAMS ((bfd *, struct bfd_link_info *, asection *, @@ -855,8 +855,8 @@ elf_s390_create_dynamic_sections (dynobj, info) /* Copy the extra info we tack onto an elf_link_hash_entry. */ static void -elf_s390_copy_indirect_symbol (bed, dir, ind) - const struct elf_backend_data *bed; +elf_s390_copy_indirect_symbol (info, dir, ind) + struct bfd_link_info *info; struct elf_link_hash_entry *dir, *ind; { struct elf_s390_link_hash_entry *edir, *eind; @@ -871,10 +871,7 @@ elf_s390_copy_indirect_symbol (bed, dir, ind) struct elf_s390_dyn_relocs **pp; struct elf_s390_dyn_relocs *p; - if (ind->root.type == bfd_link_hash_indirect) - abort (); - - /* Add reloc counts against the weak sym to the strong sym + /* Add reloc counts against the indirect sym to the direct sym list. Merge any entries against the same section. */ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; ) { @@ -918,7 +915,7 @@ elf_s390_copy_indirect_symbol (bed, dir, ind) dir->needs_plt |= ind->needs_plt; } else - _bfd_elf_link_hash_copy_indirect (bed, dir, ind); + _bfd_elf_link_hash_copy_indirect (info, dir, ind); } static int diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c index abbee05c51c..4d1e280881f 100644 --- a/bfd/elf32-sh.c +++ b/bfd/elf32-sh.c @@ -6063,14 +6063,11 @@ sh_elf_gc_sweep_hook (bfd *abfd, struct bfd_link_info *info, /* Copy the extra info we tack onto an elf_link_hash_entry. */ static void -sh_elf_copy_indirect_symbol (const struct elf_backend_data *bed, +sh_elf_copy_indirect_symbol (struct bfd_link_info *info, struct elf_link_hash_entry *dir, struct elf_link_hash_entry *ind) { struct elf_sh_link_hash_entry *edir, *eind; -#ifdef INCLUDE_SHMEDIA - bfd_signed_vma tmp; -#endif edir = (struct elf_sh_link_hash_entry *) dir; eind = (struct elf_sh_link_hash_entry *) ind; @@ -6082,9 +6079,7 @@ sh_elf_copy_indirect_symbol (const struct elf_backend_data *bed, struct elf_sh_dyn_relocs **pp; struct elf_sh_dyn_relocs *p; - BFD_ASSERT (ind->root.type != bfd_link_hash_indirect); - - /* Add reloc counts against the weak sym to the strong sym + /* Add reloc counts against the indirect sym to the direct sym list. Merge any entries against the same section. */ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; ) { @@ -6110,14 +6105,8 @@ sh_elf_copy_indirect_symbol (const struct elf_backend_data *bed, edir->gotplt_refcount = eind->gotplt_refcount; eind->gotplt_refcount = 0; #ifdef INCLUDE_SHMEDIA - tmp = edir->datalabel_got.refcount; - if (tmp < 1) - { - edir->datalabel_got.refcount = eind->datalabel_got.refcount; - eind->datalabel_got.refcount = tmp; - } - else - BFD_ASSERT (eind->datalabel_got.refcount < 1); + edir->datalabel_got.refcount += eind->datalabel_got.refcount; + eind->datalabel_got.refcount = 0; #endif if (ind->root.type == bfd_link_hash_indirect @@ -6139,7 +6128,7 @@ sh_elf_copy_indirect_symbol (const struct elf_backend_data *bed, dir->needs_plt |= ind->needs_plt; } else - _bfd_elf_link_hash_copy_indirect (bed, dir, ind); + _bfd_elf_link_hash_copy_indirect (info, dir, ind); } static int diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 7f959183a30..d15c77230d7 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -3844,10 +3844,9 @@ move_plt_plist (struct ppc_link_hash_entry *from, /* Copy the extra info we tack onto an elf_link_hash_entry. */ static void -ppc64_elf_copy_indirect_symbol - (const struct elf_backend_data *bed ATTRIBUTE_UNUSED, - struct elf_link_hash_entry *dir, - struct elf_link_hash_entry *ind) +ppc64_elf_copy_indirect_symbol (struct bfd_link_info *info, + struct elf_link_hash_entry *dir, + struct elf_link_hash_entry *ind) { struct ppc_link_hash_entry *edir, *eind; @@ -3862,10 +3861,7 @@ ppc64_elf_copy_indirect_symbol struct ppc_dyn_relocs **pp; struct ppc_dyn_relocs *p; - if (eind->elf.root.type == bfd_link_hash_indirect) - abort (); - - /* Add reloc counts against the weak sym to the strong sym + /* Add reloc counts against the indirect sym to the direct sym list. Merge any entries against the same section. */ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; ) { @@ -3945,15 +3941,16 @@ ppc64_elf_copy_indirect_symbol /* And plt entries. */ move_plt_plist (eind, edir); - if (edir->elf.dynindx == -1) + if (eind->elf.dynindx != -1) { + if (edir->elf.dynindx != -1) + _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr, + edir->elf.dynstr_index); edir->elf.dynindx = eind->elf.dynindx; edir->elf.dynstr_index = eind->elf.dynstr_index; eind->elf.dynindx = -1; eind->elf.dynstr_index = 0; } - else - BFD_ASSERT (eind->elf.dynindx == -1); } /* Find the function descriptor hash entry from the given function code diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index 7808c3fd1a3..f93c6130255 100644 --- a/bfd/elf64-s390.c +++ b/bfd/elf64-s390.c @@ -41,7 +41,7 @@ static bfd_boolean create_got_section static bfd_boolean elf_s390_create_dynamic_sections PARAMS((bfd *, struct bfd_link_info *)); static void elf_s390_copy_indirect_symbol - PARAMS ((const struct elf_backend_data *, struct elf_link_hash_entry *, + PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *, struct elf_link_hash_entry *)); static bfd_boolean elf_s390_check_relocs PARAMS ((bfd *, struct bfd_link_info *, asection *, @@ -808,8 +808,8 @@ elf_s390_create_dynamic_sections (dynobj, info) /* Copy the extra info we tack onto an elf_link_hash_entry. */ static void -elf_s390_copy_indirect_symbol (bed, dir, ind) - const struct elf_backend_data *bed; +elf_s390_copy_indirect_symbol (info, dir, ind) + struct bfd_link_info *info; struct elf_link_hash_entry *dir, *ind; { struct elf_s390_link_hash_entry *edir, *eind; @@ -824,10 +824,7 @@ elf_s390_copy_indirect_symbol (bed, dir, ind) struct elf_s390_dyn_relocs **pp; struct elf_s390_dyn_relocs *p; - if (ind->root.type == bfd_link_hash_indirect) - abort (); - - /* Add reloc counts against the weak sym to the strong sym + /* Add reloc counts against the indirect sym to the direct sym list. Merge any entries against the same section. */ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; ) { @@ -871,7 +868,7 @@ elf_s390_copy_indirect_symbol (bed, dir, ind) dir->needs_plt |= ind->needs_plt; } else - _bfd_elf_link_hash_copy_indirect (bed, dir, ind); + _bfd_elf_link_hash_copy_indirect (info, dir, ind); } static int diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 0520906b227..54914ba2d3d 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -525,7 +525,7 @@ elf64_x86_64_create_dynamic_sections (bfd *dynobj, struct bfd_link_info *info) /* Copy the extra info we tack onto an elf_link_hash_entry. */ static void -elf64_x86_64_copy_indirect_symbol (const struct elf_backend_data *bed, +elf64_x86_64_copy_indirect_symbol (struct bfd_link_info *info, struct elf_link_hash_entry *dir, struct elf_link_hash_entry *ind) { @@ -541,10 +541,7 @@ elf64_x86_64_copy_indirect_symbol (const struct elf_backend_data *bed, struct elf64_x86_64_dyn_relocs **pp; struct elf64_x86_64_dyn_relocs *p; - if (ind->root.type == bfd_link_hash_indirect) - abort (); - - /* Add reloc counts against the weak sym to the strong sym + /* Add reloc counts against the indirect sym to the direct sym list. Merge any entries against the same section. */ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; ) { @@ -589,7 +586,7 @@ elf64_x86_64_copy_indirect_symbol (const struct elf_backend_data *bed, dir->pointer_equality_needed |= ind->pointer_equality_needed; } else - _bfd_elf_link_hash_copy_indirect (bed, dir, ind); + _bfd_elf_link_hash_copy_indirect (info, dir, ind); } static bfd_boolean diff --git a/bfd/elflink.c b/bfd/elflink.c index e122aea38d6..899c48db8e9 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -1283,7 +1283,7 @@ _bfd_elf_merge_symbol (bfd *abfd, flip->root.type = h->root.type; h->root.type = bfd_link_hash_indirect; h->root.u.i.link = (struct bfd_link_hash_entry *) flip; - (*bed->elf_backend_copy_indirect_symbol) (bed, flip, h); + (*bed->elf_backend_copy_indirect_symbol) (info, flip, h); flip->root.u.undef.abfd = h->root.u.undef.abfd; if (h->def_dynamic) { @@ -1437,7 +1437,7 @@ _bfd_elf_add_default_symbol (bfd *abfd, struct elf_link_hash_entry *ht; ht = (struct elf_link_hash_entry *) hi->root.u.i.link; - (*bed->elf_backend_copy_indirect_symbol) (bed, ht, hi); + (*bed->elf_backend_copy_indirect_symbol) (info, ht, hi); /* See if the new flags lead us to realize that the symbol must be dynamic. */ @@ -1506,7 +1506,7 @@ nondefault: if (hi->root.type == bfd_link_hash_indirect) { - (*bed->elf_backend_copy_indirect_symbol) (bed, h, hi); + (*bed->elf_backend_copy_indirect_symbol) (info, h, hi); /* See if the new flags lead us to realize that the symbol must be dynamic. */ @@ -2317,7 +2317,7 @@ _bfd_elf_fix_symbol_flags (struct elf_link_hash_entry *h, const struct elf_backend_data *bed; bed = get_elf_backend_data (elf_hash_table (eif->info)->dynobj); - (*bed->elf_backend_copy_indirect_symbol) (bed, weakdef, h); + (*bed->elf_backend_copy_indirect_symbol) (eif->info, weakdef, h); } } @@ -4139,7 +4139,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) (*bed->elf_backend_hide_symbol) (info, hi, TRUE); hi->root.type = bfd_link_hash_indirect; hi->root.u.i.link = (struct bfd_link_hash_entry *) h; - (*bed->elf_backend_copy_indirect_symbol) (bed, h, hi); + (*bed->elf_backend_copy_indirect_symbol) (info, h, hi); sym_hash = elf_sym_hashes (abfd); if (sym_hash) for (symidx = 0; symidx < extsymcount; ++symidx) diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index dc2c2e15a86..5dfdaaa7406 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -216,7 +216,7 @@ static struct bfd_hash_entry *elfNN_ia64_new_elf_hash_entry PARAMS ((struct bfd_hash_entry *entry, struct bfd_hash_table *table, const char *string)); static void elfNN_ia64_hash_copy_indirect - PARAMS ((const struct elf_backend_data *, struct elf_link_hash_entry *, + PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *, struct elf_link_hash_entry *)); static void elfNN_ia64_hash_hide_symbol PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *, bfd_boolean)); @@ -1798,8 +1798,8 @@ elfNN_ia64_new_elf_hash_entry (entry, table, string) } static void -elfNN_ia64_hash_copy_indirect (bed, xdir, xind) - const struct elf_backend_data *bed ATTRIBUTE_UNUSED; +elfNN_ia64_hash_copy_indirect (info, xdir, xind) + struct bfd_link_info *info; struct elf_link_hash_entry *xdir, *xind; { struct elfNN_ia64_link_hash_entry *dir, *ind; @@ -1821,29 +1821,34 @@ elfNN_ia64_hash_copy_indirect (bed, xdir, xind) /* Copy over the got and plt data. This would have been done by check_relocs. */ - if (dir->info == NULL) + if (ind->info != NULL) { struct elfNN_ia64_dyn_sym_info *dyn_i; + struct elfNN_ia64_dyn_sym_info **pdyn; - dir->info = dyn_i = ind->info; + pdyn = &dir->info; + while ((dyn_i = *pdyn) != NULL) + pdyn = &dyn_i->next; + *pdyn = dyn_i = ind->info; ind->info = NULL; /* Fix up the dyn_sym_info pointers to the global symbol. */ for (; dyn_i; dyn_i = dyn_i->next) dyn_i->h = &dir->root; } - BFD_ASSERT (ind->info == NULL); /* Copy over the dynindx. */ - if (dir->root.dynindx == -1) + if (ind->root.dynindx != -1) { + if (dir->root.dynindx != -1) + _bfd_elf_strtab_delref (elf_hash_table (info)->dynstr, + dir->root.dynstr_index); dir->root.dynindx = ind->root.dynindx; dir->root.dynstr_index = ind->root.dynstr_index; ind->root.dynindx = -1; ind->root.dynstr_index = 0; } - BFD_ASSERT (ind->root.dynindx == -1); } static void diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 27d2dc3854b..685f1d22e3f 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -8387,13 +8387,13 @@ _bfd_mips_elf_gc_sweep_hook (bfd *abfd ATTRIBUTE_UNUSED, _bfd_elf_link_hash_copy_indirect copy the flags for us. */ void -_bfd_mips_elf_copy_indirect_symbol (const struct elf_backend_data *bed, +_bfd_mips_elf_copy_indirect_symbol (struct bfd_link_info *info, struct elf_link_hash_entry *dir, struct elf_link_hash_entry *ind) { struct mips_elf_link_hash_entry *dirmips, *indmips; - _bfd_elf_link_hash_copy_indirect (bed, dir, ind); + _bfd_elf_link_hash_copy_indirect (info, dir, ind); if (ind->root.type != bfd_link_hash_indirect) return; @@ -8408,8 +8408,6 @@ _bfd_mips_elf_copy_indirect_symbol (const struct elf_backend_data *bed, if (dirmips->tls_type == 0) dirmips->tls_type = indmips->tls_type; - else - BFD_ASSERT (indmips->tls_type == 0); } void diff --git a/bfd/elfxx-mips.h b/bfd/elfxx-mips.h index ff53b0d8c53..d419435c110 100644 --- a/bfd/elfxx-mips.h +++ b/bfd/elfxx-mips.h @@ -72,7 +72,7 @@ extern asection * _bfd_mips_elf_gc_mark_hook extern bfd_boolean _bfd_mips_elf_gc_sweep_hook (bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *); extern void _bfd_mips_elf_copy_indirect_symbol - (const struct elf_backend_data *, struct elf_link_hash_entry *, + (struct bfd_link_info *, struct elf_link_hash_entry *, struct elf_link_hash_entry *); extern void _bfd_mips_elf_hide_symbol (struct bfd_link_info *, struct elf_link_hash_entry *, bfd_boolean); diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c index eff34eadf04..e587a675d80 100644 --- a/bfd/elfxx-sparc.c +++ b/bfd/elfxx-sparc.c @@ -881,7 +881,7 @@ _bfd_sparc_elf_create_dynamic_sections (bfd *dynobj, /* Copy the extra info we tack onto an elf_link_hash_entry. */ void -_bfd_sparc_elf_copy_indirect_symbol (const struct elf_backend_data *bed, +_bfd_sparc_elf_copy_indirect_symbol (struct bfd_link_info *info, struct elf_link_hash_entry *dir, struct elf_link_hash_entry *ind) { @@ -897,10 +897,7 @@ _bfd_sparc_elf_copy_indirect_symbol (const struct elf_backend_data *bed, struct _bfd_sparc_elf_dyn_relocs **pp; struct _bfd_sparc_elf_dyn_relocs *p; - if (ind->root.type == bfd_link_hash_indirect) - abort (); - - /* Add reloc counts against the weak sym to the strong sym + /* Add reloc counts against the indirect sym to the direct sym list. Merge any entries against the same section. */ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; ) { @@ -930,7 +927,7 @@ _bfd_sparc_elf_copy_indirect_symbol (const struct elf_backend_data *bed, edir->tls_type = eind->tls_type; eind->tls_type = GOT_UNKNOWN; } - _bfd_elf_link_hash_copy_indirect (bed, dir, ind); + _bfd_elf_link_hash_copy_indirect (info, dir, ind); } static int diff --git a/bfd/elfxx-sparc.h b/bfd/elfxx-sparc.h index 1bfaaa6cfcf..624aea52787 100644 --- a/bfd/elfxx-sparc.h +++ b/bfd/elfxx-sparc.h @@ -97,7 +97,7 @@ extern struct bfd_link_hash_table *_bfd_sparc_elf_link_hash_table_create extern bfd_boolean _bfd_sparc_elf_create_dynamic_sections (bfd *, struct bfd_link_info *); extern void _bfd_sparc_elf_copy_indirect_symbol - (const struct elf_backend_data *, + (struct bfd_link_info *, struct elf_link_hash_entry *, struct elf_link_hash_entry *); extern bfd_boolean _bfd_sparc_elf_check_relocs diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot index 003fe185afb..37c57290aee 100644 --- a/bfd/po/bfd.pot +++ b/bfd/po/bfd.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-10-25 09:31+0930\n" +"POT-Creation-Date: 2005-10-25 22:24+0930\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -209,22 +209,22 @@ msgstr "" msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW" msgstr "" -#: coff-alpha.c:1557 elf32-m32r.c:2474 elf64-alpha.c:3912 elf64-alpha.c:4038 -#: elf32-ia64.c:4103 elf64-ia64.c:4103 +#: coff-alpha.c:1557 elf32-m32r.c:2471 elf64-alpha.c:3912 elf64-alpha.c:4038 +#: elf32-ia64.c:4108 elf64-ia64.c:4108 msgid "%B: unknown relocation type %d" msgstr "" -#: coff-arm.c:990 elf32-arm.c:1936 +#: coff-arm.c:990 elf32-arm.c:1926 #, c-format msgid "%B: unable to find THUMB glue '%s' for `%s'" msgstr "" -#: coff-arm.c:1019 elf32-arm.c:1970 +#: coff-arm.c:1019 elf32-arm.c:1960 #, c-format msgid "%B: unable to find ARM glue '%s' for `%s'" msgstr "" -#: coff-arm.c:1319 elf32-arm.c:2693 +#: coff-arm.c:1319 elf32-arm.c:2683 #, c-format msgid "" "%B(%s): warning: interworking not enabled.\n" @@ -252,14 +252,14 @@ msgstr "" msgid "ERROR: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d" msgstr "" -#: coff-arm.c:2174 elf32-arm.c:5103 +#: coff-arm.c:2174 elf32-arm.c:5093 #, c-format msgid "" "ERROR: %B passes floats in float registers, whereas %B passes them in " "integer registers" msgstr "" -#: coff-arm.c:2177 elf32-arm.c:5107 +#: coff-arm.c:2177 elf32-arm.c:5097 #, c-format msgid "" "ERROR: %B passes floats in integer registers, whereas %B passes them in " @@ -280,12 +280,12 @@ msgid "" "position independent" msgstr "" -#: coff-arm.c:2222 elf32-arm.c:5172 +#: coff-arm.c:2222 elf32-arm.c:5162 #, c-format msgid "Warning: %B supports interworking, whereas %B does not" msgstr "" -#: coff-arm.c:2225 elf32-arm.c:5178 +#: coff-arm.c:2225 elf32-arm.c:5168 #, c-format msgid "Warning: %B does not support interworking, whereas %B does" msgstr "" @@ -295,7 +295,7 @@ msgstr "" msgid "private flags = %x:" msgstr "" -#: coff-arm.c:2257 elf32-arm.c:5229 +#: coff-arm.c:2257 elf32-arm.c:5219 #, c-format msgid " [floats passed in float registers]" msgstr "" @@ -305,7 +305,7 @@ msgstr "" msgid " [floats passed in integer registers]" msgstr "" -#: coff-arm.c:2262 elf32-arm.c:5232 +#: coff-arm.c:2262 elf32-arm.c:5222 #, c-format msgid " [position independent]" msgstr "" @@ -330,14 +330,14 @@ msgstr "" msgid " [interworking not supported]" msgstr "" -#: coff-arm.c:2318 elf32-arm.c:4581 +#: coff-arm.c:2318 elf32-arm.c:4571 #, c-format msgid "" "Warning: Not setting interworking flag of %B since it has already been " "specified as non-interworking" msgstr "" -#: coff-arm.c:2322 elf32-arm.c:4585 +#: coff-arm.c:2322 elf32-arm.c:4575 #, c-format msgid "Warning: Clearing the interworking flag of %B due to outside request" msgstr "" @@ -628,293 +628,293 @@ msgid "" " Type: %s" msgstr "" -#: elf32-arm.c:2325 +#: elf32-arm.c:2315 msgid "%B: BE8 images only valid in big-endian mode." msgstr "" -#: elf32-arm.c:2481 +#: elf32-arm.c:2471 #, c-format msgid "Invalid TARGET2 relocation type '%s'." msgstr "" -#: elf32-arm.c:2588 +#: elf32-arm.c:2578 msgid "" "%B(%s): warning: interworking not enabled.\n" " first occurrence: %B: thumb call to arm" msgstr "" -#: elf32-arm.c:3054 +#: elf32-arm.c:3044 msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'." msgstr "" -#: elf32-arm.c:3237 +#: elf32-arm.c:3227 msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'." msgstr "" -#: elf32-arm.c:3899 +#: elf32-arm.c:3889 msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object" msgstr "" -#: elf32-arm.c:4300 elf32-sh.c:4618 elf64-sh64.c:1537 +#: elf32-arm.c:4290 elf32-sh.c:4618 elf64-sh64.c:1537 msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section" msgstr "" -#: elf32-arm.c:4361 elf64-ppc.c:9675 +#: elf32-arm.c:4351 elf64-ppc.c:9672 msgid "%B(%A+0x%lx): %s used with TLS symbol %s" msgstr "" -#: elf32-arm.c:4362 elf64-ppc.c:9676 +#: elf32-arm.c:4352 elf64-ppc.c:9673 msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s" msgstr "" -#: elf32-arm.c:4385 elf32-i386.c:3041 elf32-m32r.c:2656 elf32-m68k.c:1737 -#: elf32-ppc.c:6570 elf32-s390.c:3015 elf32-sh.c:4717 elf32-xtensa.c:2311 -#: elf64-ppc.c:10828 elf64-s390.c:3013 elf64-sh64.c:1626 elf64-x86-64.c:2525 -#: elf-hppa.h:1413 elf-m10300.c:1460 elfxx-sparc.c:3140 +#: elf32-arm.c:4375 elf32-i386.c:3038 elf32-m32r.c:2653 elf32-m68k.c:1737 +#: elf32-ppc.c:6561 elf32-s390.c:3012 elf32-sh.c:4717 elf32-xtensa.c:2311 +#: elf64-ppc.c:10825 elf64-s390.c:3010 elf64-sh64.c:1626 elf64-x86-64.c:2522 +#: elf-hppa.h:1413 elf-m10300.c:1460 elfxx-sparc.c:3137 msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'" msgstr "" -#: elf32-arm.c:4421 elf32-avr.c:880 elf32-cr16c.c:773 elf32-cris.c:1502 +#: elf32-arm.c:4411 elf32-avr.c:880 elf32-cr16c.c:773 elf32-cris.c:1502 #: elf32-crx.c:911 elf32-d10v.c:536 elf32-fr30.c:595 elf32-frv.c:4107 #: elf32-h8300.c:494 elf32-i860.c:1189 elf32-ip2k.c:1474 elf32-iq2000.c:616 -#: elf32-m32c.c:465 elf32-m32r.c:3114 elf32-m68hc1x.c:1194 elf32-ms1.c:373 +#: elf32-m32c.c:465 elf32-m32r.c:3111 elf32-m68hc1x.c:1194 elf32-ms1.c:373 #: elf32-msp430.c:508 elf32-openrisc.c:383 elf32-v850.c:1672 #: elf32-xstormy16.c:909 elf64-mmix.c:1517 elf-m10200.c:427 elf-m10300.c:1509 msgid "internal error: out of range error" msgstr "" -#: elf32-arm.c:4425 elf32-avr.c:884 elf32-cr16c.c:777 elf32-cris.c:1506 +#: elf32-arm.c:4415 elf32-avr.c:884 elf32-cr16c.c:777 elf32-cris.c:1506 #: elf32-crx.c:915 elf32-d10v.c:540 elf32-fr30.c:599 elf32-frv.c:4111 #: elf32-h8300.c:498 elf32-i860.c:1193 elf32-iq2000.c:620 elf32-m32c.c:469 -#: elf32-m32r.c:3118 elf32-m68hc1x.c:1198 elf32-msp430.c:512 +#: elf32-m32r.c:3115 elf32-m68hc1x.c:1198 elf32-msp430.c:512 #: elf32-openrisc.c:387 elf32-v850.c:1676 elf32-xstormy16.c:913 #: elf64-mmix.c:1521 elf-m10200.c:431 elf-m10300.c:1513 elfxx-mips.c:7212 msgid "internal error: unsupported relocation error" msgstr "" -#: elf32-arm.c:4429 elf32-cr16c.c:781 elf32-crx.c:919 elf32-d10v.c:544 -#: elf32-h8300.c:502 elf32-m32r.c:3122 elf32-m68hc1x.c:1202 elf-m10200.c:435 +#: elf32-arm.c:4419 elf32-cr16c.c:781 elf32-crx.c:919 elf32-d10v.c:544 +#: elf32-h8300.c:502 elf32-m32r.c:3119 elf32-m68hc1x.c:1202 elf-m10200.c:435 #: elf-m10300.c:1517 msgid "internal error: dangerous error" msgstr "" -#: elf32-arm.c:4433 elf32-avr.c:892 elf32-cr16c.c:785 elf32-cris.c:1514 +#: elf32-arm.c:4423 elf32-avr.c:892 elf32-cr16c.c:785 elf32-cris.c:1514 #: elf32-crx.c:923 elf32-d10v.c:548 elf32-fr30.c:607 elf32-frv.c:4119 #: elf32-h8300.c:506 elf32-i860.c:1201 elf32-ip2k.c:1489 elf32-iq2000.c:628 -#: elf32-m32c.c:477 elf32-m32r.c:3126 elf32-m68hc1x.c:1206 elf32-ms1.c:381 +#: elf32-m32c.c:477 elf32-m32r.c:3123 elf32-m68hc1x.c:1206 elf32-ms1.c:381 #: elf32-msp430.c:520 elf32-openrisc.c:395 elf32-v850.c:1696 #: elf32-xstormy16.c:921 elf64-mmix.c:1529 elf-m10200.c:439 elf-m10300.c:1521 msgid "internal error: unknown error" msgstr "" -#: elf32-arm.c:4674 +#: elf32-arm.c:4664 msgid "" "Warning: Clearing the interworking flag of %B because non-interworking code " "in %B has been linked with it" msgstr "" -#: elf32-arm.c:4761 +#: elf32-arm.c:4751 msgid "ERROR: %B uses VFP register arguments, %B does not" msgstr "" -#: elf32-arm.c:4808 +#: elf32-arm.c:4798 msgid "ERROR: %B: Conflicting architecture profiles %c/%c" msgstr "" -#: elf32-arm.c:4823 +#: elf32-arm.c:4813 msgid "Warning: %B: Conflicting platform configuration" msgstr "" -#: elf32-arm.c:4831 +#: elf32-arm.c:4821 msgid "ERROR: %B: Conflicting use of R9" msgstr "" -#: elf32-arm.c:4843 +#: elf32-arm.c:4833 msgid "ERROR: %B: SB relative addressing conflicts with use of R9" msgstr "" -#: elf32-arm.c:4865 +#: elf32-arm.c:4855 msgid "ERROR: %B: Conflicting definitions of wchar_t" msgstr "" -#: elf32-arm.c:4891 +#: elf32-arm.c:4881 msgid "ERROR: %B: Conflicting enum sizes" msgstr "" -#: elf32-arm.c:4902 +#: elf32-arm.c:4892 msgid "ERROR: %B uses iWMMXt register arguments, %B does not" msgstr "" -#: elf32-arm.c:4922 +#: elf32-arm.c:4912 msgid "ERROR: %B: Must be processed by '%s' toolchain" msgstr "" -#: elf32-arm.c:4942 elf32-arm.c:4961 +#: elf32-arm.c:4932 elf32-arm.c:4951 msgid "ERROR: %B: Incompatible object tag '%s':%d" msgstr "" -#: elf32-arm.c:4971 +#: elf32-arm.c:4961 msgid "Warning: %B: Unknown EABI object attribute %d" msgstr "" -#: elf32-arm.c:5079 +#: elf32-arm.c:5069 msgid "" "ERROR: Source object %B has EABI version %d, but target %B has EABI version %" "d" msgstr "" -#: elf32-arm.c:5092 +#: elf32-arm.c:5082 msgid "ERROR: %B is compiled for APCS-%d, whereas target %B uses APCS-%d" msgstr "" -#: elf32-arm.c:5117 +#: elf32-arm.c:5107 msgid "ERROR: %B uses VFP instructions, whereas %B does not" msgstr "" -#: elf32-arm.c:5121 +#: elf32-arm.c:5111 msgid "ERROR: %B uses FPA instructions, whereas %B does not" msgstr "" -#: elf32-arm.c:5131 +#: elf32-arm.c:5121 msgid "ERROR: %B uses Maverick instructions, whereas %B does not" msgstr "" -#: elf32-arm.c:5135 +#: elf32-arm.c:5125 msgid "ERROR: %B does not use Maverick instructions, whereas %B does" msgstr "" -#: elf32-arm.c:5154 +#: elf32-arm.c:5144 msgid "ERROR: %B uses software FP, whereas %B uses hardware FP" msgstr "" -#: elf32-arm.c:5158 +#: elf32-arm.c:5148 msgid "ERROR: %B uses hardware FP, whereas %B uses software FP" msgstr "" #. Ignore init flag - it may not be set, despite the flags field #. containing valid data. #. Ignore init flag - it may not be set, despite the flags field containing valid data. -#: elf32-arm.c:5205 elf32-bfin.c:2164 elf32-cris.c:3243 elf32-m68hc1x.c:1338 -#: elf32-m68k.c:428 elf32-vax.c:528 elfxx-mips.c:9935 +#: elf32-arm.c:5195 elf32-bfin.c:2164 elf32-cris.c:3243 elf32-m68hc1x.c:1338 +#: elf32-m68k.c:428 elf32-vax.c:528 elfxx-mips.c:9933 #, c-format msgid "private flags = %lx:" msgstr "" -#: elf32-arm.c:5214 +#: elf32-arm.c:5204 #, c-format msgid " [interworking enabled]" msgstr "" -#: elf32-arm.c:5222 +#: elf32-arm.c:5212 #, c-format msgid " [VFP float format]" msgstr "" -#: elf32-arm.c:5224 +#: elf32-arm.c:5214 #, c-format msgid " [Maverick float format]" msgstr "" -#: elf32-arm.c:5226 +#: elf32-arm.c:5216 #, c-format msgid " [FPA float format]" msgstr "" -#: elf32-arm.c:5235 +#: elf32-arm.c:5225 #, c-format msgid " [new ABI]" msgstr "" -#: elf32-arm.c:5238 +#: elf32-arm.c:5228 #, c-format msgid " [old ABI]" msgstr "" -#: elf32-arm.c:5241 +#: elf32-arm.c:5231 #, c-format msgid " [software FP]" msgstr "" -#: elf32-arm.c:5250 +#: elf32-arm.c:5240 #, c-format msgid " [Version1 EABI]" msgstr "" -#: elf32-arm.c:5253 elf32-arm.c:5264 +#: elf32-arm.c:5243 elf32-arm.c:5254 #, c-format msgid " [sorted symbol table]" msgstr "" -#: elf32-arm.c:5255 elf32-arm.c:5266 +#: elf32-arm.c:5245 elf32-arm.c:5256 #, c-format msgid " [unsorted symbol table]" msgstr "" -#: elf32-arm.c:5261 +#: elf32-arm.c:5251 #, c-format msgid " [Version2 EABI]" msgstr "" -#: elf32-arm.c:5269 +#: elf32-arm.c:5259 #, c-format msgid " [dynamic symbols use segment index]" msgstr "" -#: elf32-arm.c:5272 +#: elf32-arm.c:5262 #, c-format msgid " [mapping symbols precede others]" msgstr "" -#: elf32-arm.c:5279 +#: elf32-arm.c:5269 #, c-format msgid " [Version3 EABI]" msgstr "" -#: elf32-arm.c:5283 +#: elf32-arm.c:5273 #, c-format msgid " [Version4 EABI]" msgstr "" -#: elf32-arm.c:5286 +#: elf32-arm.c:5276 #, c-format msgid " [BE8]" msgstr "" -#: elf32-arm.c:5289 +#: elf32-arm.c:5279 #, c-format msgid " [LE8]" msgstr "" -#: elf32-arm.c:5295 +#: elf32-arm.c:5285 #, c-format msgid " " msgstr "" -#: elf32-arm.c:5302 +#: elf32-arm.c:5292 #, c-format msgid " [relocatable executable]" msgstr "" -#: elf32-arm.c:5305 +#: elf32-arm.c:5295 #, c-format msgid " [has entry point]" msgstr "" -#: elf32-arm.c:5310 +#: elf32-arm.c:5300 #, c-format msgid "" msgstr "" -#: elf32-arm.c:5546 elf32-i386.c:905 elf32-s390.c:992 elf32-xtensa.c:784 -#: elf64-s390.c:945 elf64-x86-64.c:669 elfxx-sparc.c:1019 +#: elf32-arm.c:5536 elf32-i386.c:902 elf32-s390.c:989 elf32-xtensa.c:784 +#: elf64-s390.c:942 elf64-x86-64.c:666 elfxx-sparc.c:1016 msgid "%B: bad symbol index: %d" msgstr "" -#: elf32-arm.c:6033 elf32-cris.c:2385 elf32-hppa.c:1814 elf32-i370.c:491 -#: elf32-i386.c:1468 elf32-m32r.c:1916 elf32-m68k.c:1088 elf32-ppc.c:4154 -#: elf32-s390.c:1689 elf32-sh.c:3920 elf32-vax.c:1059 elf64-ppc.c:5720 -#: elf64-s390.c:1662 elf64-sh64.c:3442 elf64-x86-64.c:1255 elf-m10300.c:4107 -#: elfxx-sparc.c:1723 +#: elf32-arm.c:6023 elf32-cris.c:2385 elf32-hppa.c:1813 elf32-i370.c:491 +#: elf32-i386.c:1465 elf32-m32r.c:1913 elf32-m68k.c:1088 elf32-ppc.c:4145 +#: elf32-s390.c:1686 elf32-sh.c:3920 elf32-vax.c:1059 elf64-ppc.c:5717 +#: elf64-s390.c:1659 elf64-sh64.c:3442 elf64-x86-64.c:1252 elf-m10300.c:4107 +#: elfxx-sparc.c:1720 #, c-format msgid "dynamic variable `%s' is zero size" msgstr "" @@ -934,8 +934,8 @@ msgstr "" msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'" msgstr "" -#: elf32-bfin.c:1991 elf32-i386.c:3082 elf32-m68k.c:1778 elf32-s390.c:3067 -#: elf64-s390.c:3065 elf64-x86-64.c:2570 +#: elf32-bfin.c:1991 elf32-i386.c:3079 elf32-m68k.c:1778 elf32-s390.c:3064 +#: elf64-s390.c:3062 elf64-x86-64.c:2567 msgid "%B(%A+0x%lx): reloc against `%s': error %d" msgstr "" @@ -1153,35 +1153,35 @@ msgstr "" msgid "%B: cannot create stub entry %s" msgstr "" -#: elf32-hppa.c:822 elf32-hppa.c:3412 +#: elf32-hppa.c:822 elf32-hppa.c:3411 msgid "%B(%A+0x%lx): cannot reach %s, recompile with -ffunction-sections" msgstr "" -#: elf32-hppa.c:1213 +#: elf32-hppa.c:1212 msgid "" "%B: relocation %s can not be used when making a shared object; recompile " "with -fPIC" msgstr "" -#: elf32-hppa.c:1406 +#: elf32-hppa.c:1405 #, c-format msgid "Could not find relocation section for %s" msgstr "" -#: elf32-hppa.c:2678 +#: elf32-hppa.c:2677 msgid "%B: duplicate export stub %s" msgstr "" -#: elf32-hppa.c:3267 +#: elf32-hppa.c:3266 msgid "" "%B(%A+0x%lx): %s fixup for insn 0x%x is not supported in a non-shared link" msgstr "" -#: elf32-hppa.c:3896 +#: elf32-hppa.c:3895 msgid "%B(%A+0x%lx): cannot handle %s for %s" msgstr "" -#: elf32-hppa.c:4190 +#: elf32-hppa.c:4189 msgid ".got section not immediately after .plt section" msgstr "" @@ -1190,21 +1190,21 @@ msgstr "" msgid "%B: invalid relocation type %d" msgstr "" -#: elf32-i386.c:1018 elf32-s390.c:1174 elf32-sh.c:6400 elf64-s390.c:1136 -#: elfxx-sparc.c:1147 +#: elf32-i386.c:1015 elf32-s390.c:1171 elf32-sh.c:6389 elf64-s390.c:1133 +#: elfxx-sparc.c:1144 msgid "%B: `%s' accessed both as normal and thread local symbol" msgstr "" -#: elf32-i386.c:1133 elf32-s390.c:1283 elf64-ppc.c:4734 elf64-s390.c:1248 -#: elf64-x86-64.c:913 +#: elf32-i386.c:1130 elf32-s390.c:1280 elf64-ppc.c:4731 elf64-s390.c:1245 +#: elf64-x86-64.c:910 msgid "%B: bad relocation section name `%s'" msgstr "" -#: elf32-i386.c:2152 +#: elf32-i386.c:2149 msgid "%B: unrecognized relocation (0x%x) in section `%A'" msgstr "" -#: elf32-i386.c:2412 +#: elf32-i386.c:2409 msgid "" "%B: relocation R_386_GOTOFF against protected function `%s' can not be used " "when making a shared object" @@ -1243,30 +1243,30 @@ msgstr "" msgid "SDA relocation when _SDA_BASE_ not defined" msgstr "" -#: elf32-m32r.c:3051 +#: elf32-m32r.c:3048 msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)" msgstr "" -#: elf32-m32r.c:3579 +#: elf32-m32r.c:3576 msgid "%B: Instruction set mismatch with previous modules" msgstr "" -#: elf32-m32r.c:3600 +#: elf32-m32r.c:3597 #, c-format msgid "private flags = %lx" msgstr "" -#: elf32-m32r.c:3605 +#: elf32-m32r.c:3602 #, c-format msgid ": m32r instructions" msgstr "" -#: elf32-m32r.c:3606 +#: elf32-m32r.c:3603 #, c-format msgid ": m32rx instructions" msgstr "" -#: elf32-m32r.c:3607 +#: elf32-m32r.c:3604 #, c-format msgid ": m32r2 instructions" msgstr "" @@ -1308,7 +1308,7 @@ msgstr "" msgid "%B: linking files compiled for HCS12 with others compiled for HC12" msgstr "" -#: elf32-m68hc1x.c:1313 elf32-ppc.c:3585 elf64-sparc.c:696 elfxx-mips.c:9896 +#: elf32-m68hc1x.c:1313 elf32-ppc.c:3576 elf64-sparc.c:696 elfxx-mips.c:9894 msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)" msgstr "" @@ -1421,48 +1421,48 @@ msgstr "" msgid "failed to install new APUinfo section." msgstr "" -#: elf32-ppc.c:2950 +#: elf32-ppc.c:2941 msgid "%B: relocation %s cannot be used when making a shared object" msgstr "" #. It does not make sense to have a procedure linkage #. table entry for a local symbol. -#: elf32-ppc.c:3220 +#: elf32-ppc.c:3211 msgid "%B(%A+0x%lx): %s reloc against local symbol" msgstr "" -#: elf32-ppc.c:3550 +#: elf32-ppc.c:3541 msgid "" "%B: compiled with -mrelocatable and linked with modules compiled normally" msgstr "" -#: elf32-ppc.c:3558 +#: elf32-ppc.c:3549 msgid "" "%B: compiled normally and linked with modules compiled with -mrelocatable" msgstr "" -#: elf32-ppc.c:5777 elf64-ppc.c:10189 +#: elf32-ppc.c:5768 elf64-ppc.c:10186 msgid "%B: unknown relocation type %d for symbol %s" msgstr "" -#: elf32-ppc.c:6027 +#: elf32-ppc.c:6018 msgid "%B(%A+0x%lx): non-zero addend on %s reloc against `%s'" msgstr "" -#: elf32-ppc.c:6374 elf32-ppc.c:6400 elf32-ppc.c:6459 +#: elf32-ppc.c:6365 elf32-ppc.c:6391 elf32-ppc.c:6450 msgid "" "%B: the target (%s) of a %s relocation is in the wrong output section (%s)" msgstr "" -#: elf32-ppc.c:6514 +#: elf32-ppc.c:6505 msgid "%B: relocation %s is not yet supported for symbol %s." msgstr "" -#: elf32-ppc.c:6619 elf64-ppc.c:10875 +#: elf32-ppc.c:6610 elf64-ppc.c:10872 msgid "%B(%A+0x%lx): %s reloc against `%s': error %d" msgstr "" -#: elf32-s390.c:2256 elf64-s390.c:2228 +#: elf32-s390.c:2253 elf64-s390.c:2225 msgid "%B(%A+0x%lx): invalid instruction for TLS relocation %s" msgstr "" @@ -1565,7 +1565,7 @@ msgstr "" msgid "%B: 0x%lx: fatal: R_SH_PSHL relocation %d not in range -32..32" msgstr "" -#: elf32-sh.c:6612 elf64-alpha.c:4466 +#: elf32-sh.c:6601 elf64-alpha.c:4466 msgid "%B: TLS local exec code cannot be linked into shared objects" msgstr "" @@ -1696,7 +1696,7 @@ msgstr "" msgid "%s: warning: %s relocation to 0x%x from %s section" msgstr "" -#: elf32-xstormy16.c:425 elf32-ia64.c:2558 elf64-ia64.c:2558 +#: elf32-xstormy16.c:425 elf32-ia64.c:2563 elf64-ia64.c:2563 msgid "non-zero addend in @fptr reloc" msgstr "" @@ -1864,67 +1864,67 @@ msgstr "" msgid "%B: compiled for a little endian system and target is big endian" msgstr "" -#: elf64-ppc.c:5710 +#: elf64-ppc.c:5707 #, c-format msgid "" "copy reloc against `%s' requires lazy plt linking; avoid setting " "LD_BIND_NOW=1 or upgrade gcc" msgstr "" -#: elf64-ppc.c:6158 +#: elf64-ppc.c:6155 msgid "dynreloc miscount for %B, section %A" msgstr "" -#: elf64-ppc.c:6260 +#: elf64-ppc.c:6257 msgid "%B: .opd is not a regular array of opd entries" msgstr "" -#: elf64-ppc.c:6269 +#: elf64-ppc.c:6266 msgid "%B: unexpected reloc type %u in .opd section" msgstr "" -#: elf64-ppc.c:6290 +#: elf64-ppc.c:6287 msgid "%B: undefined sym `%s' in .opd section" msgstr "" -#: elf64-ppc.c:6942 elf64-ppc.c:7321 +#: elf64-ppc.c:6939 elf64-ppc.c:7318 #, c-format msgid "%s defined in removed toc entry" msgstr "" -#: elf64-ppc.c:8044 +#: elf64-ppc.c:8041 #, c-format msgid "long branch stub `%s' offset overflow" msgstr "" -#: elf64-ppc.c:8119 +#: elf64-ppc.c:8116 #, c-format msgid "can't find branch stub `%s'" msgstr "" -#: elf64-ppc.c:8158 elf64-ppc.c:8234 +#: elf64-ppc.c:8155 elf64-ppc.c:8231 #, c-format msgid "linkage table error against `%s'" msgstr "" -#: elf64-ppc.c:8363 +#: elf64-ppc.c:8360 #, c-format msgid "can't build branch stub `%s'" msgstr "" -#: elf64-ppc.c:8787 +#: elf64-ppc.c:8784 msgid "%B section %A exceeds stub group size" msgstr "" -#: elf64-ppc.c:9298 +#: elf64-ppc.c:9295 msgid ".glink and .plt too far apart" msgstr "" -#: elf64-ppc.c:9411 +#: elf64-ppc.c:9408 msgid "stubs don't match calculated size" msgstr "" -#: elf64-ppc.c:9423 +#: elf64-ppc.c:9420 #, c-format msgid "" "linker stubs in %u group%s\n" @@ -1935,24 +1935,24 @@ msgid "" " plt call %lu" msgstr "" -#: elf64-ppc.c:10078 +#: elf64-ppc.c:10075 msgid "" "%B(%A+0x%lx): automatic multiple TOCs not supported using your crt files; " "recompile with -mminimal-toc or upgrade gcc" msgstr "" -#: elf64-ppc.c:10086 +#: elf64-ppc.c:10083 msgid "" "%B(%A+0x%lx): sibling call optimization to `%s' does not allow automatic " "multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, " "or make `%s' extern" msgstr "" -#: elf64-ppc.c:10730 +#: elf64-ppc.c:10727 msgid "%B: relocation %s is not supported for symbol %s." msgstr "" -#: elf64-ppc.c:10809 +#: elf64-ppc.c:10806 msgid "%B: error: relocation %s not a multiple of %d" msgstr "" @@ -1981,23 +1981,23 @@ msgstr "" msgid "%B: linking UltraSPARC specific with HAL specific code" msgstr "" -#: elf64-x86-64.c:695 elf64-x86-64.c:821 elf64-x86-64.c:2072 +#: elf64-x86-64.c:692 elf64-x86-64.c:818 elf64-x86-64.c:2069 msgid "" "%B: relocation %s against `%s' can not be used when making a shared object; " "recompile with -fPIC" msgstr "" -#: elf64-x86-64.c:763 +#: elf64-x86-64.c:760 msgid "%B: %s' accessed both as normal and thread local symbol" msgstr "" -#: elf64-x86-64.c:2003 +#: elf64-x86-64.c:2000 msgid "" "%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be " "used when making a shared object" msgstr "" -#: elf64-x86-64.c:2068 +#: elf64-x86-64.c:2065 msgid "" "%B: relocation R_X86_64_PC32 against protected function `%s' can not be used " "when making a shared object" @@ -2015,7 +2015,7 @@ msgstr "" msgid "%B: no group info for section %A" msgstr "" -#: elf.c:652 elf.c:3093 elflink.c:7588 +#: elf.c:652 elf.c:3091 elflink.c:7588 msgid "%B: warning: sh_link not set for section `%A'" msgstr "" @@ -2056,50 +2056,50 @@ msgstr "" msgid " required from %s:\n" msgstr "" -#: elf.c:1987 +#: elf.c:1985 msgid "%B: invalid link %lu for reloc section %s (index %u)" msgstr "" -#: elf.c:3064 +#: elf.c:3062 msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'" msgstr "" -#: elf.c:4072 +#: elf.c:4070 msgid "%B: Not enough room for program headers (allocated %u, need %u)" msgstr "" -#: elf.c:4175 +#: elf.c:4173 msgid "" "%B: The first section in the PT_DYNAMIC segment is not the .dynamic section" msgstr "" -#: elf.c:4219 +#: elf.c:4217 msgid "%B: Not enough room for program headers, try linking with -N" msgstr "" -#: elf.c:4310 +#: elf.c:4308 msgid "%B: section %A lma 0x%lx overlaps previous sections" msgstr "" -#: elf.c:4711 +#: elf.c:4709 msgid "%B: warning: allocated section `%s' not in segment" msgstr "" -#: elf.c:5004 +#: elf.c:5002 msgid "%B: symbol `%s' required but not present" msgstr "" -#: elf.c:5301 +#: elf.c:5299 msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n" msgstr "" -#: elf.c:5963 +#: elf.c:5961 #, c-format msgid "" "Unable to find equivalent output section for symbol '%s' from section '%s'" msgstr "" -#: elf.c:6919 +#: elf.c:6917 msgid "%B: unsupported relocation type %s" msgstr "" @@ -2281,141 +2281,141 @@ msgstr "" msgid "%B: CALL16 reloc at 0x%lx not against global symbol" msgstr "" -#: elfxx-mips.c:9382 +#: elfxx-mips.c:9380 #, c-format msgid "%s: illegal section name `%s'" msgstr "" -#: elfxx-mips.c:9721 +#: elfxx-mips.c:9719 msgid "%B: endianness incompatible with that of the selected emulation" msgstr "" -#: elfxx-mips.c:9733 +#: elfxx-mips.c:9731 msgid "%B: ABI is incompatible with that of the selected emulation" msgstr "" -#: elfxx-mips.c:9805 +#: elfxx-mips.c:9803 msgid "%B: warning: linking PIC files with non-PIC files" msgstr "" -#: elfxx-mips.c:9822 +#: elfxx-mips.c:9820 msgid "%B: linking 32-bit code with 64-bit code" msgstr "" -#: elfxx-mips.c:9850 +#: elfxx-mips.c:9848 msgid "%B: linking %s module with previous %s modules" msgstr "" -#: elfxx-mips.c:9873 +#: elfxx-mips.c:9871 msgid "%B: ABI mismatch: linking %s module with previous %s modules" msgstr "" -#: elfxx-mips.c:9938 +#: elfxx-mips.c:9936 #, c-format msgid " [abi=O32]" msgstr "" -#: elfxx-mips.c:9940 +#: elfxx-mips.c:9938 #, c-format msgid " [abi=O64]" msgstr "" -#: elfxx-mips.c:9942 +#: elfxx-mips.c:9940 #, c-format msgid " [abi=EABI32]" msgstr "" -#: elfxx-mips.c:9944 +#: elfxx-mips.c:9942 #, c-format msgid " [abi=EABI64]" msgstr "" -#: elfxx-mips.c:9946 +#: elfxx-mips.c:9944 #, c-format msgid " [abi unknown]" msgstr "" -#: elfxx-mips.c:9948 +#: elfxx-mips.c:9946 #, c-format msgid " [abi=N32]" msgstr "" -#: elfxx-mips.c:9950 +#: elfxx-mips.c:9948 #, c-format msgid " [abi=64]" msgstr "" -#: elfxx-mips.c:9952 +#: elfxx-mips.c:9950 #, c-format msgid " [no abi set]" msgstr "" -#: elfxx-mips.c:9955 +#: elfxx-mips.c:9953 #, c-format msgid " [mips1]" msgstr "" -#: elfxx-mips.c:9957 +#: elfxx-mips.c:9955 #, c-format msgid " [mips2]" msgstr "" -#: elfxx-mips.c:9959 +#: elfxx-mips.c:9957 #, c-format msgid " [mips3]" msgstr "" -#: elfxx-mips.c:9961 +#: elfxx-mips.c:9959 #, c-format msgid " [mips4]" msgstr "" -#: elfxx-mips.c:9963 +#: elfxx-mips.c:9961 #, c-format msgid " [mips5]" msgstr "" -#: elfxx-mips.c:9965 +#: elfxx-mips.c:9963 #, c-format msgid " [mips32]" msgstr "" -#: elfxx-mips.c:9967 +#: elfxx-mips.c:9965 #, c-format msgid " [mips64]" msgstr "" -#: elfxx-mips.c:9969 +#: elfxx-mips.c:9967 #, c-format msgid " [mips32r2]" msgstr "" -#: elfxx-mips.c:9971 +#: elfxx-mips.c:9969 #, c-format msgid " [mips64r2]" msgstr "" -#: elfxx-mips.c:9973 +#: elfxx-mips.c:9971 #, c-format msgid " [unknown ISA]" msgstr "" -#: elfxx-mips.c:9976 +#: elfxx-mips.c:9974 #, c-format msgid " [mdmx]" msgstr "" -#: elfxx-mips.c:9979 +#: elfxx-mips.c:9977 #, c-format msgid " [mips16]" msgstr "" -#: elfxx-mips.c:9982 +#: elfxx-mips.c:9980 #, c-format msgid " [32bitmode]" msgstr "" -#: elfxx-mips.c:9984 +#: elfxx-mips.c:9982 #, c-format msgid " [not 32bitmode]" msgstr "" @@ -2425,7 +2425,7 @@ msgstr "" msgid "invalid relocation type %d" msgstr "" -#: elfxx-sparc.c:2786 +#: elfxx-sparc.c:2783 msgid "%B: probably compiled without -fPIC?" msgstr "" @@ -3067,71 +3067,71 @@ msgid "" "branch." msgstr "" -#: elf32-ia64.c:2503 elf64-ia64.c:2503 +#: elf32-ia64.c:2508 elf64-ia64.c:2508 msgid "@pltoff reloc against local symbol" msgstr "" -#: elf32-ia64.c:3950 elf64-ia64.c:3950 +#: elf32-ia64.c:3955 elf64-ia64.c:3955 #, c-format msgid "%s: short data segment overflowed (0x%lx >= 0x400000)" msgstr "" -#: elf32-ia64.c:3961 elf64-ia64.c:3961 +#: elf32-ia64.c:3966 elf64-ia64.c:3966 #, c-format msgid "%s: __gp does not cover short data segment" msgstr "" -#: elf32-ia64.c:4208 elf64-ia64.c:4208 +#: elf32-ia64.c:4213 elf64-ia64.c:4213 msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'" msgstr "" -#: elf32-ia64.c:4275 elf64-ia64.c:4275 +#: elf32-ia64.c:4280 elf64-ia64.c:4280 msgid "%B: @gprel relocation against dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4338 elf64-ia64.c:4338 +#: elf32-ia64.c:4343 elf64-ia64.c:4343 msgid "%B: linking non-pic code in a position independent executable" msgstr "" -#: elf32-ia64.c:4475 elf64-ia64.c:4475 +#: elf32-ia64.c:4480 elf64-ia64.c:4480 msgid "%B: @internal branch to dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4477 elf64-ia64.c:4477 +#: elf32-ia64.c:4482 elf64-ia64.c:4482 msgid "%B: speculation fixup to dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4479 elf64-ia64.c:4479 +#: elf32-ia64.c:4484 elf64-ia64.c:4484 msgid "%B: @pcrel relocation against dynamic symbol %s" msgstr "" -#: elf32-ia64.c:4686 elf64-ia64.c:4686 +#: elf32-ia64.c:4691 elf64-ia64.c:4691 msgid "unsupported reloc" msgstr "" -#: elf32-ia64.c:4719 elf64-ia64.c:4719 +#: elf32-ia64.c:4724 elf64-ia64.c:4724 msgid "" "%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> " "0x1000000)." msgstr "" -#: elf32-ia64.c:4980 elf64-ia64.c:4980 +#: elf32-ia64.c:4985 elf64-ia64.c:4985 msgid "%B: linking trap-on-NULL-dereference with non-trapping files" msgstr "" -#: elf32-ia64.c:4989 elf64-ia64.c:4989 +#: elf32-ia64.c:4994 elf64-ia64.c:4994 msgid "%B: linking big-endian files with little-endian files" msgstr "" -#: elf32-ia64.c:4998 elf64-ia64.c:4998 +#: elf32-ia64.c:5003 elf64-ia64.c:5003 msgid "%B: linking 64-bit files with 32-bit files" msgstr "" -#: elf32-ia64.c:5007 elf64-ia64.c:5007 +#: elf32-ia64.c:5012 elf64-ia64.c:5012 msgid "%B: linking constant-gp files with non-constant-gp files" msgstr "" -#: elf32-ia64.c:5017 elf64-ia64.c:5017 +#: elf32-ia64.c:5022 elf64-ia64.c:5022 msgid "%B: linking auto-pic files with non-auto-pic files" msgstr "" -- 2.30.2