Add OpenRISC support
[deliverable/binutils-gdb.git] / bfd / elf64-mips.c
index 24f4b3b54cd4210ac3f91a0cc06ffac12360cd3d..d273e42799fdd126aff6da276aff712f9ca10db2 100644 (file)
@@ -1,5 +1,6 @@
 /* MIPS-specific support for 64-bit ELF
-   Copyright 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+   Copyright 1996, 1997, 1998, 1999, 2000, 2001
+   Free Software Foundation, Inc.
    Ian Lance Taylor, Cygnus Support
    Linker support added by Mark Mitchell, CodeSourcery, LLC.
    <mark@codesourcery.com>
@@ -161,7 +162,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
         complain_overflow_dont, /* complain_on_overflow */
                                /* This needs complex overflow
                                   detection, because the upper four
-                                  bits must match the PC.  */
+                                  bits must match the PC + 4.  */
         bfd_elf_generic_reloc, /* special_function */
         "R_MIPS_26",           /* name */
         true,                  /* partial_inplace */
@@ -623,7 +624,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] =
         0,                     /* dst_mask */
         false),                /* pcrel_offset */
 
-  /* Protected jump conversion.  This is an optimization hint.  No 
+  /* Protected jump conversion.  This is an optimization hint.  No
      relocation is required for correctness.  */
   HOWTO (R_MIPS_JALR,          /* type */
         0,                     /* rightshift */
@@ -714,7 +715,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
         complain_overflow_dont, /* complain_on_overflow */
                                /* This needs complex overflow
                                   detection, because the upper four
-                                  bits must match the PC.  */
+                                  bits must match the PC + 4.  */
         bfd_elf_generic_reloc, /* special_function */
         "R_MIPS_26",           /* name */
         true,                  /* partial_inplace */
@@ -1177,7 +1178,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
         0,                     /* dst_mask */
         false),                /* pcrel_offset */
 
-  /* Protected jump conversion.  This is an optimization hint.  No 
+  /* Protected jump conversion.  This is an optimization hint.  No
      relocation is required for correctness.  */
   HOWTO (R_MIPS_JALR,          /* type */
         0,                     /* rightshift */
@@ -1270,7 +1271,7 @@ mips_elf64_be_swap_reloc_in (abfd, src, dst)
 {
   Elf64_Mips_Internal_Rel mirel;
 
-  mips_elf64_swap_reloc_in (abfd, 
+  mips_elf64_swap_reloc_in (abfd,
                            (const Elf64_Mips_External_Rel *) src,
                            &mirel);
 
@@ -1292,7 +1293,7 @@ mips_elf64_be_swap_reloca_in (abfd, src, dst)
 {
   Elf64_Mips_Internal_Rela mirela;
 
-  mips_elf64_swap_reloca_in (abfd, 
+  mips_elf64_swap_reloca_in (abfd,
                             (const Elf64_Mips_External_Rela *) src,
                             &mirela);
 
@@ -1324,7 +1325,7 @@ mips_elf64_be_swap_reloc_out (abfd, src, dst)
   mirel.r_ssym = STN_UNDEF;
   mirel.r_type3 = R_MIPS_NONE;
 
-  mips_elf64_swap_reloc_out (abfd, &mirel, 
+  mips_elf64_swap_reloc_out (abfd, &mirel,
                             (Elf64_Mips_External_Rel *) dst);
 }
 
@@ -1346,7 +1347,7 @@ mips_elf64_be_swap_reloca_out (abfd, src, dst)
   mirela.r_ssym = STN_UNDEF;
   mirela.r_type3 = R_MIPS_NONE;
 
-  mips_elf64_swap_reloca_out (abfd, &mirela, 
+  mips_elf64_swap_reloca_out (abfd, &mirela,
                              (Elf64_Mips_External_Rela *) dst);
 }
 
@@ -2150,7 +2151,7 @@ const struct elf_size_info mips_elf64_size_info =
 #define elf_backend_plt_header_size    0
 #define elf_backend_may_use_rel_p       1
 
-/* We don't set bfd_elf64_bfd_is_local_label_name because the 32-bit 
+/* We don't set bfd_elf64_bfd_is_local_label_name because the 32-bit
    MIPS-specific function only applies to IRIX5, which had no 64-bit
    ABI.  */
 #define bfd_elf64_find_nearest_line    _bfd_mips_elf_find_nearest_line
@@ -2188,3 +2189,20 @@ const struct elf_size_info mips_elf64_size_info =
                                _bfd_archive_coff_update_armap_timestamp
 
 #include "elf64-target.h"
+
+/* Support for traditional mips targets */
+
+#define INCLUDED_TARGET_FILE            /* More a type of flag */
+
+#undef TARGET_LITTLE_SYM
+#undef TARGET_LITTLE_NAME
+#undef TARGET_BIG_SYM
+#undef TARGET_BIG_NAME
+
+#define TARGET_LITTLE_SYM               bfd_elf64_tradlittlemips_vec
+#define TARGET_LITTLE_NAME              "elf64-tradlittlemips"
+#define TARGET_BIG_SYM                  bfd_elf64_tradbigmips_vec
+#define TARGET_BIG_NAME                 "elf64-tradbigmips"
+
+/* Include the target file again for this target */
+#include "elf64-target.h"
This page took 0.025588 seconds and 4 git commands to generate.