From: Kai Tietz Date: Mon, 28 Feb 2011 18:34:52 +0000 (+0000) Subject: 2011-02-28 Kai Tietz X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=426278217bb00a4eb13f360b408fae9368f3a3af;p=binutils-gdb.git 2011-02-28 Kai Tietz * emultempl/beos.em (sort_by_file_name): Use filename_(n)cmp. * emultempl/elf32.em (gld${EMULATION_NAME}_vercheck): Likewise. (gld${EMULATION_NAME}_stat_needed): Likewise. (gld${EMULATION_NAME}_check_needed): Likewise. * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise. (gld_${EMULATION_NAME}_unrecognized_file): Likewise. * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise. (gld_${EMULATION_NAME}_unrecognized_file): Likewise. * ldfile.c (ldfile_open_file): Likewise. * ldlang.c (wild_sort): Likewise. (lookup_name): Likewise. (check_excluded_libs): Likewise. * ldmisc.c (vfinfo): Likewise. * pe-dll.c (libnamencmp): Likewise. (auto_export): Likewise. (pe_dll_generate_implib): Likewise. * testplug.c (onclaim_file): Likewise. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index aa459a05bf6..8ed86f3bf40 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,24 @@ +2011-02-28 Kai Tietz + + * emultempl/beos.em (sort_by_file_name): Use filename_(n)cmp. + * emultempl/elf32.em (gld${EMULATION_NAME}_vercheck): + Likewise. + (gld${EMULATION_NAME}_stat_needed): Likewise. + (gld${EMULATION_NAME}_check_needed): Likewise. + * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise. + (gld_${EMULATION_NAME}_unrecognized_file): Likewise. + * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise. + (gld_${EMULATION_NAME}_unrecognized_file): Likewise. + * ldfile.c (ldfile_open_file): Likewise. + * ldlang.c (wild_sort): Likewise. + (lookup_name): Likewise. + (check_excluded_libs): Likewise. + * ldmisc.c (vfinfo): Likewise. + * pe-dll.c (libnamencmp): Likewise. + (auto_export): Likewise. + (pe_dll_generate_implib): Likewise. + * testplug.c (onclaim_file): Likewise. + 2011-02-24 H.J. Lu PR ld/12507 diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em index 6dc63754160..cd96729f089 100644 --- a/ld/emultempl/beos.em +++ b/ld/emultempl/beos.em @@ -40,6 +40,7 @@ fragment <input_section.section->owner->my_archive->filename, - (*rb)->input_section.section->owner->my_archive->filename); + i = filename_cmp ((*ra)->input_section.section->owner->my_archive->filename, + (*rb)->input_section.section->owner->my_archive->filename); if (i != 0) return i; - i = strcmp ((*ra)->input_section.section->owner->filename, - (*rb)->input_section.section->owner->filename); + i = filename_cmp ((*ra)->input_section.section->owner->filename, + (*rb)->input_section.section->owner->filename); if (i != 0) return i; /* the tail idata4/5 are the only ones without relocs to an diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index ddcd5901fd6..17fb8bf9ec1 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -40,6 +40,7 @@ fragment <name) == 0) + if (filename_cmp (soname, l->name) == 0) { /* Probably can't happen, but it's an easy check. */ continue; @@ -215,7 +216,7 @@ gld${EMULATION_NAME}_vercheck (lang_input_statement_type *s) suffix += sizeof ".so." - 1; - if (strncmp (soname, l->name, suffix - l->name) == 0) + if (filename_ncmp (soname, l->name, suffix - l->name) == 0) { /* Here we know that S is a dynamic object FOO.SO.VER1, and the object we are considering needs a dynamic object @@ -290,7 +291,7 @@ gld${EMULATION_NAME}_stat_needed (lang_input_statement_type *s) if (soname == NULL) soname = lbasename (s->filename); - if (strncmp (soname, global_needed->name, suffix - global_needed->name) == 0) + if (filename_ncmp (soname, global_needed->name, suffix - global_needed->name) == 0) einfo ("%P: warning: %s, needed by %B, may conflict with %s\n", global_needed->name, global_needed->by, soname); } @@ -855,7 +856,7 @@ gld${EMULATION_NAME}_check_needed (lang_input_statement_type *s) && (bfd_elf_get_dyn_lib_class (s->the_bfd) & DYN_AS_NEEDED) != 0) return; - if (strcmp (s->filename, global_needed->name) == 0) + if (filename_cmp (s->filename, global_needed->name) == 0) { global_found = s; return; @@ -865,7 +866,7 @@ gld${EMULATION_NAME}_check_needed (lang_input_statement_type *s) { const char *f = strrchr (s->filename, '/'); if (f != NULL - && strcmp (f + 1, global_needed->name) == 0) + && filename_cmp (f + 1, global_needed->name) == 0) { global_found = s; return; @@ -874,7 +875,7 @@ gld${EMULATION_NAME}_check_needed (lang_input_statement_type *s) soname = bfd_elf_get_dt_soname (s->the_bfd); if (soname != NULL - && strcmp (soname, global_needed->name) == 0) + && filename_cmp (soname, global_needed->name) == 0) { global_found = s; return; diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index a3e4cddabf5..9b800cde691 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -56,6 +56,7 @@ fragment <u.def.section->owner->my_archive) : bfd_get_filename (blhe->u.def.section->owner); - if (strcmp (bfd_get_filename (is->the_bfd->my_archive), - other_bfd_filename) == 0) + if (filename_cmp (bfd_get_filename + (is->the_bfd->my_archive), + other_bfd_filename) == 0) continue; /* Rename this implib to match the other one. */ @@ -1460,7 +1462,7 @@ gld_${EMULATION_NAME}_after_open (void) extension, and use that for the remainder of the comparisons. */ pnt = strrchr (is3->the_bfd->filename, '.'); - if (pnt != NULL && strcmp (pnt, ".dll") == 0) + if (pnt != NULL && filename_cmp (pnt, ".dll") == 0) break; } @@ -1477,11 +1479,11 @@ gld_${EMULATION_NAME}_after_open (void) /* Skip static members, ie anything with a .obj extension. */ pnt = strrchr (is2->the_bfd->filename, '.'); - if (pnt != NULL && strcmp (pnt, ".obj") == 0) + if (pnt != NULL && filename_cmp (pnt, ".obj") == 0) continue; - if (strcmp (is3->the_bfd->filename, - is2->the_bfd->filename)) + if (filename_cmp (is3->the_bfd->filename, + is2->the_bfd->filename)) { is_ms_arch = 0; break; @@ -1495,7 +1497,7 @@ gld_${EMULATION_NAME}_after_open (void) then leave the filename alone. */ pnt = strrchr (is->the_bfd->filename, '.'); - if (is_ms_arch && (strcmp (pnt, ".dll") == 0)) + if (is_ms_arch && (filename_cmp (pnt, ".dll") == 0)) { int idata2 = 0, reloc_count=0; asection *sec; @@ -1668,7 +1670,7 @@ gld_${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry ATTRIB #ifdef DLL_SUPPORT const char *ext = entry->filename + strlen (entry->filename) - 4; - if (strcmp (ext, ".def") == 0 || strcmp (ext, ".DEF") == 0) + if (filename_cmp (ext, ".def") == 0 || filename_cmp (ext, ".DEF") == 0) { pe_def_file = def_file_parse (entry->filename, pe_def_file); diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em index a307c143500..2119367cbda 100644 --- a/ld/emultempl/pep.em +++ b/ld/emultempl/pep.em @@ -44,6 +44,7 @@ fragment <u.def.section->owner->my_archive) : bfd_get_filename (blhe->u.def.section->owner); - if (strcmp (bfd_get_filename (is->the_bfd->my_archive), - other_bfd_filename) == 0) + if (filename_cmp (bfd_get_filename + (is->the_bfd->my_archive), + other_bfd_filename) == 0) continue; /* Rename this implib to match the other one. */ @@ -1373,7 +1375,7 @@ gld_${EMULATION_NAME}_after_open (void) extension, and use that for the remainder of the comparisons. */ pnt = strrchr (is3->the_bfd->filename, '.'); - if (pnt != NULL && strcmp (pnt, ".dll") == 0) + if (pnt != NULL && filename_cmp (pnt, ".dll") == 0) break; } @@ -1390,11 +1392,11 @@ gld_${EMULATION_NAME}_after_open (void) /* Skip static members, ie anything with a .obj extension. */ pnt = strrchr (is2->the_bfd->filename, '.'); - if (pnt != NULL && strcmp (pnt, ".obj") == 0) + if (pnt != NULL && filename_cmp (pnt, ".obj") == 0) continue; - if (strcmp (is3->the_bfd->filename, - is2->the_bfd->filename)) + if (filename_cmp (is3->the_bfd->filename, + is2->the_bfd->filename)) { is_ms_arch = 0; break; @@ -1408,7 +1410,7 @@ gld_${EMULATION_NAME}_after_open (void) then leave the filename alone. */ pnt = strrchr (is->the_bfd->filename, '.'); - if (is_ms_arch && (strcmp (pnt, ".dll") == 0)) + if (is_ms_arch && (filename_cmp (pnt, ".dll") == 0)) { int idata2 = 0, reloc_count=0; asection *sec; @@ -1472,7 +1474,7 @@ gld_${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry ATTRIB #ifdef DLL_SUPPORT const char *ext = entry->filename + strlen (entry->filename) - 4; - if (strcmp (ext, ".def") == 0 || strcmp (ext, ".DEF") == 0) + if (filename_cmp (ext, ".def") == 0 || filename_cmp (ext, ".DEF") == 0) { pep_def_file = def_file_parse (entry->filename, pep_def_file); diff --git a/ld/ldfile.c b/ld/ldfile.c index a9a69544d33..5bbe1d8447e 100644 --- a/ld/ldfile.c +++ b/ld/ldfile.c @@ -443,7 +443,7 @@ ldfile_open_file (lang_input_statement_type *entry) if (ldfile_try_open_bfd (entry->filename, entry)) return; - if (strcmp (entry->filename, entry->local_sym_name) != 0) + if (filename_cmp (entry->filename, entry->local_sym_name) != 0) einfo (_("%P: cannot find %s (%s): %E\n"), entry->filename, entry->local_sym_name); else diff --git a/ld/ldlang.c b/ld/ldlang.c index 7ffbf451e4e..0caa452717c 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -23,6 +23,7 @@ #include "sysdep.h" #include "bfd.h" #include "libiberty.h" +#include "filenames.h" #include "safe-ctype.h" #include "obstack.h" #include "bfdlink.h" @@ -2446,7 +2447,7 @@ wild_sort (lang_wild_statement_type *wild, la = FALSE; } - i = strcmp (fn, ln); + i = filename_cmp (fn, ln); if (i > 0) continue; else if (i < 0) @@ -2459,7 +2460,7 @@ wild_sort (lang_wild_statement_type *wild, if (la) ln = ls->section->owner->filename; - i = strcmp (fn, ln); + i = filename_cmp (fn, ln); if (i > 0) continue; else if (i < 0) @@ -2572,7 +2573,7 @@ lookup_name (const char *name) const char *filename = search->local_sym_name; if (filename != NULL - && strcmp (filename, name) == 0) + && filename_cmp (filename, name) == 0) break; } @@ -2639,7 +2640,7 @@ check_excluded_libs (bfd *abfd) return; } - if (strncmp (lib->name, filename, len) == 0 + if (filename_ncmp (lib->name, filename, len) == 0 && (filename[len] == '\0' || (filename[len] == '.' && filename[len + 1] == 'a' && filename[len + 2] == '\0'))) diff --git a/ld/ldmisc.c b/ld/ldmisc.c index 369580001d0..d5001d1abed 100644 --- a/ld/ldmisc.c +++ b/ld/ldmisc.c @@ -25,6 +25,7 @@ #include "bfd.h" #include "bfdlink.h" #include "libiberty.h" +#include "filenames.h" #include "demangle.h" #include #include "ld.h" @@ -231,7 +232,7 @@ vfinfo (FILE *fp, const char *fmt, va_list arg, bfd_boolean is_warning) bfd_get_filename (bfd_my_archive (i->the_bfd))); fprintf (fp, "%s", i->local_sym_name); if (bfd_my_archive (i->the_bfd) == NULL - && strcmp (i->local_sym_name, i->filename) != 0) + && filename_cmp (i->local_sym_name, i->filename) != 0) fprintf (fp, " (%s)", i->filename); } break; @@ -318,7 +319,7 @@ vfinfo (FILE *fp, const char *fmt, va_list arg, bfd_boolean is_warning) || last_function == NULL || last_bfd != abfd || (filename != NULL - && strcmp (last_file, filename) != 0) + && filename_cmp (last_file, filename) != 0) || strcmp (last_function, functionname) != 0) { lfinfo (fp, _("%B: In function `%T':\n"), diff --git a/ld/pe-dll.c b/ld/pe-dll.c index 0c1c0ded862..7de718ab58e 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -24,6 +24,7 @@ #include "bfd.h" #include "bfdlink.h" #include "libiberty.h" +#include "filenames.h" #include "safe-ctype.h" #include @@ -343,7 +344,7 @@ static const autofilter_entry_type autofilter_liblist[] = returning zero if so or -1 if not. */ static int libnamencmp (const char *libname, const autofilter_entry_type *afptr) { - if (strncmp (libname, afptr->name, afptr->len)) + if (filename_ncmp (libname, afptr->name, afptr->len)) return -1; libname += afptr->len; @@ -619,13 +620,13 @@ auto_export (bfd *abfd, def_file *d, const char *n) if (ex->type == EXCLUDELIBS) { if (libname - && ((strcmp (libname, ex->string) == 0) + && ((filename_cmp (libname, ex->string) == 0) || (strcasecmp ("ALL", ex->string) == 0))) return 0; } else if (ex->type == EXCLUDEFORIMPLIB) { - if (strcmp (abfd->filename, ex->string) == 0) + if (filename_cmp (abfd->filename, ex->string) == 0) return 0; } else if (strcmp (n, ex->string) == 0) @@ -2701,7 +2702,7 @@ pe_dll_generate_implib (def_file *def, const char *impfilename, struct bfd_link_ { if (ex->type != EXCLUDEFORIMPLIB) continue; - found = (strcmp (ex->string, ibfd->filename) == 0); + found = (filename_cmp (ex->string, ibfd->filename) == 0); } /* If it matched, we must open a fresh BFD for it (the original input BFD is still needed for the DLL's final link) and add @@ -2731,7 +2732,7 @@ pe_dll_generate_implib (def_file *def, const char *impfilename, struct bfd_link_ newbfd = NULL; while ((newbfd = bfd_openr_next_archived_file (arbfd, newbfd)) != 0) { - if (strcmp (newbfd->filename, ibfd->filename) == 0) + if (filename_cmp (newbfd->filename, ibfd->filename) == 0) break; } if (!newbfd) diff --git a/ld/testplug.c b/ld/testplug.c index f04df10fa05..9e1561c40fd 100644 --- a/ld/testplug.c +++ b/ld/testplug.c @@ -23,6 +23,7 @@ #include "plugin-api.h" /* For ARRAY_SIZE macro only - we don't link the library itself. */ #include "libiberty.h" +#include "filenames.h" extern enum ld_plugin_status onload (struct ld_plugin_tv *tv); static enum ld_plugin_status onclaim_file (const struct ld_plugin_input_file *file, @@ -519,7 +520,7 @@ onclaim_file (const struct ld_plugin_input_file *file, int *claimed) claim_file_t *claimfile = claimfiles_list; while (claimfile) { - if (!strcmp (file->name, claimfile->file.name)) + if (!filename_cmp (file->name, claimfile->file.name)) break; claimfile = claimfile->next; }