aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@rr.iij4u.or.jp>2013-03-28 23:52:44 +0000
committerKaz Kojima <kkojima@rr.iij4u.or.jp>2013-03-28 23:52:44 +0000
commita6f713fc44bd59b0d1a872523dbcf7644eb37261 (patch)
tree42aff0ff6d965fb49daba5bf858898fd8f8d7f14
parent9bf7063f22fae8f291ba2513f45b3105b2ab95c9 (diff)
downloadfsf-binutils-gdb-a6f713fc44bd59b0d1a872523dbcf7644eb37261.zip
fsf-binutils-gdb-a6f713fc44bd59b0d1a872523dbcf7644eb37261.tar.gz
fsf-binutils-gdb-a6f713fc44bd59b0d1a872523dbcf7644eb37261.tar.bz2
* elf32-sh.c (sh_elf_relocate_section): Suppress warnings for
R_SH_REL32 relocations against undefined weak symbols.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-sh.c8
2 files changed, 12 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d115964..2153a53 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2013-03-28 Joe Seymour <jseymour@codesourcery.com>
+
+ * elf32-sh.c (sh_elf_relocate_section): Suppress warnings for
+ R_SH_REL32 relocations against undefined weak symbols.
+
2013-03-28 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (struct ppc_dyn_relocs): New.
diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c
index 8e93dda..a4c987f 100644
--- a/bfd/elf32-sh.c
+++ b/bfd/elf32-sh.c
@@ -1,6 +1,6 @@
/* Renesas / SuperH SH specific support for 32-bit ELF
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
Contributed by Ian Lance Taylor, Cygnus Support.
@@ -4425,6 +4425,12 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
check_segment[0] = check_segment[1] = -1;
}
+ /* We don't want warnings for non-NULL tests on undefined weak
+ symbols. */
+ else if (r_type == R_SH_REL32
+ && h
+ && h->root.type == bfd_link_hash_undefweak)
+ check_segment[0] = check_segment[1] = -1;
goto final_link_relocate;
case R_SH_GOTPLT32: