aboutsummaryrefslogtreecommitdiff
path: root/bfd/elflink.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2013-03-21 16:08:07 +0000
committerNick Clifton <nickc@redhat.com>2013-03-21 16:08:07 +0000
commit81f5558e3d93654ed79b6ea28850a4798ea1404f (patch)
tree09a020b2f58cf3b34739e07297561af0184b61ba /bfd/elflink.c
parentb2f83c08372136fe9fe7d1df2feb5566c8b883fb (diff)
downloadgdb-81f5558e3d93654ed79b6ea28850a4798ea1404f.zip
gdb-81f5558e3d93654ed79b6ea28850a4798ea1404f.tar.gz
gdb-81f5558e3d93654ed79b6ea28850a4798ea1404f.tar.bz2
* elf32-h8300 (h8_relax_section): Add new relaxation of mov
@(disp:32,ERx) to mov @(disp:16,ERx). (R_H8_DISP32A16): New reloc. Comments added and corrected. * reloc.c (BFD_RELOC_H8_DISP32A16): New reloc. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * ld.texinfo (H8/300): Add description of relaxation of mov @(disp:32,ERx) to mov @(disp:16,ERx). * ld-h8300/h8300.exp: Add new relax-7 test on ELF. * ld-h8300/relax-2.s: Add other direction and .w/.l variants of mov insns. * ld-h8300/relax-2.d: Update expected disassembly. * ld-h8300/relax-7a.s: New: tests for mov @(disp:32,ERx) -> mov @(disp:16,ERx). * ld-h8300/relax-7b.s: New: Likewise. * ld-h8300/relax-7.d: New: expected disassembly. * config/tc-h8300.c (do_a_fix_imm): Add relaxation of mov @(disp:32,ERx) to mov @(disp:16,ERx) insns by new reloc R_H8_DISP32A16. * config/tc-h8300.h: Remove duplicated defines.
Diffstat (limited to 'bfd/elflink.c')
-rw-r--r--bfd/elflink.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 6ccf625..fa805bc 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -4498,6 +4498,7 @@ error_free_dyn:
--no-add-needed is used and the reference was not
a weak one. */
if (undef_bfd != NULL
+ && h->ref_regular_nonweak
&& (elf_dyn_lib_class (abfd) & DYN_NO_NEEDED) != 0)
{
(*_bfd_error_handler)