From c3239e6693f31d38f150f7348c707a7b31e45429 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Wed, 20 Nov 1996 23:31:13 +0000 Subject: [PATCH] * elf32-mn10300.c: Rough cut at relocs for the mn10300. --- bfd/ChangeLog | 17 +++++++++ bfd/elf32-mn10300.c | 90 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c3623c8b0a..e42e9e18fb 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 + + * 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 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Create .got.plt diff --git a/bfd/elf32-mn10300.c b/bfd/elf32-mn10300.c index 309fa40a21..4fe8f7a943 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 * -- 2.34.1