From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14548 invoked by alias); 4 Apr 2013 17:08:07 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 14529 invoked by uid 9364); 4 Apr 2013 17:08:06 -0000 Date: Thu, 04 Apr 2013 17:08:00 -0000 Message-ID: <20130404170806.14433.qmail@sourceware.org> From: gary@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] gbenson/rtld-probes: http://pkgs.fedoraproject.org/cgit/gdb.git/plain/gdb-dlopen-stap-probe-inhibit.patch?h=f18 (RHBZ 911712) X-Git-Refname: refs/heads/gbenson/rtld-probes X-Git-Reftype: branch X-Git-Oldrev: be2a06f6c211defe939b24a6d8648ba678b34c36 X-Git-Newrev: 732b63ff72c827bf5554b1ea5bc579a9405f5a4b X-SW-Source: 2013-q2/txt/msg00004.txt.bz2 List-Id: The branch, gbenson/rtld-probes has been updated via 732b63ff72c827bf5554b1ea5bc579a9405f5a4b (commit) via 5a6ca172a6b94c2f41482ea57dfc3868b63b3c41 (commit) via 871d76f17d4bcd93091c4203af28dc9c096d8abd (commit) via 443a6353c89a7f4aeaab7466929f8084b3d1b14b (commit) via a2c0323a2aaa911c3f6ff83ec79bd12e8f911e3a (commit) via 9e804a6dbdda1b9f7d4df77863222d6a0a0a0155 (commit) via e88e2dd9eb982a0c4291717ba6b81819bbfb168b (commit) via 7ff4a059e681241ecdda3b0a1450bfeef889f13c (commit) via d6cc6800612b4117f54756e4d5eac728def2bf26 (commit) via 27bdd355796758e81d43f4cd20ecc6712bfa0402 (commit) via 41c04933225dc7c247ee408ce480f244cc8f5757 (commit) via 41df4d44de4daadaddecac7269bab5a21e03c524 (commit) via fc3a9b20804d763b71524e66e3908c631862d8b7 (commit) via 35b8b551d217d3ee4af7711cfa9a1bce6c8817df (commit) via 03f93a192577b51399c08a0a55cbb572d7b434c6 (commit) via 66e7a4aacb8d043f7cdd06570310771234794704 (commit) via bbe463b1028d93bc13fe25690f49f4e9883f9b4a (commit) via e36ce674726ad929c0ca19c64638410763721f90 (commit) via 8365ea4b9616d0d315bb29db42ac52cf9de6bb0f (commit) via 0666c31aeb21d0b9529e80d0fc15aadb826215ca (commit) via 1c629fe0eed5d3e4600680bed64f65e61756485f (commit) via a99f51c0fa659b4f38f12629d8496159f41432d9 (commit) via 53a0055fe28139eef927892739fdddd2429f5b9d (commit) via d2c197313a0deae442c82411a5a8a96d6275c9f9 (commit) via f14c4191dd9a911ebe3ea38226e520b3d56faae3 (commit) via 697b258f3efaedff028acc1666d85815cb9992f7 (commit) via 0e03af0b3d2c1b5a7dc1221ce7faaedb5d74b661 (commit) via e208dc684db1f93757ac121b34cad674a1bdb0ac (commit) via fc5614933398444e17750828f26d8fec0e19cfc6 (commit) via 1a0cbf6a950399c9be396743effc2404829b2c35 (commit) via bd8fd7b1a8cbb4719c183f1f2ad4d3d3fe6f5951 (commit) via dc0a67a97aa8fdfffeeb359479399839ca01f66f (commit) via d25b4446a3b22bcc5ee22538110d9f757c9ea357 (commit) via 72c65c04409a5d56fca71a7cff99f3be3bfda4b7 (commit) via 13927d4d6c57e85b4b8b7857841d2732725e0f31 (commit) via ddbe4ab3e82af4c6428c6e51d0ad87e9a0cd5725 (commit) via 726511398209b80fff22e2faf2919c9d986a488b (commit) via 247bc0e2ba807d03e92efae4bda12a0f0bbe1d49 (commit) via baca768db0617f13b0c0fb2ae8708c9ba1db75eb (commit) via 0b2e20369678b2abe472bfbd4aa6e2e46b8c9f9f (commit) via eecd1738518f4743b077307b4ee1a0074f68b3c8 (commit) via 25442e5d273c6a5d4f377f76bbe59818d10a42c2 (commit) via c806ceee16e60ca66c913b5aab75465e7aa2353b (commit) via 8f769923bc4fbed4505cd8f95a12f18bfac1ab1d (commit) via 5551633e4eb834bbbeca0d5aed10f06fbb760ef8 (commit) via 701c95b4752dbb1b4274802614e4ea2f97b3cbb9 (commit) via b4ee248cdfba33a2cba64fb69b2c6a648be263d1 (commit) via aaa84d8871b7689d7e5645d6cc38b23f38da3e3a (commit) via 1b76ca4e895073686a1b31a843d1ba9ea53d135d (commit) via 5d24fb4bf68a5a73461b907ebf9bad9e23bf3a96 (commit) via 44ed4ae0cf0931d8fbecb54c2a86ae90d3ea8f36 (commit) via faf3483c1c5635d0b472c324727f397c61048177 (commit) via 9516b7a27cedfe824ae545c0161b21de45f9c9fb (commit) via d5b583e5512d6f0a143a21c385d9d8d08e0d5079 (commit) via e910d5726b76ab0fae4495cd5f33e7060590959e (commit) via 3e604179f7b76e194ea7a79431dddef0e97bbbe9 (commit) via 96c6499e6b3dde9651f70ea25cd354af99a80e0e (commit) via 1e0435b3cbc08fc411e0a9e1f5c1ee53151949d3 (commit) via fc04c708f7c1c4375875f8e06a5631b82b5af8e4 (commit) via cda9acf77fb97221988b2f83187d9b0a2dc2d607 (commit) via a02b304ffa088189966503bbcdf62e0bf818cd68 (commit) via 948bd7ac017364916424806e5cd39d211affe407 (commit) via e6c081ab2f37103e33d261618ab01650a55d9ae0 (commit) via 19a4647775865fa080f1ed49a0c8808bb3cd0a95 (commit) via 4eda3517ffa9b4e851b9d0dcbb25d6bfcc51a27c (commit) via 65e40143146022fd4108a157f530621485cb7579 (commit) via eb5054e1dfa1e34230d869ab8cb03b8aa7688352 (commit) via 7eb9f7cdf7c1709fd10ff1f3a82024a9057c9064 (commit) from be2a06f6c211defe939b24a6d8648ba678b34c36 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 732b63ff72c827bf5554b1ea5bc579a9405f5a4b Author: Gary Benson Date: Thu Apr 4 16:55:07 2013 +0100 http://pkgs.fedoraproject.org/cgit/gdb.git/plain/gdb-dlopen-stap-probe-inhibit.patch?h=f18 (RHBZ 911712) commit 5a6ca172a6b94c2f41482ea57dfc3868b63b3c41 Merge: be2a06f 871d76f Author: Gary Benson Date: Thu Apr 4 11:20:33 2013 +0100 Merge branch 'master' of git://sourceware.org/git/gdb into gbenson/rtld-probes ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 83 ++ bfd/elf-m10300.c | 4 + bfd/elf32-arm.c | 4 + bfd/elf32-bfin.c | 8 +- bfd/elf32-cr16.c | 4 + bfd/elf32-cris.c | 4 + bfd/elf32-d10v.c | 4 + bfd/elf32-dlx.c | 4 + bfd/elf32-fr30.c | 4 + bfd/elf32-frv.c | 4 + bfd/elf32-hppa.c | 4 + bfd/elf32-i370.c | 4 + bfd/elf32-i386.c | 3 +- bfd/elf32-iq2000.c | 4 + bfd/elf32-lm32.c | 4 + bfd/elf32-m32c.c | 4 + bfd/elf32-m32r.c | 4 + bfd/elf32-m68hc1x.c | 4 + bfd/elf32-m68k.c | 4 + bfd/elf32-mcore.c | 4 + bfd/elf32-metag.c | 4 + bfd/elf32-microblaze.c | 8 +- bfd/elf32-moxie.c | 4 + bfd/elf32-msp430.c | 4 + bfd/elf32-mt.c | 4 + bfd/elf32-nios2.c | 4 + bfd/elf32-openrisc.c | 4 + bfd/elf32-ppc.c | 4 + bfd/elf32-rl78.c | 16 +- bfd/elf32-s390.c | 4 + bfd/elf32-score.c | 4 + bfd/elf32-score7.c | 4 + bfd/elf32-sh.c | 12 +- bfd/elf32-tic6x.c | 4 + bfd/elf32-tilepro.c | 4 + bfd/elf32-v850.c | 12 + bfd/elf32-vax.c | 4 + bfd/elf32-xstormy16.c | 4 + bfd/elf32-xtensa.c | 4 + bfd/elf64-aarch64.c | 23 +- bfd/elf64-alpha.c | 3 + bfd/elf64-hppa.c | 3 + bfd/elf64-ia64-vms.c | 3 + bfd/elf64-mmix.c | 4 + bfd/elf64-ppc.c | 4 + bfd/elf64-s390.c | 4 + bfd/elf64-sh64.c | 4 + bfd/elf64-x86-64.c | 3 +- bfd/elfnn-ia64.c | 3 + bfd/elfxx-mips.c | 14 +- bfd/elfxx-sparc.c | 4 + bfd/elfxx-tilegx.c | 4 + bfd/version.h | 2 +- gdb/ChangeLog | 210 ++++ gdb/Makefile.in | 6 +- gdb/NEWS | 49 +- gdb/breakpoint.c | 8 - gdb/buildsym.c | 1 - gdb/coff-pe-read.c | 15 +- gdb/coffread.c | 43 + gdb/corelow.c | 3 +- gdb/doc/ChangeLog | 21 + gdb/doc/gdb.texinfo | 44 +- gdb/dwarf2read.c | 1288 ++++++++++++--------- gdb/exec.c | 2 +- gdb/objfiles.c | 28 +- gdb/ppc-sysv-tdep.c | 196 ++-- gdb/psymtab.c | 6 +- gdb/python/python.c | 8 +- gdb/remote.c | 47 +- gdb/symfile.c | 6 +- gdb/target.c | 22 +- gdb/target.h | 4 + gdb/testsuite/ChangeLog | 40 + gdb/testsuite/gdb.ada/win_fu_syms.exp | 35 + gdb/testsuite/gdb.ada/win_fu_syms/foo.adb | 23 + gdb/testsuite/gdb.ada/win_fu_syms/pck.adb | 21 + gdb/testsuite/gdb.ada/win_fu_syms/pck.ads | 19 + gdb/testsuite/gdb.base/completion.exp | 7 + gdb/testsuite/gdb.base/maint.exp | 2 +- gdb/testsuite/gdb.cp/ovsrch.exp | 2 +- gdb/testsuite/gdb.server/server-kill.exp | 4 +- gdb/testsuite/gdb.trace/mi-traceframe-changed.exp | 9 +- gdb/testsuite/gdb.trace/tfile.c | 4 +- gdb/testsuite/gdb.trace/tfile.exp | 27 +- gdb/tracepoint.c | 3 +- gdb/typeprint.c | 7 +- gdb/version.in | 2 +- include/ChangeLog | 7 + include/demangle.h | 6 + include/opcode/ChangeLog | 4 + include/opcode/v850.h | 3 + libiberty/ChangeLog | 17 + libiberty/cp-demangle.c | 182 +++- libiberty/testsuite/demangle-expected | 16 +- opcodes/ChangeLog | 22 + opcodes/v850-dis.c | 3 + opcodes/v850-opc.c | 24 +- sim/frv/ChangeLog | 8 + sim/frv/Makefile.in | 5 +- sim/frv/configure | 11 +- sim/frv/configure.ac | 8 +- sim/m32r/ChangeLog | 9 + sim/m32r/Makefile.in | 5 +- sim/m32r/configure | 16 +- sim/m32r/configure.ac | 11 +- sim/m32r/tconfig.in | 3 - 107 files changed, 2070 insertions(+), 850 deletions(-) create mode 100644 gdb/testsuite/gdb.ada/win_fu_syms.exp create mode 100644 gdb/testsuite/gdb.ada/win_fu_syms/foo.adb create mode 100644 gdb/testsuite/gdb.ada/win_fu_syms/pck.adb create mode 100644 gdb/testsuite/gdb.ada/win_fu_syms/pck.ads First 500 lines of diff: diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d115964..c2a14b0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,86 @@ +2013-04-03 Nick Clifton + + * elf32-v850.c (v850_elf_is_target_special_symbol): New function. + (bfd_elf32_bfd_is_target_special_symbol): Define. + +2013-04-03 Venkataramanan Kumar + + * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use + elf64_aarch64_locals to get local GOT reference counts. + +2013-04-02 DJ Delorie + + * elf32-rl78.c (GET_RELOC): Assert that there are relocs to get. + (rl78_elf_relax_section): Only fetch the next reloc if there is + one expected. + +2013-03-30 Alan Modra + + PR ld/15323 + * elf-m10300.c (mn10300_elf_check_relocs): Set non_ir_ref for + global symbols referenced by relocs. + * elf32-arm.c (elf32_arm_check_relocs): Likewise. + * elf32-bfin.c (bfin_check_relocs): Likewise. + * elf32-cr16.c (cr16_elf_check_relocs): Likewise. + * elf32-cris.c (cris_elf_check_relocs): Likewise. + * elf32-d10v.c (elf32_d10v_check_relocs): Likewise. + * elf32-dlx.c (elf32_dlx_check_relocs): Likewise. + * elf32-fr30.c (fr30_elf_check_relocs): Likewise. + * elf32-frv.c (elf32_frv_check_relocs): Likewise. + * elf32-hppa.c (elf32_hppa_check_relocs): Likewise. + * elf32-i370.c (i370_elf_check_relocs): Likewise. + * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise. + * elf32-lm32.c (lm32_elf_check_relocs): Likewise. + * elf32-m32c.c (m32c_elf_check_relocs): Likewise. + * elf32-m32r.c (m32r_elf_check_relocs): Likewise. + * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise. + * elf32-m68k.c (elf_m68k_check_relocs): Likewise. + * elf32-mcore.c (mcore_elf_check_relocs): Likewise. + * elf32-metag.c (elf_metag_check_relocs): Likewise. + * elf32-microblaze.c (microblaze_elf_check_relocs): Likewise. + * elf32-moxie.c (moxie_elf_check_relocs): Likewise. + * elf32-msp430.c (elf32_msp430_check_relocs): Likewise. + * elf32-mt.c (mt_elf_check_relocs): Likewise. + * elf32-nios2.c (nios2_elf32_check_relocs): Likewise. + * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise. + * elf32-ppc.c (ppc_elf_check_relocs): Likewise. + * elf32-rl78.c (rl78_elf_check_relocs): Likewise. + * elf32-s390.c (elf_s390_check_relocs): Likewise. + * elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise. + * elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise. + * elf32-sh.c (sh_elf_check_relocs): Likewise. + * elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise. + * elf32-tilepro.c (tilepro_elf_check_relocs): Likewise. + * elf32-v850.c (v850_elf_check_relocs): Likewise. + * elf32-vax.c (elf_vax_check_relocs): Likewise. + * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise. + * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise. + * elf64-aarch64.c (elf64_aarch64_check_relocs): Likewise. + * elf64-alpha.c (elf64_alpha_check_relocs): Likewise. + * elf64-hppa.c (elf64_hppa_check_relocs): Likewise. + * elf64-ia64-vms.c (elf64_ia64_check_relocs): Likewise. + * elf64-mmix.c (mmix_elf_check_relocs): Likewise. + * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. + * elf64-s390.c (elf_s390_check_relocs): Likewise. + * elf64-sh64.c (sh_elf64_check_relocs): Likewise. + * elfnn-ia64.c (elfNN_ia64_check_relocs): Likewise. + * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise. + * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise. + * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise. Don't + test indirect/warning links for NULL. + +2013-03-29 H.J. Lu + + PR ld/15323 + * elf32-i386.c (elf_i386_check_relocs): Set non_ir_ref if a + symbol is referenced by a non-shared object. + * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. + +2013-03-28 Joe Seymour + + * elf32-sh.c (sh_elf_relocate_section): Suppress warnings for + R_SH_REL32 relocations against undefined weak symbols. + 2013-03-28 Alan Modra * elf64-ppc.c (struct ppc_dyn_relocs): New. diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c index ffd873d..c0a9309 100644 --- a/bfd/elf-m10300.c +++ b/bfd/elf-m10300.c @@ -1084,6 +1084,10 @@ mn10300_elf_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } r_type = ELF32_R_TYPE (rel->r_info); diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 8e335e7..9fff630 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -12465,6 +12465,10 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the + same object. */ + h->root.non_ir_ref = 1; } } diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c index d956da6..d3d0f1c 100644 --- a/bfd/elf32-bfin.c +++ b/bfd/elf32-bfin.c @@ -1187,7 +1187,13 @@ bfin_check_relocs (bfd * abfd, if (r_symndx < symtab_hdr->sh_info) h = NULL; else - h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + { + h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; + } switch (ELF32_R_TYPE (rel->r_info)) { diff --git a/bfd/elf32-cr16.c b/bfd/elf32-cr16.c index 656caff..8ed5af1 100644 --- a/bfd/elf32-cr16.c +++ b/bfd/elf32-cr16.c @@ -725,6 +725,10 @@ cr16_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } /* Some relocs require a global offset table. */ diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c index ff2dfe3..f40a079 100644 --- a/bfd/elf32-cris.c +++ b/bfd/elf32-cris.c @@ -3177,6 +3177,10 @@ cris_elf_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } r_type = ELF32_R_TYPE (rel->r_info); diff --git a/bfd/elf32-d10v.c b/bfd/elf32-d10v.c index 246e5f5..f75c16a 100644 --- a/bfd/elf32-d10v.c +++ b/bfd/elf32-d10v.c @@ -287,6 +287,10 @@ elf32_d10v_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-dlx.c b/bfd/elf32-dlx.c index 29b8910..1379d3d 100644 --- a/bfd/elf32-dlx.c +++ b/bfd/elf32-dlx.c @@ -451,6 +451,10 @@ elf32_dlx_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-fr30.c b/bfd/elf32-fr30.c index fe7cf92..3aed435 100644 --- a/bfd/elf32-fr30.c +++ b/bfd/elf32-fr30.c @@ -671,6 +671,10 @@ fr30_elf_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c index efe731c..788c299 100644 --- a/bfd/elf32-frv.c +++ b/bfd/elf32-frv.c @@ -6046,6 +6046,10 @@ elf32_frv_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 8d21cee..4ffa3d2 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -1169,6 +1169,10 @@ elf32_hppa_check_relocs (bfd *abfd, while (hh->eh.root.type == bfd_link_hash_indirect || hh->eh.root.type == bfd_link_hash_warning) hh = hppa_elf_hash_entry (hh->eh.root.u.i.link); + + /* PR15323, ref flags aren't set for references in the same + object. */ + hh->eh.root.non_ir_ref = 1; } r_type = ELF32_R_TYPE (rela->r_info); diff --git a/bfd/elf32-i370.c b/bfd/elf32-i370.c index 5998db7..48e25f2 100644 --- a/bfd/elf32-i370.c +++ b/bfd/elf32-i370.c @@ -825,6 +825,10 @@ i370_elf_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } if (info->shared) diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index f898a5c..2609130 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -1,6 +1,6 @@ /* Intel 80386/80486-specific support for 32-bit ELF Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 + 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -1514,6 +1514,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; } if (! elf_i386_tls_transition (info, abfd, sec, NULL, diff --git a/bfd/elf32-iq2000.c b/bfd/elf32-iq2000.c index 8cf4775..3a90a99 100644 --- a/bfd/elf32-iq2000.c +++ b/bfd/elf32-iq2000.c @@ -478,6 +478,10 @@ iq2000_elf_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-lm32.c b/bfd/elf32-lm32.c index 6bbbec8..df6f346 100644 --- a/bfd/elf32-lm32.c +++ b/bfd/elf32-lm32.c @@ -1305,6 +1305,10 @@ lm32_elf_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } /* Some relocs require a global offset table. */ diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c index 88b8dac..5205b7b 100644 --- a/bfd/elf32-m32c.c +++ b/bfd/elf32-m32c.c @@ -621,6 +621,10 @@ m32c_elf_check_relocs while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c index 385f4cc..789a456 100644 --- a/bfd/elf32-m32r.c +++ b/bfd/elf32-m32r.c @@ -3746,6 +3746,10 @@ m32r_elf_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } /* Some relocs require a global offset table. */ diff --git a/bfd/elf32-m68hc1x.c b/bfd/elf32-m68hc1x.c index 98c2994..427e3cd 100644 --- a/bfd/elf32-m68hc1x.c +++ b/bfd/elf32-m68hc1x.c @@ -871,6 +871,10 @@ elf32_m68hc11_check_relocs (bfd *abfd, struct bfd_link_info *info, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c index 01b5d67..b72bc83 100644 --- a/bfd/elf32-m68k.c +++ b/bfd/elf32-m68k.c @@ -2584,6 +2584,10 @@ elf_m68k_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-mcore.c b/bfd/elf32-mcore.c index 288394f..28ee2c4 100644 --- a/bfd/elf32-mcore.c +++ b/bfd/elf32-mcore.c @@ -613,6 +613,10 @@ mcore_elf_check_relocs (bfd * abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-metag.c b/bfd/elf32-metag.c index 8f08bf6..8851845 100644 --- a/bfd/elf32-metag.c +++ b/bfd/elf32-metag.c @@ -2141,6 +2141,10 @@ elf_metag_check_relocs (bfd *abfd, while (hh->eh.root.type == bfd_link_hash_indirect || hh->eh.root.type == bfd_link_hash_warning) hh = (struct elf_metag_link_hash_entry *) hh->eh.root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + hh->eh.root.non_ir_ref = 1; } /* Some relocs require a global offset table. */ diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c index 8aafe72..4a5e80d 100644 --- a/bfd/elf32-microblaze.c +++ b/bfd/elf32-microblaze.c @@ -2348,7 +2348,13 @@ microblaze_elf_check_relocs (bfd * abfd, if (r_symndx < symtab_hdr->sh_info) h = NULL; else - h = sym_hashes [r_symndx - symtab_hdr->sh_info]; + { + h = sym_hashes [r_symndx - symtab_hdr->sh_info]; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; + } switch (r_type) { diff --git a/bfd/elf32-moxie.c b/bfd/elf32-moxie.c index 9a031b4..d0cbb0f 100644 --- a/bfd/elf32-moxie.c +++ b/bfd/elf32-moxie.c @@ -356,6 +356,10 @@ moxie_elf_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } } diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c index c08f596..b46e72c 100644 --- a/bfd/elf32-msp430.c +++ b/bfd/elf32-msp430.c @@ -266,6 +266,10 @@ elf32_msp430_check_relocs (bfd * abfd, struct bfd_link_info * info, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } } diff --git a/bfd/elf32-mt.c b/bfd/elf32-mt.c index ded95c9..ea05c91 100644 --- a/bfd/elf32-mt.c +++ b/bfd/elf32-mt.c @@ -453,6 +453,10 @@ mt_elf_check_relocs while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } } diff --git a/bfd/elf32-nios2.c b/bfd/elf32-nios2.c index 91cbce4..eb472c1 100644 --- a/bfd/elf32-nios2.c +++ b/bfd/elf32-nios2.c @@ -2601,6 +2601,10 @@ nios2_elf32_check_relocs (bfd *abfd, struct bfd_link_info *info, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } r_type = ELF32_R_TYPE (rel->r_info); diff --git a/bfd/elf32-openrisc.c b/bfd/elf32-openrisc.c index 2b002ab..7abc938 100644 --- a/bfd/elf32-openrisc.c +++ b/bfd/elf32-openrisc.c @@ -486,6 +486,10 @@ openrisc_elf_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + + /* PR15323, ref flags aren't set for references in the same + object. */ + h->root.non_ir_ref = 1; } switch (ELF32_R_TYPE (rel->r_info)) diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index c1b5314..f356c95 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -3911,6 +3911,10 @@ ppc_elf_check_relocs (bfd *abfd, while (h->root.type == bfd_link_hash_indirect hooks/post-receive -- Repository for Project Archer.