Index: tc-arm.c =================================================================== RCS file: /cvs/src/src/gas/config/tc-arm.c,v retrieving revision 1.344 diff -u -p -r1.344 tc-arm.c --- tc-arm.c 6 Nov 2007 22:17:00 -0000 1.344 +++ tc-arm.c 28 Nov 2007 16:35:11 -0000 @@ -20269,7 +20269,7 @@ arm_parse_cpu (char * str) { const struct arm_cpu_option_table * opt; char * ext = strchr (str, '+'); - int optlen; + unsigned int optlen; if (ext != NULL) optlen = ext - str; @@ -20283,7 +20283,8 @@ arm_parse_cpu (char * str) } for (opt = arm_cpus; opt->name != NULL; opt++) - if (strncmp (opt->name, str, optlen) == 0) + if (strncmp (opt->name, str, optlen) == 0 + && strlen (opt->name) == optlen) { mcpu_cpu_opt = &opt->value; mcpu_fpu_opt = &opt->default_fpu; @@ -20291,7 +20292,7 @@ arm_parse_cpu (char * str) strcpy (selected_cpu_name, opt->canonical_name); else { - int i; + unsigned int i; for (i = 0; i < optlen; i++) selected_cpu_name[i] = TOUPPER (opt->name[i]); selected_cpu_name[i] = 0;