diff options
author | Jeff Law <law@redhat.com> | 1996-11-20 23:31:13 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 1996-11-20 23:31:13 +0000 |
commit | c3239e6693f31d38f150f7348c707a7b31e45429 (patch) | |
tree | 5396d9ec1d78cd13a49b6566023afa33725efed7 /bfd | |
parent | 77f4c99cb47e7e4f2b9807b4f7a1aa4c0a76f39e (diff) | |
download | gdb-c3239e6693f31d38f150f7348c707a7b31e45429.zip gdb-c3239e6693f31d38f150f7348c707a7b31e45429.tar.gz gdb-c3239e6693f31d38f150f7348c707a7b31e45429.tar.bz2 |
* elf32-mn10300.c: Rough cut at relocs for the mn10300.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 17 | ||||
-rw-r--r-- | bfd/elf32-mn10300.c | 90 |
2 files changed, 107 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c3623c8..e42e9e1 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,20 @@ +Wed Nov 20 16:31:31 1996 Jeffrey A Law (law@cygnus.com) + + * elf32-mn10300.c: Rough cut at relocs for the mn10300. + +start-sanitize-d10v +Wed Nov 13 08:12:38 1996 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (elf32-d10v.o): Don't depend on elf/d10v.h + anymore. + +end-sanitize-d10v +Tue Nov 12 13:30:00 1996 Dawn Perchik <dawn@cygnus.com> + + * filemode.c: Include sysdep.h. + * ihex.c: Add casts to eliminate compiler warnings. + * sunos.c: Add casts to eliminate compiler warnings. + Mon Nov 11 10:37:02 1996 Michael Meissner <meissner@tiktok.cygnus.com> * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Create .got.plt diff --git a/bfd/elf32-mn10300.c b/bfd/elf32-mn10300.c index 309fa40..4fe8f7a 100644 --- a/bfd/elf32-mn10300.c +++ b/bfd/elf32-mn10300.c @@ -34,6 +34,12 @@ static void mn10300_info_to_howto_rel enum reloc_type { R_MN10300_NONE = 0, + R_MN10300_32, + R_MN10300_16, + R_MN10300_8, + R_MN10300_PCREL32, + R_MN10300_PCREL16, + R_MN10300_PCREL8, R_MN10300_MAX }; @@ -53,6 +59,84 @@ static reloc_howto_type elf_mn10300_howto_table[] = 0, 0, false), + HOWTO (R_MN10300_32, + 0, + 2, + 32, + false, + 0, + complain_overflow_bitfield, + bfd_elf_generic_reloc, + "R_MN10300_32", + true, + 0xffffffff, + 0xffffffff, + false), + HOWTO (R_MN10300_16, + 0, + 1, + 16, + false, + 0, + complain_overflow_bitfield, + bfd_elf_generic_reloc, + "R_MN10300_16", + true, + 0xffff, + 0xffff, + false), + HOWTO (R_MN10300_8, + 0, + 0, + 8, + false, + 0, + complain_overflow_bitfield, + bfd_elf_generic_reloc, + "R_MN10300_8", + true, + 0xff, + 0xff, + false), + HOWTO (R_MN10300_PCREL32, + 0, + 2, + 32, + true, + 0, + complain_overflow_bitfield, + bfd_elf_generic_reloc, + "R_MN10300_PCREL32", + true, + 0xffffffff, + 0xffffffff, + false), + HOWTO (R_MN10300_PCREL16, + 0, + 1, + 16, + true, + 0, + complain_overflow_bitfield, + bfd_elf_generic_reloc, + "R_MN10300_PCREL16", + true, + 0xffff, + 0xffff, + false), + HOWTO (R_MN10300_PCREL8, + 0, + 0, + 8, + true, + 0, + complain_overflow_bitfield, + bfd_elf_generic_reloc, + "R_MN10300_PCREL8", + true, + 0xff, + 0xff, + false), }; struct mn10300_reloc_map @@ -64,6 +148,12 @@ struct mn10300_reloc_map static const struct mn10300_reloc_map mn10300_reloc_map[] = { { BFD_RELOC_NONE, R_MN10300_NONE, }, + { BFD_RELOC_32, R_MN10300_32, }, + { BFD_RELOC_16, R_MN10300_16, }, + { BFD_RELOC_8, R_MN10300_8, }, + { BFD_RELOC_32_PCREL, R_MN10300_PCREL32, }, + { BFD_RELOC_16_PCREL, R_MN10300_PCREL16, }, + { BFD_RELOC_8_PCREL, R_MN10300_PCREL8, }, }; static reloc_howto_type * |