From 237b5c4c9a06de328ad591ef904d73d47f9344d7 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Sat, 31 Aug 1996 16:24:18 +0000 Subject: [PATCH] * elf32-v850.c (enum reloc_type): Add R_V850_{32,16,8}. (elf_v850_howto_table): Add support for R_V850_{32,16,8}. (v850_reloc_map): Add translation from BFD_RELOC_{32,16,8} to R_V850_{32,16,8}. So we don't get "reloc XXX not supported" messages anymore. --- bfd/ChangeLog | 7 +++++++ bfd/elf32-v850.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b8e6b1422b..95bcbf3bfb 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,4 +1,11 @@ start-sanitize-v850 +Sat Aug 31 10:22:25 1996 Jeffrey A Law (law@cygnus.com) + + * elf32-v850.c (enum reloc_type): Add R_V850_{32,16,8}. + (elf_v850_howto_table): Add support for R_V850_{32,16,8}. + (v850_reloc_map): Add translation from BFD_RELOC_{32,16,8} + to R_V850_{32,16,8}. + Fri Aug 30 18:06:04 1996 J.T. Conklin * elf32-v850.c (reloc_type): Add R_V850_HI16_S. diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c index d1c1d008e6..22921b70d1 100644 --- a/bfd/elf32-v850.c +++ b/bfd/elf32-v850.c @@ -40,6 +40,9 @@ enum reloc_type R_V850_HI16_S, R_V850_HI16, R_V850_LO16, + R_V850_32, + R_V850_16, + R_V850_8, R_V850_max }; @@ -134,6 +137,51 @@ static reloc_howto_type elf_v850_howto_table[] = 0xffff, /* src_mask */ 0xffff, /* dst_mask */ false), /* pcrel_offset */ + + /* Simple 32bit reloc. */ + HOWTO (R_V850_32, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_V850_32", /* name */ + false, /* partial_inplace */ + 0, /* src_mask */ + 0xffffffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* Simple 16bit reloc. */ + HOWTO (R_V850_16, /* type */ + 0, /* rightshift */ + 1, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_V850_16", /* name */ + false, /* partial_inplace */ + 0, /* src_mask */ + 0xffff, /* dst_mask */ + false), /* pcrel_offset */ + + /* Simple 8bit reloc. */ + HOWTO (R_V850_8, /* type */ + 0, /* rightshift */ + 0, /* size (0 = byte, 1 = short, 2 = long) */ + 8, /* bitsize */ + false, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_dont,/* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_V850_8", /* name */ + false, /* partial_inplace */ + 0, /* src_mask */ + 0xff, /* dst_mask */ + false), /* pcrel_offset */ }; /* Map BFD reloc types to V850 ELF reloc types. */ @@ -152,6 +200,9 @@ static const struct v850_reloc_map v850_reloc_map[] = { BFD_RELOC_HI16_S, R_V850_HI16_S, }, { BFD_RELOC_HI16, R_V850_HI16, }, { BFD_RELOC_LO16, R_V850_LO16, }, + { BFD_RELOC_32, R_V850_32, }, + { BFD_RELOC_16, R_V850_16, }, + { BFD_RELOC_8, R_V850_8, }, }; static reloc_howto_type * -- 2.34.1