aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-rl78.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2013-02-27 21:39:20 +0000
committerDJ Delorie <dj@redhat.com>2013-02-27 21:39:20 +0000
commit4107ae2218c9a74fce40d50cb68a7a5ab0bf06e5 (patch)
tree62f49d1e3458b8b146fc11d65e04c100748fb956 /bfd/elf32-rl78.c
parentd50a0ce27329f5e07a889954e1a58396fcbd2b75 (diff)
downloadgdb-4107ae2218c9a74fce40d50cb68a7a5ab0bf06e5.zip
gdb-4107ae2218c9a74fce40d50cb68a7a5ab0bf06e5.tar.gz
gdb-4107ae2218c9a74fce40d50cb68a7a5ab0bf06e5.tar.bz2
* reloc.c (BFD_RELOC_RL78_CODE): Add.
* libbfd.h: Regenerate. * bfd-in2.h: Regenerate. * elf32-rl78.c (rl78_elf_relocate_section): Handle weak code references in compuated relocs. * config/tc-rl78.c (reloc_function): Add %code -> BFD_RELOC_RL78_CODE. (rl78_op): Handle %code(). (rl78_cons_fix_new): Likewise, but ignore for 20-bit operands. (tc_gen_reloc): Likwise; convert to a computed reloc. (md_apply_fix): Likewise.
Diffstat (limited to 'bfd/elf32-rl78.c')
-rw-r--r--bfd/elf32-rl78.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/bfd/elf32-rl78.c b/bfd/elf32-rl78.c
index 3a46c6b..ea9a076 100644
--- a/bfd/elf32-rl78.c
+++ b/bfd/elf32-rl78.c
@@ -778,6 +778,8 @@ rl78_elf_relocate_section
+ sec->output_section->vma
+ sec->output_offset
+ rel->r_addend);
+ else if (h->root.type == bfd_link_hash_undefweak)
+ RL78_STACK_PUSH (0);
else
_bfd_error_handler (_("Warning: RL78_SYM reloc with an unknown symbol"));
}