aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1996-11-20 23:31:13 +0000
committerJeff Law <law@redhat.com>1996-11-20 23:31:13 +0000
commitc3239e6693f31d38f150f7348c707a7b31e45429 (patch)
tree5396d9ec1d78cd13a49b6566023afa33725efed7 /bfd
parent77f4c99cb47e7e4f2b9807b4f7a1aa4c0a76f39e (diff)
downloadgdb-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/ChangeLog17
-rw-r--r--bfd/elf32-mn10300.c90
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 *