From 6f179bd0a4fb0066d5a0afb61bf82f2b12618886 Mon Sep 17 00:00:00 2001 From: Adam Nemet Date: Mon, 4 Feb 2008 19:15:52 +0000 Subject: [PATCH] * 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. --- bfd/ChangeLog | 12 ++++++++++++ bfd/archures.c | 3 ++- bfd/bfd-in2.h | 3 ++- bfd/cpu-mips.c | 8 +++++--- bfd/elfxx-mips.c | 12 +++++++++++- 5 files changed, 32 insertions(+), 6 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 8b6d641..07a52ec 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,15 @@ +2008-02-04 Adam Nemet + + * 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 * elf32-spu.c (spu_elf_relocate_section): Correct return type. diff --git a/bfd/archures.c b/bfd/archures.c index 3459e55..9a5c7c4 100644 --- a/bfd/archures.c +++ b/bfd/archures.c @@ -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 diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index b514ad1..5e44ef7 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -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 diff --git a/bfd/cpu-mips.c b/bfd/cpu-mips.c index 6384162..07f966b 100644 --- a/bfd/cpu-mips.c +++ b/bfd/cpu-mips.c @@ -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 diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index ef2f6a7..1b24ee5 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -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, . @@ -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 }, -- 2.7.4