Add -Wshadow to the gcc command line options used when compiling the binutils.

Fix up all warnings generated by the addition of this switch.
This commit is contained in:
Nick Clifton 2009-12-11 13:42:17 +00:00
parent 01fe1b4183
commit 91d6fa6a03
228 changed files with 4810 additions and 4648 deletions

View file

@ -667,14 +667,14 @@ compare_relocs (const void *ap, const void *bp)
If SKIP_ZEROES is TRUE, omit leading zeroes. */
static void
objdump_print_value (bfd_vma vma, struct disassemble_info *info,
objdump_print_value (bfd_vma vma, struct disassemble_info *inf,
bfd_boolean skip_zeroes)
{
char buf[30];
char *p;
struct objdump_disasm_info *aux;
aux = (struct objdump_disasm_info *) info->application_data;
aux = (struct objdump_disasm_info *) inf->application_data;
bfd_sprintf_vma (aux->abfd, buf, vma);
if (! skip_zeroes)
p = buf;
@ -685,13 +685,13 @@ objdump_print_value (bfd_vma vma, struct disassemble_info *info,
if (*p == '\0')
--p;
}
(*info->fprintf_func) (info->stream, "%s", p);
(*inf->fprintf_func) (inf->stream, "%s", p);
}
/* Print the name of a symbol. */
static void
objdump_print_symname (bfd *abfd, struct disassemble_info *info,
objdump_print_symname (bfd *abfd, struct disassemble_info *inf,
asymbol *sym)
{
char *alloc;
@ -707,8 +707,8 @@ objdump_print_symname (bfd *abfd, struct disassemble_info *info,
name = alloc;
}
if (info != NULL)
(*info->fprintf_func) (info->stream, "%s", name);
if (inf != NULL)
(*inf->fprintf_func) (inf->stream, "%s", name);
else
printf ("%s", name);
@ -724,7 +724,7 @@ objdump_print_symname (bfd *abfd, struct disassemble_info *info,
static asymbol *
find_symbol_for_address (bfd_vma vma,
struct disassemble_info *info,
struct disassemble_info *inf,
long *place)
{
/* @@ Would it speed things up to cache the last two symbols returned,
@ -734,7 +734,7 @@ find_symbol_for_address (bfd_vma vma,
/* Indices in `sorted_syms'. */
long min = 0;
long max = sorted_symcount;
long max_count = sorted_symcount;
long thisplace;
struct objdump_disasm_info *aux;
bfd *abfd;
@ -745,22 +745,22 @@ find_symbol_for_address (bfd_vma vma,
if (sorted_symcount < 1)
return NULL;
aux = (struct objdump_disasm_info *) info->application_data;
aux = (struct objdump_disasm_info *) inf->application_data;
abfd = aux->abfd;
sec = aux->sec;
opb = info->octets_per_byte;
opb = inf->octets_per_byte;
/* Perform a binary search looking for the closest symbol to the
required value. We are searching the range (min, max]. */
while (min + 1 < max)
required value. We are searching the range (min, max_count]. */
while (min + 1 < max_count)
{
asymbol *sym;
thisplace = (max + min) / 2;
thisplace = (max_count + min) / 2;
sym = sorted_syms[thisplace];
if (bfd_asymbol_value (sym) > vma)
max = thisplace;
max_count = thisplace;
else if (bfd_asymbol_value (sym) < vma)
min = thisplace;
else
@ -783,12 +783,12 @@ find_symbol_for_address (bfd_vma vma,
with the same value, as can occur with overlays or zero size
sections. */
min = thisplace;
while (min < max
while (min < max_count
&& (bfd_asymbol_value (sorted_syms[min])
== bfd_asymbol_value (sorted_syms[thisplace])))
{
if (sorted_syms[min]->section == sec
&& info->symbol_is_valid (sorted_syms[min], info))
&& inf->symbol_is_valid (sorted_syms[min], inf))
{
thisplace = min;
@ -816,7 +816,7 @@ find_symbol_for_address (bfd_vma vma,
&& vma < (bfd_get_section_vma (abfd, sec)
+ bfd_section_size (abfd, sec) / opb)));
if ((sorted_syms[thisplace]->section != sec && want_section)
|| !info->symbol_is_valid (sorted_syms[thisplace], info))
|| ! inf->symbol_is_valid (sorted_syms[thisplace], inf))
{
long i;
long newplace = sorted_symcount;
@ -824,7 +824,7 @@ find_symbol_for_address (bfd_vma vma,
for (i = min - 1; i >= 0; i--)
{
if ((sorted_syms[i]->section == sec || !want_section)
&& info->symbol_is_valid (sorted_syms[i], info))
&& inf->symbol_is_valid (sorted_syms[i], inf))
{
if (newplace == sorted_symcount)
newplace = i;
@ -848,7 +848,7 @@ find_symbol_for_address (bfd_vma vma,
for (i = thisplace + 1; i < sorted_symcount; i++)
{
if ((sorted_syms[i]->section == sec || !want_section)
&& info->symbol_is_valid (sorted_syms[i], info))
&& inf->symbol_is_valid (sorted_syms[i], inf))
{
thisplace = i;
break;
@ -857,7 +857,7 @@ find_symbol_for_address (bfd_vma vma,
}
if ((sorted_syms[thisplace]->section != sec && want_section)
|| !info->symbol_is_valid (sorted_syms[thisplace], info))
|| ! inf->symbol_is_valid (sorted_syms[thisplace], inf))
/* There is no suitable symbol. */
return NULL;
}
@ -872,49 +872,49 @@ find_symbol_for_address (bfd_vma vma,
static void
objdump_print_addr_with_sym (bfd *abfd, asection *sec, asymbol *sym,
bfd_vma vma, struct disassemble_info *info,
bfd_vma vma, struct disassemble_info *inf,
bfd_boolean skip_zeroes)
{
objdump_print_value (vma, info, skip_zeroes);
objdump_print_value (vma, inf, skip_zeroes);
if (sym == NULL)
{
bfd_vma secaddr;
(*info->fprintf_func) (info->stream, " <%s",
bfd_get_section_name (abfd, sec));
(*inf->fprintf_func) (inf->stream, " <%s",
bfd_get_section_name (abfd, sec));
secaddr = bfd_get_section_vma (abfd, sec);
if (vma < secaddr)
{
(*info->fprintf_func) (info->stream, "-0x");
objdump_print_value (secaddr - vma, info, TRUE);
(*inf->fprintf_func) (inf->stream, "-0x");
objdump_print_value (secaddr - vma, inf, TRUE);
}
else if (vma > secaddr)
{
(*info->fprintf_func) (info->stream, "+0x");
objdump_print_value (vma - secaddr, info, TRUE);
(*inf->fprintf_func) (inf->stream, "+0x");
objdump_print_value (vma - secaddr, inf, TRUE);
}
(*info->fprintf_func) (info->stream, ">");
(*inf->fprintf_func) (inf->stream, ">");
}
else
{
(*info->fprintf_func) (info->stream, " <");
objdump_print_symname (abfd, info, sym);
(*inf->fprintf_func) (inf->stream, " <");
objdump_print_symname (abfd, inf, sym);
if (bfd_asymbol_value (sym) > vma)
{
(*info->fprintf_func) (info->stream, "-0x");
objdump_print_value (bfd_asymbol_value (sym) - vma, info, TRUE);
(*inf->fprintf_func) (inf->stream, "-0x");
objdump_print_value (bfd_asymbol_value (sym) - vma, inf, TRUE);
}
else if (vma > bfd_asymbol_value (sym))
{
(*info->fprintf_func) (info->stream, "+0x");
objdump_print_value (vma - bfd_asymbol_value (sym), info, TRUE);
(*inf->fprintf_func) (inf->stream, "+0x");
objdump_print_value (vma - bfd_asymbol_value (sym), inf, TRUE);
}
(*info->fprintf_func) (info->stream, ">");
(*inf->fprintf_func) (inf->stream, ">");
}
if (display_file_offsets)
info->fprintf_func (info->stream, _(" (File Offset: 0x%lx)"),
inf->fprintf_func (inf->stream, _(" (File Offset: 0x%lx)"),
(long int)(sec->filepos + (vma - sec->vma)));
}
@ -923,23 +923,23 @@ objdump_print_addr_with_sym (bfd *abfd, asection *sec, asymbol *sym,
static void
objdump_print_addr (bfd_vma vma,
struct disassemble_info *info,
struct disassemble_info *inf,
bfd_boolean skip_zeroes)
{
struct objdump_disasm_info *aux;
asymbol *sym = NULL;
bfd_boolean skip_find = FALSE;
aux = (struct objdump_disasm_info *) info->application_data;
aux = (struct objdump_disasm_info *) inf->application_data;
if (sorted_symcount < 1)
{
(*info->fprintf_func) (info->stream, "0x");
objdump_print_value (vma, info, skip_zeroes);
(*inf->fprintf_func) (inf->stream, "0x");
objdump_print_value (vma, inf, skip_zeroes);
if (display_file_offsets)
info->fprintf_func (info->stream, _(" (File Offset: 0x%lx)"),
(long int)(aux->sec->filepos + (vma - aux->sec->vma)));
inf->fprintf_func (inf->stream, _(" (File Offset: 0x%lx)"),
(long int)(aux->sec->filepos + (vma - aux->sec->vma)));
return;
}
@ -957,9 +957,9 @@ objdump_print_addr (bfd_vma vma,
}
if (!skip_find)
sym = find_symbol_for_address (vma, info, NULL);
sym = find_symbol_for_address (vma, inf, NULL);
objdump_print_addr_with_sym (aux->abfd, aux->sec, sym, vma, info,
objdump_print_addr_with_sym (aux->abfd, aux->sec, sym, vma, inf,
skip_zeroes);
}
@ -967,19 +967,19 @@ objdump_print_addr (bfd_vma vma,
routine. */
static void
objdump_print_address (bfd_vma vma, struct disassemble_info *info)
objdump_print_address (bfd_vma vma, struct disassemble_info *inf)
{
objdump_print_addr (vma, info, ! prefix_addresses);
objdump_print_addr (vma, inf, ! prefix_addresses);
}
/* Determine if the given address has a symbol associated with it. */
static int
objdump_symbol_at_address (bfd_vma vma, struct disassemble_info * info)
objdump_symbol_at_address (bfd_vma vma, struct disassemble_info * inf)
{
asymbol * sym;
sym = find_symbol_for_address (vma, info, NULL);
sym = find_symbol_for_address (vma, inf, NULL);
return (sym != NULL && (bfd_asymbol_value (sym) == vma));
}
@ -1191,15 +1191,15 @@ update_source_path (const char *filename)
/* Print a source file line. */
static void
print_line (struct print_file_list *p, unsigned int line)
print_line (struct print_file_list *p, unsigned int linenum)
{
const char *l;
size_t len;
--line;
if (line >= p->maxline)
--linenum;
if (linenum >= p->maxline)
return;
l = p->linemap [line];
l = p->linemap [linenum];
/* Test fwrite return value to quiet glibc warning. */
len = strcspn (l, "\n\r");
if (len == 0 || fwrite (l, len, 1, stdout) == 1)
@ -1228,14 +1228,14 @@ show_line (bfd *abfd, asection *section, bfd_vma addr_offset)
{
const char *filename;
const char *functionname;
unsigned int line;
unsigned int linenumber;
bfd_boolean reloc;
if (! with_line_numbers && ! with_source_code)
return;
if (! bfd_find_nearest_line (abfd, section, syms, addr_offset, &filename,
&functionname, &line))
&functionname, &linenumber))
return;
if (filename != NULL && *filename == '\0')
@ -1287,13 +1287,13 @@ show_line (bfd *abfd, asection *section, bfd_vma addr_offset)
&& (prev_functionname == NULL
|| strcmp (functionname, prev_functionname) != 0))
printf ("%s():\n", functionname);
if (line > 0 && line != prev_line)
printf ("%s:%u\n", filename == NULL ? "???" : filename, line);
if (linenumber > 0 && linenumber != prev_line)
printf ("%s:%u\n", filename == NULL ? "???" : filename, linenumber);
}
if (with_source_code
&& filename != NULL
&& line > 0)
&& linenumber > 0)
{
struct print_file_list **pp, *p;
unsigned l;
@ -1310,20 +1310,20 @@ show_line (bfd *abfd, asection *section, bfd_vma addr_offset)
p = update_source_path (filename);
}
if (p != NULL && line != p->last_line)
if (p != NULL && linenumber != p->last_line)
{
if (file_start_context && p->first)
l = 1;
else
{
l = line - SHOW_PRECEDING_CONTEXT_LINES;
if (l >= line)
l = linenumber - SHOW_PRECEDING_CONTEXT_LINES;
if (l >= linenumber)
l = 1;
if (p->last_line >= l && p->last_line <= line)
if (p->last_line >= l && p->last_line <= linenumber)
l = p->last_line + 1;
}
dump_lines (p, l, line);
p->last_line = line;
dump_lines (p, l, linenumber);
p->last_line = linenumber;
p->first = 0;
}
}
@ -1338,8 +1338,8 @@ show_line (bfd *abfd, asection *section, bfd_vma addr_offset)
strcpy (prev_functionname, functionname);
}
if (line > 0 && line != prev_line)
prev_line = line;
if (linenumber > 0 && linenumber != prev_line)
prev_line = linenumber;
}
/* Pseudo FILE object for strings. */
@ -1394,7 +1394,7 @@ objdump_sprintf (SFILE *f, const char *format, ...)
/* Disassemble some data in memory between given values. */
static void
disassemble_bytes (struct disassemble_info * info,
disassemble_bytes (struct disassemble_info * inf,
disassembler_ftype disassemble_fn,
bfd_boolean insns,
bfd_byte * data,
@ -1410,13 +1410,13 @@ disassemble_bytes (struct disassemble_info * info,
bfd_boolean done_dot;
int skip_addr_chars;
bfd_vma addr_offset;
unsigned int opb = info->octets_per_byte;
unsigned int skip_zeroes = info->skip_zeroes;
unsigned int skip_zeroes_at_end = info->skip_zeroes_at_end;
unsigned int opb = inf->octets_per_byte;
unsigned int skip_zeroes = inf->skip_zeroes;
unsigned int skip_zeroes_at_end = inf->skip_zeroes_at_end;
int octets = opb;
SFILE sfile;
aux = (struct objdump_disasm_info *) info->application_data;
aux = (struct objdump_disasm_info *) inf->application_data;
section = aux->sec;
sfile.alloc = 120;
@ -1452,7 +1452,7 @@ disassemble_bytes (struct disassemble_info * info,
skip_addr_chars = (skip_addr_chars - 1) & -4;
}
info->insn_info_valid = 0;
inf->insn_info_valid = 0;
done_dot = FALSE;
addr_offset = start_offset;
@ -1472,8 +1472,8 @@ disassemble_bytes (struct disassemble_info * info,
if (data[z] != 0)
break;
if (! disassemble_zeroes
&& (info->insn_info_valid == 0
|| info->branch_delay_insns == 0)
&& (inf->insn_info_valid == 0
|| inf->branch_delay_insns == 0)
&& (z - addr_offset * opb >= skip_zeroes
|| (z == stop_offset * opb &&
z - addr_offset * opb < skip_zeroes_at_end)))
@ -1523,7 +1523,7 @@ disassemble_bytes (struct disassemble_info * info,
else
{
aux->require_sec = TRUE;
objdump_print_address (section->vma + addr_offset, info);
objdump_print_address (section->vma + addr_offset, inf);
aux->require_sec = FALSE;
putchar (' ');
}
@ -1531,15 +1531,15 @@ disassemble_bytes (struct disassemble_info * info,
if (insns)
{
sfile.pos = 0;
info->fprintf_func = (fprintf_ftype) objdump_sprintf;
info->stream = &sfile;
info->bytes_per_line = 0;
info->bytes_per_chunk = 0;
info->flags = disassemble_all ? DISASSEMBLE_DATA : 0;
inf->fprintf_func = (fprintf_ftype) objdump_sprintf;
inf->stream = &sfile;
inf->bytes_per_line = 0;
inf->bytes_per_chunk = 0;
inf->flags = disassemble_all ? DISASSEMBLE_DATA : 0;
if (machine)
info->flags |= USER_SPECIFIED_MACHINE_TYPE;
inf->flags |= USER_SPECIFIED_MACHINE_TYPE;
if (info->disassembler_needs_relocs
if (inf->disassembler_needs_relocs
&& (bfd_get_file_flags (aux->abfd) & EXEC_P) == 0
&& (bfd_get_file_flags (aux->abfd) & DYNAMIC) == 0
&& *relppp < relppend)
@ -1566,18 +1566,18 @@ disassemble_bytes (struct disassemble_info * info,
|| (distance_to_rel > 0
&& distance_to_rel < (bfd_signed_vma) (previous_octets/ opb)))
{
info->flags |= INSN_HAS_RELOC;
inf->flags |= INSN_HAS_RELOC;
aux->reloc = **relppp;
}
else
aux->reloc = NULL;
}
octets = (*disassemble_fn) (section->vma + addr_offset, info);
info->fprintf_func = (fprintf_ftype) fprintf;
info->stream = stdout;
if (insn_width == 0 && info->bytes_per_line != 0)
octets_per_line = info->bytes_per_line;
octets = (*disassemble_fn) (section->vma + addr_offset, inf);
inf->fprintf_func = (fprintf_ftype) fprintf;
inf->stream = stdout;
if (insn_width == 0 && inf->bytes_per_line != 0)
octets_per_line = inf->bytes_per_line;
if (octets < 0)
{
if (sfile.pos)
@ -1615,8 +1615,8 @@ disassemble_bytes (struct disassemble_info * info,
if (pb > octets_per_line && ! prefix_addresses && ! wide_output)
pb = octets_per_line;
if (info->bytes_per_chunk)
bpc = info->bytes_per_chunk;
if (inf->bytes_per_chunk)
bpc = inf->bytes_per_chunk;
else
bpc = 1;
@ -1624,7 +1624,7 @@ disassemble_bytes (struct disassemble_info * info,
{
int k;
if (bpc > 1 && info->display_endian == BFD_ENDIAN_LITTLE)
if (bpc > 1 && inf->display_endian == BFD_ENDIAN_LITTLE)
{
for (k = bpc - 1; k >= 0; k--)
printf ("%02x", (unsigned) data[j + k]);
@ -1685,7 +1685,7 @@ disassemble_bytes (struct disassemble_info * info,
{
int k;
if (bpc > 1 && info->display_endian == BFD_ENDIAN_LITTLE)
if (bpc > 1 && inf->display_endian == BFD_ENDIAN_LITTLE)
{
for (k = bpc - 1; k >= 0; k--)
printf ("%02x", (unsigned) data[j + k]);
@ -1722,7 +1722,7 @@ disassemble_bytes (struct disassemble_info * info,
printf ("\t\t\t");
objdump_print_value (section->vma - rel_offset + q->address,
info, TRUE);
inf, TRUE);
if (q->howto == NULL)
printf (": *unknown*\t");
@ -1739,7 +1739,7 @@ disassemble_bytes (struct disassemble_info * info,
sym_name = bfd_asymbol_name (*q->sym_ptr_ptr);
if (sym_name != NULL && *sym_name != '\0')
objdump_print_symname (aux->abfd, info, *q->sym_ptr_ptr);
objdump_print_symname (aux->abfd, inf, *q->sym_ptr_ptr);
else
{
asection *sym_sec;
@ -1755,7 +1755,7 @@ disassemble_bytes (struct disassemble_info * info,
if (q->addend)
{
printf ("+0x");
objdump_print_value (q->addend, info, TRUE);
objdump_print_value (q->addend, inf, TRUE);
}
printf ("\n");
@ -1774,11 +1774,11 @@ disassemble_bytes (struct disassemble_info * info,
}
static void
disassemble_section (bfd *abfd, asection *section, void *info)
disassemble_section (bfd *abfd, asection *section, void *inf)
{
const struct elf_backend_data * bed;
bfd_vma sign_adjust = 0;
struct disassemble_info * pinfo = (struct disassemble_info *) info;
struct disassemble_info * pinfo = (struct disassemble_info *) inf;
struct objdump_disasm_info * paux;
unsigned int opb = pinfo->octets_per_byte;
bfd_byte * data = NULL;
@ -1888,7 +1888,7 @@ disassemble_section (bfd *abfd, asection *section, void *info)
/* Find the nearest symbol forwards from our current position. */
paux->require_sec = TRUE;
sym = (asymbol *) find_symbol_for_address (section->vma + addr_offset,
(struct disassemble_info *) info,
(struct disassemble_info *) inf,
&place);
paux->require_sec = FALSE;
@ -2056,12 +2056,12 @@ disassemble_data (bfd *abfd)
if (machine != NULL)
{
const bfd_arch_info_type *info = bfd_scan_arch (machine);
const bfd_arch_info_type *inf = bfd_scan_arch (machine);
if (info == NULL)
if (inf == NULL)
fatal (_("Can't use supplied machine %s"), machine);
abfd->arch_info = info;
abfd->arch_info = inf;
}
if (endian != BFD_ENDIAN_UNKNOWN)
@ -2665,26 +2665,26 @@ static void
dump_symbols (bfd *abfd ATTRIBUTE_UNUSED, bfd_boolean dynamic)
{
asymbol **current;
long max;
long max_count;
long count;
if (dynamic)
{
current = dynsyms;
max = dynsymcount;
max_count = dynsymcount;
printf ("DYNAMIC SYMBOL TABLE:\n");
}
else
{
current = syms;
max = symcount;
max_count = symcount;
printf ("SYMBOL TABLE:\n");
}
if (max == 0)
if (max_count == 0)
printf (_("no symbols\n"));
for (count = 0; count < max; count++)
for (count = 0; count < max_count; count++)
{
bfd *cur_bfd;
@ -2759,7 +2759,7 @@ dump_reloc_set (bfd *abfd, asection *sec, arelent **relpp, long relcount)
{
arelent *q = *p;
const char *filename, *functionname;
unsigned int line;
unsigned int linenumber;
const char *sym_name;
const char *section_name;
@ -2773,7 +2773,7 @@ dump_reloc_set (bfd *abfd, asection *sec, arelent **relpp, long relcount)
if (with_line_numbers
&& sec != NULL
&& bfd_find_nearest_line (abfd, sec, syms, q->address,
&filename, &functionname, &line))
&filename, &functionname, &linenumber))
{
if (functionname != NULL
&& (last_functionname == NULL
@ -2785,14 +2785,14 @@ dump_reloc_set (bfd *abfd, asection *sec, arelent **relpp, long relcount)
last_functionname = xstrdup (functionname);
}
if (line > 0
&& (line != last_line
if (linenumber > 0
&& (linenumber != last_line
|| (filename != NULL
&& last_filename != NULL
&& strcmp (filename, last_filename) != 0)))
{
printf ("%s:%u\n", filename == NULL ? "???" : filename, line);
last_line = line;
printf ("%s:%u\n", filename == NULL ? "???" : filename, linenumber);
last_line = linenumber;
if (last_filename != NULL)
free (last_filename);
if (filename == NULL)