X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=bfd%2Fcpu-arm.c;h=80bd29687d73fdf452a869b09cc4059b14eb73d8;hb=e643cb45bf85fa5c8c49a89ff177de246af4212e;hp=61d4bbdb34935127dc81066cd4e71312d0b6aa9b;hpb=aa820537ead0135a7c38c619039dce8a6fc74ed1;p=binutils-gdb.git diff --git a/bfd/cpu-arm.c b/bfd/cpu-arm.c index 61d4bbdb349..80bd29687d7 100644 --- a/bfd/cpu-arm.c +++ b/bfd/cpu-arm.c @@ -1,6 +1,5 @@ /* BFD support for the ARM processor - Copyright 1994, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2009 - Free Software Foundation, Inc. + Copyright (C) 1994-2017 Free Software Foundation, Inc. Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org) This file is part of BFD, the Binary File Descriptor library. @@ -94,7 +93,8 @@ processors[] = { bfd_mach_arm_XScale, "xscale" }, { bfd_mach_arm_ep9312, "ep9312" }, { bfd_mach_arm_iWMMXt, "iwmmxt" }, - { bfd_mach_arm_iWMMXt2, "iwmmxt2" } + { bfd_mach_arm_iWMMXt2, "iwmmxt2" }, + { bfd_mach_arm_unknown, "arm_any" } }; static bfd_boolean @@ -124,23 +124,25 @@ scan (const struct bfd_arch_info *info, const char *string) } #define N(number, print, default, next) \ -{ 32, 32, 8, bfd_arch_arm, number, "arm", print, 4, default, compatible, scan, next } +{ 32, 32, 8, bfd_arch_arm, number, "arm", print, 4, default, compatible, \ + scan, bfd_arch_default_fill, next } static const bfd_arch_info_type arch_info_struct[] = { - N (bfd_mach_arm_2, "armv2", FALSE, & arch_info_struct[1]), - N (bfd_mach_arm_2a, "armv2a", FALSE, & arch_info_struct[2]), - N (bfd_mach_arm_3, "armv3", FALSE, & arch_info_struct[3]), - N (bfd_mach_arm_3M, "armv3m", FALSE, & arch_info_struct[4]), - N (bfd_mach_arm_4, "armv4", FALSE, & arch_info_struct[5]), - N (bfd_mach_arm_4T, "armv4t", FALSE, & arch_info_struct[6]), - N (bfd_mach_arm_5, "armv5", FALSE, & arch_info_struct[7]), - N (bfd_mach_arm_5T, "armv5t", FALSE, & arch_info_struct[8]), - N (bfd_mach_arm_5TE, "armv5te", FALSE, & arch_info_struct[9]), - N (bfd_mach_arm_XScale, "xscale", FALSE, & arch_info_struct[10]), - N (bfd_mach_arm_ep9312, "ep9312", FALSE, & arch_info_struct[11]), - N (bfd_mach_arm_iWMMXt, "iwmmxt", FALSE, & arch_info_struct[12]), - N (bfd_mach_arm_iWMMXt2, "iwmmxt2", FALSE, NULL) + N (bfd_mach_arm_2, "armv2", FALSE, & arch_info_struct[1]), + N (bfd_mach_arm_2a, "armv2a", FALSE, & arch_info_struct[2]), + N (bfd_mach_arm_3, "armv3", FALSE, & arch_info_struct[3]), + N (bfd_mach_arm_3M, "armv3m", FALSE, & arch_info_struct[4]), + N (bfd_mach_arm_4, "armv4", FALSE, & arch_info_struct[5]), + N (bfd_mach_arm_4T, "armv4t", FALSE, & arch_info_struct[6]), + N (bfd_mach_arm_5, "armv5", FALSE, & arch_info_struct[7]), + N (bfd_mach_arm_5T, "armv5t", FALSE, & arch_info_struct[8]), + N (bfd_mach_arm_5TE, "armv5te", FALSE, & arch_info_struct[9]), + N (bfd_mach_arm_XScale, "xscale", FALSE, & arch_info_struct[10]), + N (bfd_mach_arm_ep9312, "ep9312", FALSE, & arch_info_struct[11]), + N (bfd_mach_arm_iWMMXt, "iwmmxt", FALSE, & arch_info_struct[12]), + N (bfd_mach_arm_iWMMXt2, "iwmmxt2", FALSE, & arch_info_struct[13]), + N (bfd_mach_arm_unknown, "arm_any", FALSE, NULL) }; const bfd_arch_info_type bfd_arm_arch = @@ -186,6 +188,7 @@ bfd_arm_merge_machines (bfd *ibfd, bfd *obfd) || out == bfd_mach_arm_iWMMXt || out == bfd_mach_arm_iWMMXt2)) { + /* xgettext: c-format */ _bfd_error_handler (_("\ error: %B is compiled for the EP9312, whereas %B is compiled for XScale"), ibfd, obfd); @@ -197,6 +200,7 @@ error: %B is compiled for the EP9312, whereas %B is compiled for XScale"), || in == bfd_mach_arm_iWMMXt || in == bfd_mach_arm_iWMMXt2)) { + /* xgettext: c-format */ _bfd_error_handler (_("\ error: %B is compiled for the EP9312, whereas %B is compiled for XScale"), obfd, ibfd); @@ -251,10 +255,10 @@ arm_check_note (bfd *abfd, return FALSE; } else - { + { if (namesz != ((strlen (expected_name) + 1 + 3) & ~3)) return FALSE; - + if (strcmp (descr, expected_name) != 0) return FALSE; @@ -262,6 +266,7 @@ arm_check_note (bfd *abfd, } /* FIXME: We should probably check the type as well. */ + (void) type; if (description_return != NULL) * description_return = descr; @@ -328,7 +333,8 @@ bfd_arm_update_notes (bfd *abfd, const char *note_section) if (! bfd_set_section_contents (abfd, arm_arch_section, buffer, (file_ptr) 0, buffer_size)) { - (*_bfd_error_handler) + _bfd_error_handler + /* xgettext: c-format */ (_("warning: unable to update contents of %s section in %s"), note_section, bfd_get_filename (abfd)); goto FAIL; @@ -364,7 +370,8 @@ architectures[] = { "XScale", bfd_mach_arm_XScale }, { "ep9312", bfd_mach_arm_ep9312 }, { "iWMMXt", bfd_mach_arm_iWMMXt }, - { "iWMMXt2", bfd_mach_arm_iWMMXt2 } + { "iWMMXt2", bfd_mach_arm_iWMMXt2 }, + { "arm_any", bfd_mach_arm_unknown } }; /* Extract the machine number stored in a note section. */