Index: src/binutils/debug.c =================================================================== --- src.orig/binutils/debug.c 2011-02-26 23:06:54.957909100 +0100 +++ src/binutils/debug.c 2011-02-27 12:08:48.031986200 +0100 @@ -31,6 +31,7 @@ #include #include "bfd.h" #include "libiberty.h" +#include "filenames.h" #include "debug.h" /* Global information we keep for debugging. A pointer to this @@ -729,9 +730,7 @@ debug_start_source (void *handle, const for (f = info->current_unit->files; f != NULL; f = f->next) { - if (f->filename[0] == name[0] - && f->filename[1] == name[1] - && strcmp (f->filename, name) == 0) + if (filename_cmp (f->filename, name) == 0) { info->current_file = f; return TRUE; Index: src/binutils/ieee.c =================================================================== --- src.orig/binutils/ieee.c 2011-02-26 23:06:54.959909100 +0100 +++ src/binutils/ieee.c 2011-02-27 12:08:48.054987500 +0100 @@ -4938,7 +4938,7 @@ ieee_finish_compilation_unit (struct iee if (! ieee_change_buffer (info, &info->linenos) || ! ieee_write_byte (info, (int) ieee_be_record_enum)) return FALSE; - if (strcmp (info->filename, info->lineno_filename) != 0) + if (filename_cmp (info->filename, info->lineno_filename) != 0) { /* We were not in the main file. We just closed the included line number block, and now we must close the @@ -7339,15 +7339,17 @@ ieee_lineno (void *p, const char *filena info->lineno_filename = info->filename; } - if (strcmp (info->pending_lineno_filename, info->lineno_filename) != 0) + if (filename_cmp (info->pending_lineno_filename, + info->lineno_filename) != 0) { - if (strcmp (info->filename, info->lineno_filename) != 0) + if (filename_cmp (info->filename, info->lineno_filename) != 0) { /* We were not in the main file. Close the block for the included file. */ if (! ieee_write_byte (info, (int) ieee_be_record_enum)) return FALSE; - if (strcmp (info->filename, info->pending_lineno_filename) == 0) + if (filename_cmp (info->filename, + info->pending_lineno_filename) == 0) { /* We need a new NN record, and we aren't about to output one. */ @@ -7359,7 +7361,8 @@ ieee_lineno (void *p, const char *filena return FALSE; } } - if (strcmp (info->filename, info->pending_lineno_filename) != 0) + if (filename_cmp (info->filename, + info->pending_lineno_filename) != 0) { /* We are not changing to the main file. Open a block for the new included file. */ Index: src/binutils/nlmconv.c =================================================================== --- src.orig/binutils/nlmconv.c 2011-02-26 23:06:54.960909100 +0100 +++ src/binutils/nlmconv.c 2011-02-27 13:25:20.499660300 +0100 @@ -37,6 +37,7 @@ #include "sysdep.h" #include "bfd.h" #include "libiberty.h" +#include "filenames.h" #include "safe-ctype.h" #include "ansidecl.h" @@ -268,7 +269,7 @@ main (int argc, char **argv) ++optind; if (optind < argc) show_usage (stderr, 1); - if (strcmp (input_file, output_file) == 0) + if (filename_cmp (input_file, output_file) == 0) { fatal (_("input and output files must be different")); } Index: src/binutils/objcopy.c =================================================================== --- src.orig/binutils/objcopy.c 2011-02-26 23:06:54.961909100 +0100 +++ src/binutils/objcopy.c 2011-02-27 12:08:48.097990000 +0100 @@ -3035,7 +3035,8 @@ strip_main (int argc, char *argv[]) It has already been checked in get_file_size(). */ stat (argv[i], &statbuf); - if (output_file == NULL || strcmp (argv[i], output_file) == 0) + if (output_file == NULL + || filename_cmp (argv[i], output_file) == 0) tmpname = make_tempname (argv[i]); else tmpname = output_file; @@ -3902,7 +3903,8 @@ copy_main (int argc, char *argv[]) /* If there is no destination file, or the source and destination files are the same, then create a temp and rename the result into the input. */ - if (output_filename == NULL || strcmp (input_filename, output_filename) == 0) + if (output_filename == NULL + || filename_cmp (input_filename, output_filename) == 0) tmpname = make_tempname (input_filename); else tmpname = output_filename; Index: src/binutils/objdump.c =================================================================== --- src.orig/binutils/objdump.c 2011-02-26 23:06:54.962909100 +0100 +++ src/binutils/objdump.c 2011-02-27 12:08:48.119991200 +0100 @@ -1348,7 +1348,7 @@ show_line (bfd *abfd, asection *section, unsigned l; for (pp = &print_files; *pp != NULL; pp = &(*pp)->next) - if (strcmp ((*pp)->filename, filename) == 0) + if (filename_cmp ((*pp)->filename, filename) == 0) break; p = *pp; @@ -2856,7 +2856,7 @@ dump_reloc_set (bfd *abfd, asection *sec && (linenumber != last_line || (filename != NULL && last_filename != NULL - && strcmp (filename, last_filename) != 0))) + && filename_cmp (filename, last_filename) != 0))) { printf ("%s:%u\n", filename == NULL ? "???" : filename, linenumber); last_line = linenumber; Index: src/binutils/srconv.c =================================================================== --- src.orig/binutils/srconv.c 2011-02-26 23:06:54.964909100 +0100 +++ src/binutils/srconv.c 2011-02-27 13:26:18.222961900 +0100 @@ -32,6 +32,7 @@ #include "sysroff.h" #include "coffgrok.h" #include "libiberty.h" +#include "filenames.h" #include "getopt.h" #include "coff/internal.h" @@ -1818,7 +1819,7 @@ main (int ac, char **av) ++optind; if (optind < ac) show_usage (stderr, 1); - if (strcmp (input_file, output_file) == 0) + if (filename_cmp (input_file, output_file) == 0) { fatal (_("input and output files must be different")); } Index: src/binutils/wrstabs.c =================================================================== --- src.orig/binutils/wrstabs.c 2011-02-26 23:06:54.971909100 +0100 +++ src/binutils/wrstabs.c 2011-02-27 12:08:48.146992800 +0100 @@ -27,6 +27,7 @@ #include #include "bfd.h" #include "libiberty.h" +#include "filenames.h" #include "safe-ctype.h" #include "bucomm.h" #include "debug.h" @@ -2261,7 +2262,7 @@ stab_lineno (void *p, const char *file, if (addr > info->last_text_address) info->last_text_address = addr; - if (strcmp (file, info->lineno_filename) != 0) + if (filename_cmp (file, info->lineno_filename) != 0) { if (! stab_write_symbol (info, N_SOL, 0, addr, file)) return FALSE; Index: src/gas/depend.c =================================================================== --- src.orig/gas/depend.c 2011-02-26 23:06:54.975909100 +0100 +++ src/gas/depend.c 2011-02-27 12:08:48.161993600 +0100 @@ -20,6 +20,7 @@ 02110-1301, USA. */ #include "as.h" +#include "filenames.h" /* The file to write to, or NULL if no dependencies being kept. */ static char * dep_file = NULL; @@ -63,7 +64,7 @@ register_dependency (char *filename) for (dep = dep_chain; dep != NULL; dep = dep->next) { - if (!strcmp (filename, dep->file)) + if (!filename_cmp (filename, dep->file)) return; } Index: src/gas/dwarf2dbg.c =================================================================== --- src.orig/gas/dwarf2dbg.c 2011-02-26 23:06:54.976909100 +0100 +++ src/gas/dwarf2dbg.c 2011-02-27 12:08:48.169994100 +0100 @@ -431,14 +431,14 @@ get_filenum (const char *filename, unsig if (num == 0 && last_used) { if (! files[last_used].dir - && strcmp (filename, files[last_used].filename) == 0) + && filename_cmp (filename, files[last_used].filename) == 0) return last_used; if (files[last_used].dir - && strncmp (filename, dirs[files[last_used].dir], - last_used_dir_len) == 0 + && filename_ncmp (filename, dirs[files[last_used].dir], + last_used_dir_len) == 0 && IS_DIR_SEPARATOR (filename [last_used_dir_len]) - && strcmp (filename + last_used_dir_len + 1, - files[last_used].filename) == 0) + && filename_cmp (filename + last_used_dir_len + 1, + files[last_used].filename) == 0) return last_used; } @@ -460,7 +460,7 @@ get_filenum (const char *filename, unsig --dir_len; #endif for (dir = 1; dir < dirs_in_use; ++dir) - if (strncmp (filename, dirs[dir], dir_len) == 0 + if (filename_ncmp (filename, dirs[dir], dir_len) == 0 && dirs[dir][dir_len] == '\0') break; @@ -485,7 +485,7 @@ get_filenum (const char *filename, unsig for (i = 1; i < files_in_use; ++i) if (files[i].dir == dir && files[i].filename - && strcmp (file, files[i].filename) == 0) + && filename_cmp (file, files[i].filename) == 0) { last_used = i; last_used_dir_len = dir_len; Index: src/gas/ecoff.c =================================================================== --- src.orig/gas/ecoff.c 2011-02-26 23:06:54.977909100 +0100 +++ src/gas/ecoff.c 2011-02-27 12:08:48.182994800 +0100 @@ -2257,7 +2257,7 @@ add_file (const char *file_name, int ind fil_ptr = fil_ptr->next_file) { if (first_ch == fil_ptr->name[0] - && strcmp (file_name, fil_ptr->name) == 0 + && filename_cmp (file_name, fil_ptr->name) == 0 && fil_ptr->fdr.fMerge) { cur_file_ptr = fil_ptr; @@ -2325,7 +2325,7 @@ add_file (const char *file_name, int ind void ecoff_new_file (const char *name, int appfile ATTRIBUTE_UNUSED) { - if (cur_file_ptr != NULL && strcmp (cur_file_ptr->name, name) == 0) + if (cur_file_ptr != NULL && filename_cmp (cur_file_ptr->name, name) == 0) return; add_file (name, 0, 0); @@ -5200,7 +5200,7 @@ ecoff_generate_asm_lineno (void) as_where (&filename, &lineno); if (current_stabs_filename == (char *) NULL - || strcmp (current_stabs_filename, filename)) + || filename_cmp (current_stabs_filename, filename)) add_file (filename, 0, 1); list = allocate_lineno_list (); Index: src/gas/input-scrub.c =================================================================== --- src.orig/gas/input-scrub.c 2011-02-26 23:06:54.978909100 +0100 +++ src/gas/input-scrub.c 2011-02-27 12:08:48.206996200 +0100 @@ -21,6 +21,7 @@ 02110-1301, USA. */ #include "as.h" +#include "filenames.h" #include "input-file.h" #include "sb.h" #include "listing.h" @@ -474,7 +475,7 @@ new_logical_line_flags (char *fname, /* if (fname && (logical_input_file == NULL - || strcmp (logical_input_file, fname))) + || filename_cmp (logical_input_file, fname))) { logical_input_file = fname; return 1; Index: src/gas/listing.c =================================================================== --- src.orig/gas/listing.c 2011-02-26 23:06:54.979909100 +0100 +++ src/gas/listing.c 2011-02-27 12:08:48.213996600 +0100 @@ -90,6 +90,7 @@ on a line. */ #include "as.h" +#include "filenames.h" #include "obstack.h" #include "safe-ctype.h" #include "input-file.h" @@ -257,7 +258,7 @@ file_info (const char *file_name) while (p != (file_info_type *) NULL) { - if (strcmp (p->filename, file_name) == 0) + if (filename_cmp (p->filename, file_name) == 0) return p; p = p->next; } @@ -318,7 +319,7 @@ listing_newline (char *ps) if (ps == NULL) { if (line == last_line - && !(last_file && file && strcmp (file, last_file))) + && !(last_file && file && filename_cmp (file, last_file))) return; new_i = (list_info_type *) xmalloc (sizeof (list_info_type)); Index: src/gas/remap.c =================================================================== --- src.orig/gas/remap.c 2011-02-26 23:06:54.981909100 +0100 +++ src/gas/remap.c 2011-02-27 12:08:48.221997100 +0100 @@ -19,6 +19,7 @@ 02110-1301, USA. */ #include "as.h" +#include "filenames.h" /* Structure recording the mapping from source file and directory names at compile time to those to be embedded in debug @@ -76,7 +77,7 @@ remap_debug_filename (const char *filena size_t name_len; for (map = debug_prefix_maps; map; map = map->next) - if (strncmp (filename, map->old_prefix, map->old_len) == 0) + if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0) break; if (!map) return filename; Index: src/gas/stabs.c =================================================================== --- src.orig/gas/stabs.c 2011-02-26 23:06:54.992909100 +0100 +++ src/gas/stabs.c 2011-02-27 12:08:48.225997300 +0100 @@ -20,6 +20,7 @@ 02110-1301, USA. */ #include "as.h" +#include "filenames.h" #include "obstack.h" #include "subsegs.h" #include "ecoff.h" @@ -521,7 +522,7 @@ generate_asm_file (int type, char *file) char *bufp; if (last_file != NULL - && strcmp (last_file, file) == 0) + && filename_cmp (last_file, file) == 0) return; /* Rather than try to do this in some efficient fashion, we just @@ -605,7 +606,7 @@ stabs_generate_asm_lineno (void) prev_lineno = lineno; } else if (lineno == prev_lineno - && strcmp (file, prev_file) == 0) + && filename_cmp (file, prev_file) == 0) { /* Same file/line as last time. */ return; @@ -614,7 +615,7 @@ stabs_generate_asm_lineno (void) { /* Remember file/line for next time. */ prev_lineno = lineno; - if (strcmp (file, prev_file) != 0) + if (filename_cmp (file, prev_file) != 0) { free (prev_file); prev_file = xstrdup (file);