diff options
59 files changed, 128 insertions, 62 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 8b3f1a5..532ba0c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,62 @@ 2017-05-16 Alan Modra <amodra@gmail.com> + * elf-m10300.c: Rename occurrences of non_ir_ref. + * elf32-arm.c: Likewise. + * elf32-bfin.c: Likewise. + * elf32-cr16.c: Likewise. + * elf32-cris.c: Likewise. + * elf32-d10v.c: Likewise. + * elf32-dlx.c: Likewise. + * elf32-fr30.c: Likewise. + * elf32-frv.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-i370.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-iq2000.c: Likewise. + * elf32-lm32.c: Likewise. + * elf32-m32c.c: Likewise. + * elf32-m32r.c: Likewise. + * elf32-m68hc1x.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-mcore.c: Likewise. + * elf32-metag.c: Likewise. + * elf32-microblaze.c: Likewise. + * elf32-moxie.c: Likewise. + * elf32-msp430.c: Likewise. + * elf32-mt.c: Likewise. + * elf32-nios2.c: Likewise. + * elf32-or1k.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-rl78.c: Likewise. + * elf32-s390.c: Likewise. + * elf32-score.c: Likewise. + * elf32-score7.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-tic6x.c: Likewise. + * elf32-tilepro.c: Likewise. + * elf32-v850.c: Likewise. + * elf32-vax.c: Likewise. + * elf32-xstormy16.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-ia64-vms.c: Likewise. + * elf64-mmix.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-s390.c: Likewise. + * elf64-sh64.c: Likewise. + * elf64-x86-64.c: Likewise. + * elflink.c: Likewise. + * elfnn-aarch64.c: Likewise. + * elfnn-ia64.c: Likewise. + * elfnn-riscv.c: Likewise. + * elfxx-mips.c: Likewise. + * elfxx-sparc.c: Likewise. + * elfxx-tilegx.c: Likewise. + * linker.c: Likewise. + +2017-05-16 Alan Modra <amodra@gmail.com> + * elf64-ppc.c (add_symbol_adjust): Transfer non_ir_ref_dynamic. * elflink.c (elf_link_add_object_symbols): Update to use non_ir_ref_dynamic. diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c index f9d8089..b0a783a 100644 --- a/bfd/elf-m10300.c +++ b/bfd/elf-m10300.c @@ -1094,7 +1094,7 @@ mn10300_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } r_type = ELF32_R_TYPE (rel->r_info); diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 23a02c0..1725c22 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -14556,7 +14556,7 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } } diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c index ff1bcc6..b21a146 100644 --- a/bfd/elf32-bfin.c +++ b/bfd/elf32-bfin.c @@ -1191,7 +1191,7 @@ bfin_check_relocs (bfd * abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-cr16.c b/bfd/elf32-cr16.c index 92aa0c8..c36388e 100644 --- a/bfd/elf32-cr16.c +++ b/bfd/elf32-cr16.c @@ -738,7 +738,7 @@ cr16_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } /* Some relocs require a global offset table. */ diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c index d4bbceb..83c4101 100644 --- a/bfd/elf32-cris.c +++ b/bfd/elf32-cris.c @@ -3178,7 +3178,7 @@ cris_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } r_type = ELF32_R_TYPE (rel->r_info); diff --git a/bfd/elf32-d10v.c b/bfd/elf32-d10v.c index 6b6fb34..d284d4f 100644 --- a/bfd/elf32-d10v.c +++ b/bfd/elf32-d10v.c @@ -294,7 +294,7 @@ elf32_d10v_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-dlx.c b/bfd/elf32-dlx.c index 965d866..b12d24a 100644 --- a/bfd/elf32-dlx.c +++ b/bfd/elf32-dlx.c @@ -454,7 +454,7 @@ elf32_dlx_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-fr30.c b/bfd/elf32-fr30.c index f668074..94070d8 100644 --- a/bfd/elf32-fr30.c +++ b/bfd/elf32-fr30.c @@ -673,7 +673,7 @@ fr30_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c index d4b7727..ef609ff 100644 --- a/bfd/elf32-frv.c +++ b/bfd/elf32-frv.c @@ -6041,7 +6041,7 @@ elf32_frv_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 1deebf4..0087c71 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -1171,7 +1171,7 @@ elf32_hppa_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - hh->eh.root.non_ir_ref = 1; + hh->eh.root.non_ir_ref_regular = 1; } r_type = ELF32_R_TYPE (rela->r_info); diff --git a/bfd/elf32-i370.c b/bfd/elf32-i370.c index f8e825f..4c40b79 100644 --- a/bfd/elf32-i370.c +++ b/bfd/elf32-i370.c @@ -839,7 +839,7 @@ i370_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } if (bfd_link_pic (info)) diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 513e296..1fdc06c 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -1971,7 +1971,7 @@ elf_i386_check_relocs (bfd *abfd, /* It is referenced by a non-shared object. */ h->ref_regular = 1; - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; if (h->type == STT_GNU_IFUNC) elf_tdata (info->output_bfd)->has_gnu_symbols diff --git a/bfd/elf32-iq2000.c b/bfd/elf32-iq2000.c index 1f88726..c17097d 100644 --- a/bfd/elf32-iq2000.c +++ b/bfd/elf32-iq2000.c @@ -486,7 +486,7 @@ iq2000_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-lm32.c b/bfd/elf32-lm32.c index a6fafef..aabf49f 100644 --- a/bfd/elf32-lm32.c +++ b/bfd/elf32-lm32.c @@ -1272,7 +1272,7 @@ lm32_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } /* Some relocs require a global offset table. */ diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c index 0ee67b7..9658d17 100644 --- a/bfd/elf32-m32c.c +++ b/bfd/elf32-m32c.c @@ -689,7 +689,7 @@ m32c_elf_check_relocs /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c index 7ecf95f..9040823 100644 --- a/bfd/elf32-m32r.c +++ b/bfd/elf32-m32r.c @@ -3706,7 +3706,7 @@ m32r_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } /* Some relocs require a global offset table. */ diff --git a/bfd/elf32-m68hc1x.c b/bfd/elf32-m68hc1x.c index 86e52d8..96fc96f 100644 --- a/bfd/elf32-m68hc1x.c +++ b/bfd/elf32-m68hc1x.c @@ -879,7 +879,7 @@ elf32_m68hc11_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c index 20e6362..932d8ff 100644 --- a/bfd/elf32-m68k.c +++ b/bfd/elf32-m68k.c @@ -2590,7 +2590,7 @@ elf_m68k_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-mcore.c b/bfd/elf32-mcore.c index 79c0da6..0037129 100644 --- a/bfd/elf32-mcore.c +++ b/bfd/elf32-mcore.c @@ -629,7 +629,7 @@ mcore_elf_check_relocs (bfd * abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-metag.c b/bfd/elf32-metag.c index c45d719..94eda953 100644 --- a/bfd/elf32-metag.c +++ b/bfd/elf32-metag.c @@ -2132,7 +2132,7 @@ elf_metag_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - hh->eh.root.non_ir_ref = 1; + hh->eh.root.non_ir_ref_regular = 1; } /* Some relocs require a global offset table. */ diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c index f2796b4..2657736 100644 --- a/bfd/elf32-microblaze.c +++ b/bfd/elf32-microblaze.c @@ -2315,7 +2315,7 @@ microblaze_elf_check_relocs (bfd * abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (r_type) diff --git a/bfd/elf32-moxie.c b/bfd/elf32-moxie.c index fde9b64..f955096 100644 --- a/bfd/elf32-moxie.c +++ b/bfd/elf32-moxie.c @@ -359,7 +359,7 @@ moxie_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } } diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c index 25bbdc8..9fae015 100644 --- a/bfd/elf32-msp430.c +++ b/bfd/elf32-msp430.c @@ -698,7 +698,7 @@ elf32_msp430_check_relocs (bfd * abfd, struct bfd_link_info * info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } } diff --git a/bfd/elf32-mt.c b/bfd/elf32-mt.c index 9e58a7f..db89f8c 100644 --- a/bfd/elf32-mt.c +++ b/bfd/elf32-mt.c @@ -458,7 +458,7 @@ mt_elf_check_relocs /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } } diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c index a2045bf..50a09ea 100644 --- a/bfd/elf32-nios2.c +++ b/bfd/elf32-nios2.c @@ -4734,7 +4734,7 @@ nios2_elf32_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } r_type = ELF32_R_TYPE (rel->r_info); diff --git a/bfd/elf32-or1k.c b/bfd/elf32-or1k.c index 224cbb8..583f2d4 100644 --- a/bfd/elf32-or1k.c +++ b/bfd/elf32-or1k.c @@ -1404,7 +1404,7 @@ or1k_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 7a46233..a4814fc 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -4055,7 +4055,7 @@ ppc_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } /* If a relocation refers to _GLOBAL_OFFSET_TABLE_, create the .got. diff --git a/bfd/elf32-rl78.c b/bfd/elf32-rl78.c index 0326445..bc1f3c7 100644 --- a/bfd/elf32-rl78.c +++ b/bfd/elf32-rl78.c @@ -1328,7 +1328,7 @@ rl78_elf_check_relocs /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c index 8a09a31..fc4992e 100644 --- a/bfd/elf32-s390.c +++ b/bfd/elf32-s390.c @@ -996,7 +996,7 @@ elf_s390_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } /* Create got section and local_got_refcounts array if they diff --git a/bfd/elf32-score.c b/bfd/elf32-score.c index 98856e8..4468276 100644 --- a/bfd/elf32-score.c +++ b/bfd/elf32-score.c @@ -2842,7 +2842,7 @@ s3_bfd_score_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } } diff --git a/bfd/elf32-score7.c b/bfd/elf32-score7.c index 2698c10..abf9b32 100644 --- a/bfd/elf32-score7.c +++ b/bfd/elf32-score7.c @@ -2651,7 +2651,7 @@ s7_bfd_score_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } } diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c index 3c30032..3b1cc67 100644 --- a/bfd/elf32-sh.c +++ b/bfd/elf32-sh.c @@ -5823,7 +5823,7 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } r_type = sh_elf_optimized_tls_reloc (info, r_type, h == NULL); diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c index f65e24f..e2a2961 100644 --- a/bfd/elf32-tic6x.c +++ b/bfd/elf32-tic6x.c @@ -2835,7 +2835,7 @@ elf32_tic6x_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (r_type) diff --git a/bfd/elf32-tilepro.c b/bfd/elf32-tilepro.c index fb06a47..63d0cbe 100644 --- a/bfd/elf32-tilepro.c +++ b/bfd/elf32-tilepro.c @@ -1504,7 +1504,7 @@ tilepro_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } r_type = tilepro_elf_tls_transition (info, r_type, h == NULL); diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c index 823ba98..0e9ed5f 100644 --- a/bfd/elf32-v850.c +++ b/bfd/elf32-v850.c @@ -86,7 +86,7 @@ v850_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } r_type = ELF32_R_TYPE (rel->r_info); diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c index 0e4d2e4..367e415 100644 --- a/bfd/elf32-vax.c +++ b/bfd/elf32-vax.c @@ -591,7 +591,7 @@ elf_vax_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-xstormy16.c b/bfd/elf32-xstormy16.c index af4175c..d6aab8f 100644 --- a/bfd/elf32-xstormy16.c +++ b/bfd/elf32-xstormy16.c @@ -438,7 +438,7 @@ xstormy16_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c index 80f50e3..d11d43b 100644 --- a/bfd/elf32-xtensa.c +++ b/bfd/elf32-xtensa.c @@ -1015,7 +1015,7 @@ elf_xtensa_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } eh = elf_xtensa_hash_entry (h); diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index 43c6ed8..ada26f5 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -1838,7 +1838,7 @@ elf64_alpha_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.root.non_ir_ref = 1; + h->root.root.non_ir_ref_regular = 1; h->root.ref_regular = 1; } diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c index 96e03ba..834855a 100644 --- a/bfd/elf64-hppa.c +++ b/bfd/elf64-hppa.c @@ -644,7 +644,7 @@ elf64_hppa_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - hh->eh.root.non_ir_ref = 1; + hh->eh.root.non_ir_ref_regular = 1; hh->eh.ref_regular = 1; } else diff --git a/bfd/elf64-ia64-vms.c b/bfd/elf64-ia64-vms.c index 5dd83a3..4dff255 100644 --- a/bfd/elf64-ia64-vms.c +++ b/bfd/elf64-ia64-vms.c @@ -2099,7 +2099,7 @@ elf64_ia64_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; h->ref_regular = 1; } else diff --git a/bfd/elf64-mmix.c b/bfd/elf64-mmix.c index 2ebe0aa..b4ff5a3 100644 --- a/bfd/elf64-mmix.c +++ b/bfd/elf64-mmix.c @@ -2018,7 +2018,7 @@ mmix_elf_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (ELF64_R_TYPE (rel->r_info)) diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index a2cc373..948de12 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -5118,7 +5118,7 @@ add_symbol_adjust (struct ppc_link_hash_entry *eh, struct bfd_link_info *info) /* Propagate reference flags from entry symbol to function descriptor symbol. */ - fdh->elf.root.non_ir_ref |= eh->elf.root.non_ir_ref; + fdh->elf.root.non_ir_ref_regular |= eh->elf.root.non_ir_ref_regular; fdh->elf.root.non_ir_ref_dynamic |= eh->elf.root.non_ir_ref_dynamic; fdh->elf.ref_regular |= eh->elf.ref_regular; fdh->elf.ref_regular_nonweak |= eh->elf.ref_regular_nonweak; @@ -5423,9 +5423,9 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; if (eh->is_func && eh->oh != NULL) - eh->oh->elf.root.non_ir_ref = 1; + eh->oh->elf.root.non_ir_ref_regular = 1; if (h == htab->elf.hgot) sec->has_toc_reloc = 1; diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index ca3541f..b1f5b89 100644 --- a/bfd/elf64-s390.c +++ b/bfd/elf64-s390.c @@ -911,7 +911,7 @@ elf_s390_check_relocs (bfd *abfd, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } /* Create got section and local_got_refcounts array if they diff --git a/bfd/elf64-sh64.c b/bfd/elf64-sh64.c index e38333d..bc8e9e1 100644 --- a/bfd/elf64-sh64.c +++ b/bfd/elf64-sh64.c @@ -2384,7 +2384,7 @@ sh_elf64_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } /* Some relocs require a global offset table. */ diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 1b93379..00cf70a 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -2336,7 +2336,7 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, { /* It is referenced by a non-shared object. */ h->ref_regular = 1; - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; if (h->type == STT_GNU_IFUNC) elf_tdata (info->output_bfd)->has_gnu_symbols diff --git a/bfd/elflink.c b/bfd/elflink.c index 8eaf533..60e0a32 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -10472,7 +10472,7 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd) linker may attach linker created dynamic sections to the plugin bfd. Symbols defined in linker created sections are not plugin symbols. */ - if ((h->root.non_ir_ref + if ((h->root.non_ir_ref_regular || h->root.non_ir_ref_dynamic) && (h->root.type == bfd_link_hash_defined || h->root.type == bfd_link_hash_defweak) diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index 00f19e9..aaa7748 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -7135,7 +7135,7 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } /* Could be done earlier, if h were already available. */ @@ -7191,7 +7191,7 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info, /* It is referenced by a non-shared object. */ h->ref_regular = 1; - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (bfd_r_type) diff --git a/bfd/elfnn-ia64.c b/bfd/elfnn-ia64.c index e5ba8f2..7f90c93 100644 --- a/bfd/elfnn-ia64.c +++ b/bfd/elfnn-ia64.c @@ -2359,7 +2359,7 @@ elfNN_ia64_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; h->ref_regular = 1; } else diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c index 38f12d0..5a0fae1 100644 --- a/bfd/elfnn-riscv.c +++ b/bfd/elfnn-riscv.c @@ -539,7 +539,7 @@ riscv_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } switch (r_type) diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 61e1adb..cbf39c0 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -8393,7 +8393,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } } diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c index c978aad..185a8c1 100644 --- a/bfd/elfxx-sparc.c +++ b/bfd/elfxx-sparc.c @@ -1477,7 +1477,7 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } if (h && h->type == STT_GNU_IFUNC) diff --git a/bfd/elfxx-tilegx.c b/bfd/elfxx-tilegx.c index 76dfcd8..95c9a15 100644 --- a/bfd/elfxx-tilegx.c +++ b/bfd/elfxx-tilegx.c @@ -1721,7 +1721,7 @@ tilegx_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, /* PR15323, ref flags aren't set for references in the same object. */ - h->root.non_ir_ref = 1; + h->root.non_ir_ref_regular = 1; } r_type = tilegx_elf_tls_transition (info, r_type, h == NULL, diff --git a/bfd/linker.c b/bfd/linker.c index 1f493a3..9861259 100644 --- a/bfd/linker.c +++ b/bfd/linker.c @@ -1735,7 +1735,7 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info, otherwise add a warning. */ if ((!info->lto_plugin_active && (h->u.undef.next != NULL || info->hash->undefs_tail == h)) - || h->non_ir_ref + || h->non_ir_ref_regular || h->non_ir_ref_dynamic) { (*info->callbacks->warning) (info, string, h->root.string, diff --git a/include/ChangeLog b/include/ChangeLog index 8425760..9383cc4 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,5 +1,10 @@ 2017-05-16 Alan Modra <amodra@gmail.com> + * bfdlink.h (struct bfd_link_hash_entry <non_ir_ref>): Rename to + non_ir_ref_regular. + +2017-05-16 Alan Modra <amodra@gmail.com> + * bfdlink.h (struct bfd_link_hash_entry): Update non_ir_ref comment. Rename dynamic_ref_after_ir_def to non_ir_ref_dynamic. diff --git a/include/bfdlink.h b/include/bfdlink.h index 41f5338..371822c 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -102,7 +102,7 @@ struct bfd_link_hash_entry /* Symbol is referenced in a normal regular object file, as distinct from a LTO IR object file. */ - unsigned int non_ir_ref : 1; + unsigned int non_ir_ref_regular : 1; /* Symbol is referenced in a normal dynamic object file, as distinct from a LTO IR object file. */ diff --git a/ld/ChangeLog b/ld/ChangeLog index 9fdd758..a1df77a 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,9 @@ 2017-05-16 Alan Modra <amodra@gmail.com> + * plugin.c: Rename occurrences of non_ir_ref. + +2017-05-16 Alan Modra <amodra@gmail.com> + * plugin.c (is_visible_from_outside): Use non_ir_ref_dynamic. (plugin_notice): Set non_ir_ref for references from regular objects, non_ir_ref_dynamic for references from dynamic objects. diff --git a/ld/plugin.c b/ld/plugin.c index 087cedc..9abeaf0 100644 --- a/ld/plugin.c +++ b/ld/plugin.c @@ -774,7 +774,7 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms, even potentially-referenced, perhaps in a future final link if this is a partial one, perhaps dynamically at load-time if the symbol is externally visible. */ - if (blhe->non_ir_ref) + if (blhe->non_ir_ref_regular) res = LDPR_PREVAILING_DEF; else if (is_visible_from_outside (&syms[n], blhe)) res = def_ironly_exp; @@ -1266,7 +1266,7 @@ plugin_call_cleanup (void) /* To determine which symbols should be resolved LDPR_PREVAILING_DEF and which LDPR_PREVAILING_DEF_IRONLY, we notice all the symbols as the linker adds them to the linker hash table. Mark those - referenced from a non-IR file with non_ir_ref or + referenced from a non-IR file with non_ir_ref_regular or non_ir_ref_dynamic as appropriate. We have to notice_all symbols, because we won't necessarily know until later which ones will be contributed by IR files. */ @@ -1304,7 +1304,7 @@ plugin_notice (struct bfd_link_info *info, || inh->type == bfd_link_hash_new) { if ((abfd->flags & DYNAMIC) == 0) - inh->non_ir_ref = TRUE; + inh->non_ir_ref_regular = TRUE; else inh->non_ir_ref_dynamic = TRUE; } @@ -1362,7 +1362,7 @@ plugin_notice (struct bfd_link_info *info, if (ref) { if ((abfd->flags & DYNAMIC) == 0) - h->non_ir_ref = TRUE; + h->non_ir_ref_regular = TRUE; else h->non_ir_ref_dynamic = TRUE; } |