X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Fcpu-cris.c;h=c6b819f2405382d37746fa5c50370218b7cc7021;hb=0a6aef6b6695537ac05bbe34b03907e3f1fe93d5;hp=67bc8612023c74c77e73adde881eb59104239d2f;hpb=0e71e4955cd1a6ad7d03775dec5df49323204dec;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/cpu-cris.c b/bfd/cpu-cris.c index 67bc861202..c6b819f240 100644 --- a/bfd/cpu-cris.c +++ b/bfd/cpu-cris.c @@ -1,26 +1,27 @@ /* BFD support for the Axis CRIS architecture. - Copyright 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 2000-2019 Free Software Foundation, Inc. Contributed by Axis Communications AB. Written by Hans-Peter Nilsson. -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" /* This routine is provided two arch_infos and returns the lowest common @@ -28,12 +29,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ there's a compatible subset for which we provide an arch_info. */ static const bfd_arch_info_type * get_compatible - PARAMS ((const bfd_arch_info_type *, const bfd_arch_info_type *)); + (const bfd_arch_info_type *, const bfd_arch_info_type *); static const bfd_arch_info_type * -get_compatible (a,b) - const bfd_arch_info_type *a; - const bfd_arch_info_type *b; +get_compatible (const bfd_arch_info_type *a, + const bfd_arch_info_type *b) { /* Arches must match. */ if (a->arch != b->arch) @@ -45,7 +45,9 @@ get_compatible (a,b) if (b->mach == bfd_mach_cris_v10_v32) return a; - /* See ldlang.c:lang_check. Quite illogically, incompatible arches +#if 0 + /* The code below is disabled but kept as a warning. + See ldlang.c:lang_check. Quite illogically, incompatible arches (as signalled by this function) are only *warned* about, while with this function signalling compatible ones, we can have the cris_elf_merge_private_bfd_data function return an error. This is @@ -56,19 +58,16 @@ get_compatible (a,b) pretending matching machs here. */ /* Except for the compatible mach, machs must match. */ - - /* - This code is disabled but kept as a warning: - if (a->mach != b->mach) - return NULL; - */ + if (a->mach != b->mach) + return NULL; +#endif return a; } #define N(NUMBER, PRINT, NEXT) \ { 32, 32, 8, bfd_arch_cris, NUMBER, "cris", PRINT, 1, FALSE, \ - get_compatible, bfd_default_scan, NEXT } + get_compatible, bfd_default_scan, bfd_arch_default_fill, NEXT, 0 } static const bfd_arch_info_type bfd_cris_arch_compat_v10_v32 = N (bfd_mach_cris_v10_v32, "cris:common_v10_v32", NULL); @@ -97,8 +96,10 @@ const bfd_arch_info_type bfd_cris_arch = bfd_arch_info_type. */ bfd_default_scan, /* Check if a bfd_arch_info_type is a match. */ - &bfd_cris_arch_v32 /* Pointer to next bfd_arch_info_type in + bfd_arch_default_fill, /* Default fill. */ + &bfd_cris_arch_v32, /* Pointer to next bfd_arch_info_type in the same family. */ + 0 /* Maximum offset of a reloc from the start of an insn. */ }; /*