summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/ChangeLog13
-rw-r--r--binutils/debug.c5
-rw-r--r--binutils/ieee.c13
-rw-r--r--binutils/nlmconv.c3
-rw-r--r--binutils/objcopy.c6
-rw-r--r--binutils/objdump.c4
-rw-r--r--binutils/resbin.c1
-rw-r--r--binutils/srconv.c3
-rw-r--r--binutils/wrstabs.c3
-rw-r--r--gas/ChangeLog13
-rw-r--r--gas/depend.c3
-rw-r--r--gas/dwarf2dbg.c14
-rw-r--r--gas/ecoff.c6
-rw-r--r--gas/input-scrub.c3
-rw-r--r--gas/listing.c5
-rw-r--r--gas/remap.c3
-rw-r--r--gas/stabs.c7
17 files changed, 72 insertions, 33 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index f481dbf8a6..7d0b89d208 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,16 @@
+2011-02-28 Kai Tietz <kai.tietz@onevision.com>
+
+ * debug.c (debug_start_source): Use filename_(n)cmp.
+ * ieee.c (ieee_finish_compilation_unit): Likewise.
+ (ieee_lineno): Likewise.
+ * nlmconv.c (main): Likewise.
+ * objcopy.c (strip_main): Likewise.
+ (copy_main): Likewise.
+ * objdump.c (show_line): Likewise.
+ (dump_reloc_set): Likewise.
+ * srconv.c (main): Likewise.
+ * wrstabs.c (stab_lineno): Likewise.
+
2011-02-24 Zachary T Welch <zwelch@codesourcery.com>
* readelf.c (decode_arm_unwind): Implement decoding of remaining
diff --git a/binutils/debug.c b/binutils/debug.c
index ebe63f1f25..ee0d62e8ff 100644
--- a/binutils/debug.c
+++ b/binutils/debug.c
@@ -31,6 +31,7 @@
#include <assert.h>
#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 char *name)
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;
diff --git a/binutils/ieee.c b/binutils/ieee.c
index 34b937342e..c8460dc765 100644
--- a/binutils/ieee.c
+++ b/binutils/ieee.c
@@ -4938,7 +4938,7 @@ ieee_finish_compilation_unit (struct ieee_handle *info)
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 *filename, unsigned long lineno, bfd_vma addr)
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 *filename, unsigned long lineno, bfd_vma addr)
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. */
diff --git a/binutils/nlmconv.c b/binutils/nlmconv.c
index a675f61b62..157b41c21f 100644
--- a/binutils/nlmconv.c
+++ b/binutils/nlmconv.c
@@ -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"));
}
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index ac176df589..51ea732fc6 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -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;
diff --git a/binutils/objdump.c b/binutils/objdump.c
index 0be662f147..034514a4e2 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -1348,7 +1348,7 @@ show_line (bfd *abfd, asection *section, bfd_vma addr_offset)
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, arelent **relpp, long relcount)
&& (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;
diff --git a/binutils/resbin.c b/binutils/resbin.c
index c35af98180..b3682f72ad 100644
--- a/binutils/resbin.c
+++ b/binutils/resbin.c
@@ -1867,6 +1867,7 @@ res_to_bin_stringtable (windres_bfd *wrbfd, rc_uint_type off,
unichar *s;
slen = (rc_uint_type) st->strings[i].length;
+ if (slen == 0xffffffff) slen = 0;
s = st->strings[i].string;
length = 2 + slen * 2;
diff --git a/binutils/srconv.c b/binutils/srconv.c
index c288fd5df8..7b3d4a7550 100644
--- a/binutils/srconv.c
+++ b/binutils/srconv.c
@@ -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"));
}
diff --git a/binutils/wrstabs.c b/binutils/wrstabs.c
index fd2283f2e2..0ca861ce8d 100644
--- a/binutils/wrstabs.c
+++ b/binutils/wrstabs.c
@@ -27,6 +27,7 @@
#include <assert.h>
#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, unsigned long lineno, bfd_vma addr)
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;
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 29f36845d0..8fcce3e0f4 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,16 @@
+2011-02-28 Kai Tietz <kai.tietz@onevision.com>
+
+ * depend.c (register_dependency): Use filename_(n)cmp.
+ * dwarf2dbg.c (get_filenum): Likewise.
+ * ecoff.c (add_file): Likewise.
+ (ecoff_generate_asm_lineno): Likewise.
+ * input-scrub.c (new_logical_line_flags): Likewise.
+ * listing.c (file_info): Likewise.
+ (listing_newline): Likewise.
+ * remap.c (remap_debug_filename): Likewise.
+ * stabs.c (generate_asm_file): Likewise.
+ (stabs_generate_asm_lineno): Likewise.
+
2011-02-28 Maciej W. Rozycki <macro@codesourcery.com>
* config/tc-mips.c (append_insn): Disable branch relaxation for
diff --git a/gas/depend.c b/gas/depend.c
index afa512e514..7a3c54c4e1 100644
--- a/gas/depend.c
+++ b/gas/depend.c
@@ -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;
}
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index 85c1f30e89..587920f7d3 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -431,14 +431,14 @@ get_filenum (const char *filename, unsigned int num)
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, unsigned int num)
--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, unsigned int num)
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;
diff --git a/gas/ecoff.c b/gas/ecoff.c
index d623ba9ca9..27e48e5f0b 100644
--- a/gas/ecoff.c
+++ b/gas/ecoff.c
@@ -2257,7 +2257,7 @@ add_file (const char *file_name, int indx ATTRIBUTE_UNUSED, int fake)
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 indx ATTRIBUTE_UNUSED, int fake)
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 ();
diff --git a/gas/input-scrub.c b/gas/input-scrub.c
index e1ff5cc0a5..d616f632ec 100644
--- a/gas/input-scrub.c
+++ b/gas/input-scrub.c
@@ -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, /* DON'T destroy it! We point to it! */
if (fname
&& (logical_input_file == NULL
- || strcmp (logical_input_file, fname)))
+ || filename_cmp (logical_input_file, fname)))
{
logical_input_file = fname;
return 1;
diff --git a/gas/listing.c b/gas/listing.c
index bc6af712a0..6d28f316c3 100644
--- a/gas/listing.c
+++ b/gas/listing.c
@@ -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));
diff --git a/gas/remap.c b/gas/remap.c
index b334b2c6e2..0c863fb10d 100644
--- a/gas/remap.c
+++ b/gas/remap.c
@@ -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 *filename)
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;
diff --git a/gas/stabs.c b/gas/stabs.c
index d19bf2b9c2..f197ebdac7 100644
--- a/gas/stabs.c
+++ b/gas/stabs.c
@@ -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);