aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog21
-rw-r--r--ld/emultempl/beos.em9
-rw-r--r--ld/emultempl/elf32.em13
-rw-r--r--ld/emultempl/pe.em18
-rw-r--r--ld/emultempl/pep.em18
-rw-r--r--ld/ldfile.c2
-rw-r--r--ld/ldlang.c9
-rw-r--r--ld/ldmisc.c5
-rw-r--r--ld/pe-dll.c11
-rw-r--r--ld/testplug.c3
10 files changed, 70 insertions, 39 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index aa459a0..8ed86f3 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,24 @@
+2011-02-28 Kai Tietz <kai.tietz@onevision.com>
+
+ * 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 <hongjiu.lu@intel.com>
PR ld/12507
diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em
index 6dc6375..cd96729 100644
--- a/ld/emultempl/beos.em
+++ b/ld/emultempl/beos.em
@@ -40,6 +40,7 @@ fragment <<EOF
#include "bfdlink.h"
#include "getopt.h"
#include "libiberty.h"
+#include "filenames.h"
#include "ld.h"
#include "ldmain.h"
#include "ldexp.h"
@@ -396,13 +397,13 @@ sort_by_file_name (const void *a, const void *b)
const lang_statement_union_type *const *rb = b;
int i, a_sec, b_sec;
- i = strcmp ((*ra)->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 ddcd590..17fb8bf 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -40,6 +40,7 @@ fragment <<EOF
#include "sysdep.h"
#include "bfd.h"
#include "libiberty.h"
+#include "filenames.h"
#include "safe-ctype.h"
#include "getopt.h"
#include "md5.h"
@@ -200,7 +201,7 @@ gld${EMULATION_NAME}_vercheck (lang_input_statement_type *s)
{
const char *suffix;
- if (strcmp (soname, l->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 a3e4cdd..9b800cd 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
@@ -56,6 +56,7 @@ fragment <<EOF
#include "bfdlink.h"
#include "getopt.h"
#include "libiberty.h"
+#include "filenames.h"
#include "ld.h"
#include "ldmain.h"
#include "ldexp.h"
@@ -1405,8 +1406,9 @@ gld_${EMULATION_NAME}_after_open (void)
? bfd_get_filename (blhe->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 a307c14..2119367 100644
--- a/ld/emultempl/pep.em
+++ b/ld/emultempl/pep.em
@@ -44,6 +44,7 @@ fragment <<EOF
#include "bfdlink.h"
#include "getopt.h"
#include "libiberty.h"
+#include "filenames.h"
#include "ld.h"
#include "ldmain.h"
#include "ldexp.h"
@@ -1318,8 +1319,9 @@ gld_${EMULATION_NAME}_after_open (void)
? bfd_get_filename (blhe->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 a9a6954..5bbe1d8 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 7ffbf45..0caa452 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 3695800..d5001d1 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 <stdarg.h>
#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 0c1c0de..7de718a 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 <time.h>
@@ -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 f04df10..9e1561c 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;
}