From a6f713fc44bd59b0d1a872523dbcf7644eb37261 Mon Sep 17 00:00:00 2001 From: Kaz Kojima Date: Thu, 28 Mar 2013 23:52:44 +0000 Subject: [PATCH] * elf32-sh.c (sh_elf_relocate_section): Suppress warnings for R_SH_REL32 relocations against undefined weak symbols. --- bfd/ChangeLog | 5 +++++ bfd/elf32-sh.c | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d11596491e7..2153a5344fc 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +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/elf32-sh.c b/bfd/elf32-sh.c index 8e93dda5bf8..a4c987ff450 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: -- 2.39.2