* archures.c: Update copyright.
authorAdam Nemet <anemet@caviumnetworks.com>
Mon, 4 Feb 2008 19:15:52 +0000 (19:15 +0000)
committerAdam Nemet <anemet@caviumnetworks.com>
Mon, 4 Feb 2008 19:15:52 +0000 (19:15 +0000)
(bfd_mach_mips_octeon): New macro.
* bfd-in2.h: Regenerate.
* elfxx-mips.c (_bfd_elf_mips_mach): Handle Octeon.
(mips_set_isa_flags): Likewise.
(mips_mach_extensions): Add Octeon.
* cpu-mips.c: Update copyright.
(I_mipsocteon): New enum constant.
(arch_info_struct): Add Octeon.

bfd/ChangeLog
bfd/archures.c
bfd/bfd-in2.h
bfd/cpu-mips.c
bfd/elfxx-mips.c

index 8b6d641bea3feedd0bcc9ae6f34682f903afde03..07a52ec257e47ac66dc1730a9dc2eb43e3a8ff67 100644 (file)
@@ -1,3 +1,15 @@
+2008-02-04  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * archures.c: Update copyright.
+       (bfd_mach_mips_octeon): New macro.
+       * bfd-in2.h: Regenerate.
+       * elfxx-mips.c (_bfd_elf_mips_mach): Handle Octeon.
+       (mips_set_isa_flags): Likewise.
+       (mips_mach_extensions): Add Octeon.
+       * cpu-mips.c: Update copyright.
+       (I_mipsocteon): New enum constant.
+       (arch_info_struct): Add Octeon.
+
 2008-02-04  Alan Modra  <amodra@bigpond.net.au>
 
        * elf32-spu.c (spu_elf_relocate_section): Correct return type.
index 3459e55b2701197a8cdc6cf002000a9a7b216433..9a5c7c49d0a167578a804c84f393d2541c04d4f5 100644 (file)
@@ -1,6 +1,6 @@
 /* BFD library support routines for architectures.
    Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
    Free Software Foundation, Inc.
    Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
 
@@ -172,6 +172,7 @@ DESCRIPTION
 .#define bfd_mach_mips_loongson_2e      3001
 .#define bfd_mach_mips_loongson_2f      3002
 .#define bfd_mach_mips_sb1              12310201 {* octal 'SB', 01 *}
+.#define bfd_mach_mips_octeon          6501
 .#define bfd_mach_mipsisa32             32
 .#define bfd_mach_mipsisa32r2           33
 .#define bfd_mach_mipsisa64             64
index b514ad18362d93088f5c109a3c8180e576ab5f14..5e44ef7039b771588f171cbe1312b821f10fb31b 100644 (file)
@@ -8,7 +8,7 @@
 /* Main header file for the bfd library -- portable access to object files.
 
    Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
    Free Software Foundation, Inc.
 
    Contributed by Cygnus Support.
@@ -1849,6 +1849,7 @@ enum bfd_architecture
 #define bfd_mach_mips_loongson_2e      3001
 #define bfd_mach_mips_loongson_2f      3002
 #define bfd_mach_mips_sb1              12310201 /* octal 'SB', 01 */
+#define bfd_mach_mips_octeon           6501
 #define bfd_mach_mipsisa32             32
 #define bfd_mach_mipsisa32r2           33
 #define bfd_mach_mipsisa64             64
index 6384162ae1b42c9bad3546362c18066035dbe793..07f966b88dae2ea0584678ffe904a953cb448e38 100644 (file)
@@ -1,6 +1,6 @@
 /* bfd back-end for mips support
    Copyright 1990, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001,
-   2002, 2003, 2004, 2007 Free Software Foundation, Inc.
+   2002, 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
    Written by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -88,7 +88,8 @@ enum
   I_mipsisa64r2,
   I_sb1,
   I_loongson_2e,
-  I_loongson_2f
+  I_loongson_2f,
+  I_mipsocteon
 };
 
 #define NN(index) (&arch_info_struct[(index) + 1])
@@ -123,7 +124,8 @@ static const bfd_arch_info_type arch_info_struct[] =
   N (64, 64, bfd_mach_mipsisa64r2,"mips:isa64r2", FALSE, NN(I_mipsisa64r2)),
   N (64, 64, bfd_mach_mips_sb1, "mips:sb1",       FALSE, NN(I_sb1)),
   N (64, 64, bfd_mach_mips_loongson_2e, "mips:loongson_2e",       FALSE, NN(I_loongson_2e)),
-  N (64, 64, bfd_mach_mips_loongson_2f, "mips:loongson_2f",       FALSE, 0)
+  N (64, 64, bfd_mach_mips_loongson_2f, "mips:loongson_2f",       FALSE, NN(I_loongson_2f)),
+  N (64, 64, bfd_mach_mips_octeon, "mips:octeon", FALSE, 0)
 };
 
 /* The default architecture is mips:3000, but with a machine number of
index ef2f6a70db6608a3d69028aa6799f135d2a8d8b3..1b24ee5d454c7b5f6e4a11b9a3a217066204accc 100644 (file)
@@ -1,6 +1,6 @@
 /* MIPS-specific support for ELF
    Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-   2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
    Most of the information added by Ian Lance Taylor, Cygnus Support,
    <ian@cygnus.com>.
@@ -5227,6 +5227,9 @@ _bfd_elf_mips_mach (flagword flags)
     case E_MIPS_MACH_LS2F:
       return bfd_mach_mips_loongson_2f;
 
+    case E_MIPS_MACH_OCTEON:
+      return bfd_mach_mips_octeon;
+
     default:
       switch (flags & EF_MIPS_ARCH)
        {
@@ -9480,6 +9483,10 @@ mips_set_isa_flags (bfd *abfd)
       val = E_MIPS_ARCH_64 | E_MIPS_MACH_SB1;
       break;
 
+    case bfd_mach_mips_octeon:
+      val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON;
+      break;
+
     case bfd_mach_mipsisa32:
       val = E_MIPS_ARCH_32;
       break;
@@ -11215,6 +11222,9 @@ struct mips_mach_extension {
    are ordered topologically with MIPS I extensions listed last.  */
 
 static const struct mips_mach_extension mips_mach_extensions[] = {
+  /* MIPS64r2 extensions.  */
+  { bfd_mach_mips_octeon, bfd_mach_mipsisa64r2 },
+
   /* MIPS64 extensions.  */
   { bfd_mach_mipsisa64r2, bfd_mach_mipsisa64 },
   { bfd_mach_mips_sb1, bfd_mach_mipsisa64 },