X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fcpu-sparc.c;h=0d25012d62da1e12ab7b33fd770b610ac11cdcc1;hb=7743482350c9c97484a429070db7d994a643a9eb;hp=234bd92bd29c1b9b2230e651aa09dc8049668097;hpb=5b64ad42d36e6d487e1f7287d37fbc243a178e72;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/cpu-sparc.c b/bfd/cpu-sparc.c index 234bd92bd2..0d25012d62 100644 --- a/bfd/cpu-sparc.c +++ b/bfd/cpu-sparc.c @@ -1,42 +1,27 @@ /* BFD support for the SPARC architecture. - Copyright (C) 1992, 94, 95, 96, 1997 Free Software Foundation, Inc. + Copyright (C) 1992-2016 Free Software Foundation, Inc. -This file is part of BFD, the Binary File Descriptor library. + This file is part of BFD, the Binary File Descriptor library. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ -#include "bfd.h" #include "sysdep.h" +#include "bfd.h" #include "libbfd.h" -/* Don't mix 32 bit and 64 bit files. */ - -static const bfd_arch_info_type *sparc_compatible - PARAMS ((const bfd_arch_info_type *, const bfd_arch_info_type *)); - -static const bfd_arch_info_type * -sparc_compatible (a, b) - const bfd_arch_info_type *a; - const bfd_arch_info_type *b; -{ - if (a->bits_per_word != b->bits_per_word) - return NULL; - - return bfd_default_compatible (a, b); -} - static const bfd_arch_info_type arch_info_struct[] = { { @@ -48,9 +33,10 @@ static const bfd_arch_info_type arch_info_struct[] = "sparc", "sparc:sparclet", 3, - false, - sparc_compatible, + FALSE, + bfd_default_compatible, bfd_default_scan, + bfd_arch_default_fill, &arch_info_struct[1], }, { @@ -62,9 +48,10 @@ static const bfd_arch_info_type arch_info_struct[] = "sparc", "sparc:sparclite", 3, - false, - sparc_compatible, + FALSE, + bfd_default_compatible, bfd_default_scan, + bfd_arch_default_fill, &arch_info_struct[2], }, { @@ -76,9 +63,10 @@ static const bfd_arch_info_type arch_info_struct[] = "sparc", "sparc:v8plus", 3, - false, - sparc_compatible, + FALSE, + bfd_default_compatible, bfd_default_scan, + bfd_arch_default_fill, &arch_info_struct[3], }, { @@ -90,9 +78,10 @@ static const bfd_arch_info_type arch_info_struct[] = "sparc", "sparc:v8plusa", 3, - false, - sparc_compatible, + FALSE, + bfd_default_compatible, bfd_default_scan, + bfd_arch_default_fill, &arch_info_struct[4], }, { @@ -104,9 +93,10 @@ static const bfd_arch_info_type arch_info_struct[] = "sparc", "sparc:sparclite_le", 3, - false, - sparc_compatible, + FALSE, + bfd_default_compatible, bfd_default_scan, + bfd_arch_default_fill, &arch_info_struct[5], }, { @@ -118,9 +108,10 @@ static const bfd_arch_info_type arch_info_struct[] = "sparc", "sparc:v9", 3, - false, - sparc_compatible, + FALSE, + bfd_default_compatible, bfd_default_scan, + bfd_arch_default_fill, &arch_info_struct[6], }, { @@ -132,9 +123,40 @@ static const bfd_arch_info_type arch_info_struct[] = "sparc", "sparc:v9a", 3, - false, - sparc_compatible, + FALSE, + bfd_default_compatible, + bfd_default_scan, + bfd_arch_default_fill, + &arch_info_struct[7], + }, + { + 32, /* bits in a word */ + 32, /* bits in an address */ + 8, /* bits in a byte */ + bfd_arch_sparc, + bfd_mach_sparc_v8plusb, + "sparc", + "sparc:v8plusb", + 3, + FALSE, + bfd_default_compatible, + bfd_default_scan, + bfd_arch_default_fill, + &arch_info_struct[8], + }, + { + 64, /* bits in a word */ + 64, /* bits in an address */ + 8, /* bits in a byte */ + bfd_arch_sparc, + bfd_mach_sparc_v9b, + "sparc", + "sparc:v9b", + 3, + FALSE, + bfd_default_compatible, bfd_default_scan, + bfd_arch_default_fill, 0, } }; @@ -149,8 +171,9 @@ const bfd_arch_info_type bfd_sparc_arch = "sparc", "sparc", 3, - true, /* the default */ - sparc_compatible, + TRUE, /* the default */ + bfd_default_compatible, bfd_default_scan, + bfd_arch_default_fill, &arch_info_struct[0], };