bfd/
[deliverable/binutils-gdb.git] / bfd / elf32-i960.c
index 7a3fd56d996c2cdfa3c696867bd529d1f3c45146..6218e1a50da4ae975b9c09aa5fccc2bd8b4ae79a 100644 (file)
@@ -1,5 +1,5 @@
 /* Intel 860 specific support for 32-bit ELF
-   Copyright 1999 Free Software Foundation, Inc.
+   Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
 This file is part of BFD, the Binary File Descriptor library.
 
@@ -27,6 +27,10 @@ static bfd_reloc_status_type elf32_i960_relocate
   PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));
 static reloc_howto_type *elf32_i960_reloc_type_lookup
   PARAMS ((bfd *, bfd_reloc_code_real_type));
+static void elf32_i960_info_to_howto
+  PARAMS ((bfd *, arelent *cache_ptr, Elf_Internal_Rela *));
+static void elf32_i960_info_to_howto_rel
+  PARAMS ((bfd *, arelent *, Elf_Internal_Rela *));
 
 #define USE_REL 1
 
@@ -36,20 +40,20 @@ static reloc_howto_type *elf32_i960_reloc_type_lookup
 
 static reloc_howto_type elf_howto_table[]=
 {
-  HOWTO(R_960_NONE, 0, 0, 0, false, 0, complain_overflow_bitfield,
-       elf32_i960_relocate, "R_960_NONE", true,
-       0x00000000, 0x00000000, false),
-  { 1 },
-  HOWTO (R_960_32, 0, 2, 32, false, 0, complain_overflow_bitfield,
-       elf32_i960_relocate, "R_960_32", true,
-       0xffffffff, 0xffffffff, false),
-  HOWTO (R_960_IP24, 0, 2, 24, true, 0, complain_overflow_signed,
-       elf32_i960_relocate, "R_960_IP24 ", true,
-       0x00ffffff, 0x00ffffff, false),
-  { 4 },
-  { 5 },
-  { 6 },
-  { 7 }
+  HOWTO(R_960_NONE, 0, 0, 0, FALSE, 0, complain_overflow_bitfield,
+       elf32_i960_relocate, "R_960_NONE", TRUE,
+       0x00000000, 0x00000000, FALSE),
+  EMPTY_HOWTO (1),
+  HOWTO (R_960_32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield,
+       elf32_i960_relocate, "R_960_32", TRUE,
+       0xffffffff, 0xffffffff, FALSE),
+  HOWTO (R_960_IP24, 0, 2, 24, TRUE, 0, complain_overflow_signed,
+       elf32_i960_relocate, "R_960_IP24 ", TRUE,
+       0x00ffffff, 0x00ffffff, FALSE),
+  EMPTY_HOWTO (4),
+  EMPTY_HOWTO (5),
+  EMPTY_HOWTO (6),
+  EMPTY_HOWTO (7)
 };
 
 static enum elf_i960_reloc_type
@@ -71,18 +75,18 @@ elf32_i960_bfd_to_reloc_type (bfd_reloc_code_real_type code)
 
 static void
 elf32_i960_info_to_howto (abfd, cache_ptr, dst)
-     bfd               *abfd;
-     arelent           *cache_ptr;
-     Elf32_Internal_Rela *dst;
+     bfd               *abfd ATTRIBUTE_UNUSED;
+     arelent           *cache_ptr ATTRIBUTE_UNUSED;
+     Elf_Internal_Rela *dst ATTRIBUTE_UNUSED;
 {
   abort ();
 }
 
 static void
 elf32_i960_info_to_howto_rel (abfd, cache_ptr, dst)
-     bfd *abfd;
+     bfd *abfd ATTRIBUTE_UNUSED;
      arelent *cache_ptr;
-     Elf32_Internal_Rel *dst;
+     Elf_Internal_Rela *dst;
 {
   enum elf_i960_reloc_type type;
 
@@ -92,7 +96,7 @@ elf32_i960_info_to_howto_rel (abfd, cache_ptr, dst)
   cache_ptr->howto = &elf_howto_table[(int) type];
 }
 
-/* ELF relocs are against symbols.  If we are producing relocateable
+/* ELF relocs are against symbols.  If we are producing relocatable
    output, and the reloc is against an external symbol, and nothing
    has given us any additional addend, the resulting reloc will also
    be against the same symbol.  In such a case, we don't want to
@@ -100,9 +104,8 @@ elf32_i960_info_to_howto_rel (abfd, cache_ptr, dst)
    all be done at final link time.  Rather than put special case code
    into bfd_perform_relocation, all the reloc types use this howto
    function.  It just short circuits the reloc if producing
-   relocateable output against an external symbol.  */
+   relocatable output against an external symbol.  */
 
-/*ARGSUSED*/
 bfd_reloc_status_type
 elf32_i960_relocate (abfd,
                       reloc_entry,
@@ -111,13 +114,13 @@ elf32_i960_relocate (abfd,
                       input_section,
                       output_bfd,
                       error_message)
-     bfd *abfd;
+     bfd *abfd ATTRIBUTE_UNUSED;
      arelent *reloc_entry;
      asymbol *symbol;
-     PTR data;
+     PTR data ATTRIBUTE_UNUSED;
      asection *input_section;
      bfd *output_bfd;
-     char **error_message;
+     char **error_message ATTRIBUTE_UNUSED;
 {
   /* HACK: I think this first condition is necessary when producing
      relocatable output.  After the end of HACK, the code is identical
@@ -129,7 +132,7 @@ elf32_i960_relocate (abfd,
     {
       reloc_entry->addend -= symbol->value;
     }
-  /* This is more dubious. */
+  /* This is more dubious.  */
   else if (output_bfd != (bfd *) NULL
           && (symbol->flags & BSF_SECTION_SYM) != 0)
     {
@@ -153,7 +156,7 @@ elf32_i960_relocate (abfd,
 
 static reloc_howto_type *
 elf32_i960_reloc_type_lookup (abfd, code)
-     bfd *abfd;
+     bfd *abfd ATTRIBUTE_UNUSED;
      bfd_reloc_code_real_type code;
 {
   return elf_howto_table + elf32_i960_bfd_to_reloc_type (code);
@@ -163,5 +166,6 @@ elf32_i960_reloc_type_lookup (abfd, code)
 #define TARGET_LITTLE_NAME     "elf32-i960"
 #define ELF_ARCH               bfd_arch_i960
 #define ELF_MACHINE_CODE       EM_960
+#define ELF_MAXPAGESIZE        1 /* FIXME: This number is wrong,  It should be the page size in bytes.  */
 
 #include "elf32-target.h"
This page took 0.026737 seconds and 4 git commands to generate.