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.
This commit is contained in:
parent
8b6efd89a4
commit
426278217b
21
ld/ChangeLog
21
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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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')))
|
||||
|
|
|
@ -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"),
|
||||
|
|
11
ld/pe-dll.c
11
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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue