forked from Imagelibrary/binutils-gdb
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:
190
gas/dwarf2dbg.c
190
gas/dwarf2dbg.c
@@ -216,12 +216,12 @@ static unsigned int get_filenum (const char *, unsigned int);
|
||||
static void
|
||||
generic_dwarf2_emit_offset (symbolS *symbol, unsigned int size)
|
||||
{
|
||||
expressionS expr;
|
||||
expressionS exp;
|
||||
|
||||
expr.X_op = O_symbol;
|
||||
expr.X_add_symbol = symbol;
|
||||
expr.X_add_number = 0;
|
||||
emit_expr (&expr, size);
|
||||
exp.X_op = O_symbol;
|
||||
exp.X_add_symbol = symbol;
|
||||
exp.X_add_number = 0;
|
||||
emit_expr (&exp, size);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -235,7 +235,7 @@ get_line_subseg (segT seg, subsegT subseg)
|
||||
static struct line_subseg *last_line_subseg;
|
||||
|
||||
struct line_seg *s;
|
||||
struct line_subseg **pss, *ss;
|
||||
struct line_subseg **pss, *lss;
|
||||
|
||||
if (seg == last_seg && subseg == last_subseg)
|
||||
return last_line_subseg;
|
||||
@@ -253,27 +253,27 @@ get_line_subseg (segT seg, subsegT subseg)
|
||||
}
|
||||
gas_assert (seg == s->seg);
|
||||
|
||||
for (pss = &s->head; (ss = *pss) != NULL ; pss = &ss->next)
|
||||
for (pss = &s->head; (lss = *pss) != NULL ; pss = &lss->next)
|
||||
{
|
||||
if (ss->subseg == subseg)
|
||||
if (lss->subseg == subseg)
|
||||
goto found_subseg;
|
||||
if (ss->subseg > subseg)
|
||||
if (lss->subseg > subseg)
|
||||
break;
|
||||
}
|
||||
|
||||
ss = (struct line_subseg *) xmalloc (sizeof (*ss));
|
||||
ss->next = *pss;
|
||||
ss->subseg = subseg;
|
||||
ss->head = NULL;
|
||||
ss->ptail = &ss->head;
|
||||
*pss = ss;
|
||||
lss = (struct line_subseg *) xmalloc (sizeof (*lss));
|
||||
lss->next = *pss;
|
||||
lss->subseg = subseg;
|
||||
lss->head = NULL;
|
||||
lss->ptail = &lss->head;
|
||||
*pss = lss;
|
||||
|
||||
found_subseg:
|
||||
last_seg = seg;
|
||||
last_subseg = subseg;
|
||||
last_line_subseg = ss;
|
||||
last_line_subseg = lss;
|
||||
|
||||
return ss;
|
||||
return lss;
|
||||
}
|
||||
|
||||
/* Record an entry for LOC occurring at LABEL. */
|
||||
@@ -281,7 +281,7 @@ get_line_subseg (segT seg, subsegT subseg)
|
||||
static void
|
||||
dwarf2_gen_line_info_1 (symbolS *label, struct dwarf2_line_info *loc)
|
||||
{
|
||||
struct line_subseg *ss;
|
||||
struct line_subseg *lss;
|
||||
struct line_entry *e;
|
||||
|
||||
e = (struct line_entry *) xmalloc (sizeof (*e));
|
||||
@@ -289,9 +289,9 @@ dwarf2_gen_line_info_1 (symbolS *label, struct dwarf2_line_info *loc)
|
||||
e->label = label;
|
||||
e->loc = *loc;
|
||||
|
||||
ss = get_line_subseg (now_seg, now_subseg);
|
||||
*ss->ptail = e;
|
||||
ss->ptail = &e->next;
|
||||
lss = get_line_subseg (now_seg, now_subseg);
|
||||
*lss->ptail = e;
|
||||
lss->ptail = &e->next;
|
||||
}
|
||||
|
||||
/* Record an entry for LOC occurring at OFS within the current fragment. */
|
||||
@@ -813,16 +813,16 @@ get_frag_fix (fragS *frag, segT seg)
|
||||
static void
|
||||
out_set_addr (symbolS *sym)
|
||||
{
|
||||
expressionS expr;
|
||||
expressionS exp;
|
||||
|
||||
out_opcode (DW_LNS_extended_op);
|
||||
out_uleb128 (sizeof_address + 1);
|
||||
|
||||
out_opcode (DW_LNE_set_address);
|
||||
expr.X_op = O_symbol;
|
||||
expr.X_add_symbol = sym;
|
||||
expr.X_add_number = 0;
|
||||
emit_expr (&expr, sizeof_address);
|
||||
exp.X_op = O_symbol;
|
||||
exp.X_add_symbol = sym;
|
||||
exp.X_add_number = 0;
|
||||
emit_expr (&exp, sizeof_address);
|
||||
}
|
||||
|
||||
#if DWARF2_LINE_MIN_INSN_LENGTH > 1
|
||||
@@ -1052,7 +1052,7 @@ static void
|
||||
emit_fixed_inc_line_addr (int line_delta, addressT addr_delta, fragS *frag,
|
||||
char *p, int len)
|
||||
{
|
||||
expressionS *exp;
|
||||
expressionS *pexp;
|
||||
segT line_seg;
|
||||
char *end = p + len;
|
||||
|
||||
@@ -1067,7 +1067,7 @@ emit_fixed_inc_line_addr (int line_delta, addressT addr_delta, fragS *frag,
|
||||
p += output_leb128 (p, line_delta, 1);
|
||||
}
|
||||
|
||||
exp = symbol_get_value_expression (frag->fr_symbol);
|
||||
pexp = symbol_get_value_expression (frag->fr_symbol);
|
||||
line_seg = subseg_get (".debug_line", 0);
|
||||
|
||||
/* The DW_LNS_fixed_advance_pc opcode has a 2-byte operand so it can
|
||||
@@ -1078,26 +1078,26 @@ emit_fixed_inc_line_addr (int line_delta, addressT addr_delta, fragS *frag,
|
||||
if (addr_delta > 50000)
|
||||
{
|
||||
symbolS *to_sym;
|
||||
expressionS expr;
|
||||
expressionS exp;
|
||||
|
||||
gas_assert (exp->X_op = O_subtract);
|
||||
to_sym = exp->X_add_symbol;
|
||||
gas_assert (pexp->X_op = O_subtract);
|
||||
to_sym = pexp->X_add_symbol;
|
||||
|
||||
*p++ = DW_LNS_extended_op;
|
||||
p += output_leb128 (p, sizeof_address + 1, 0);
|
||||
*p++ = DW_LNE_set_address;
|
||||
expr.X_op = O_symbol;
|
||||
expr.X_add_symbol = to_sym;
|
||||
expr.X_add_number = 0;
|
||||
exp.X_op = O_symbol;
|
||||
exp.X_add_symbol = to_sym;
|
||||
exp.X_add_number = 0;
|
||||
subseg_change (line_seg, 0);
|
||||
emit_expr_fix (&expr, sizeof_address, frag, p);
|
||||
emit_expr_fix (&exp, sizeof_address, frag, p);
|
||||
p += sizeof_address;
|
||||
}
|
||||
else
|
||||
{
|
||||
*p++ = DW_LNS_fixed_advance_pc;
|
||||
subseg_change (line_seg, 0);
|
||||
emit_expr_fix (exp, 2, frag, p);
|
||||
emit_expr_fix (pexp, 2, frag, p);
|
||||
p += 2;
|
||||
}
|
||||
|
||||
@@ -1119,13 +1119,13 @@ emit_fixed_inc_line_addr (int line_delta, addressT addr_delta, fragS *frag,
|
||||
static void
|
||||
relax_inc_line_addr (int line_delta, symbolS *to_sym, symbolS *from_sym)
|
||||
{
|
||||
expressionS expr;
|
||||
expressionS exp;
|
||||
int max_chars;
|
||||
|
||||
expr.X_op = O_subtract;
|
||||
expr.X_add_symbol = to_sym;
|
||||
expr.X_op_symbol = from_sym;
|
||||
expr.X_add_number = 0;
|
||||
exp.X_op = O_subtract;
|
||||
exp.X_add_symbol = to_sym;
|
||||
exp.X_op_symbol = from_sym;
|
||||
exp.X_add_number = 0;
|
||||
|
||||
/* The maximum size of the frag is the line delta with a maximum
|
||||
sized address delta. */
|
||||
@@ -1136,7 +1136,7 @@ relax_inc_line_addr (int line_delta, symbolS *to_sym, symbolS *from_sym)
|
||||
max_chars = size_inc_line_addr (line_delta, -DWARF2_LINE_MIN_INSN_LENGTH);
|
||||
|
||||
frag_var (rs_dwarf2dbg, max_chars, max_chars, 1,
|
||||
make_expr_symbol (&expr), line_delta, NULL);
|
||||
make_expr_symbol (&exp), line_delta, NULL);
|
||||
}
|
||||
|
||||
/* The function estimates the size of a rs_dwarf2dbg variant frag
|
||||
@@ -1368,7 +1368,7 @@ out_file_list (void)
|
||||
to the end of the section. */
|
||||
|
||||
static int
|
||||
out_header (asection *sec, expressionS *expr)
|
||||
out_header (asection *sec, expressionS *exp)
|
||||
{
|
||||
symbolS *start_sym;
|
||||
symbolS *end_sym;
|
||||
@@ -1378,26 +1378,26 @@ out_header (asection *sec, expressionS *expr)
|
||||
end_sym = symbol_temp_make ();
|
||||
|
||||
/* Total length of the information. */
|
||||
expr->X_op = O_subtract;
|
||||
expr->X_add_symbol = end_sym;
|
||||
expr->X_op_symbol = start_sym;
|
||||
exp->X_op = O_subtract;
|
||||
exp->X_add_symbol = end_sym;
|
||||
exp->X_op_symbol = start_sym;
|
||||
|
||||
switch (DWARF2_FORMAT (sec))
|
||||
{
|
||||
case dwarf2_format_32bit:
|
||||
expr->X_add_number = -4;
|
||||
emit_expr (expr, 4);
|
||||
exp->X_add_number = -4;
|
||||
emit_expr (exp, 4);
|
||||
return 4;
|
||||
|
||||
case dwarf2_format_64bit:
|
||||
expr->X_add_number = -12;
|
||||
exp->X_add_number = -12;
|
||||
out_four (-1);
|
||||
emit_expr (expr, 8);
|
||||
emit_expr (exp, 8);
|
||||
return 8;
|
||||
|
||||
case dwarf2_format_64bit_irix:
|
||||
expr->X_add_number = -8;
|
||||
emit_expr (expr, 8);
|
||||
exp->X_add_number = -8;
|
||||
emit_expr (exp, 8);
|
||||
return 8;
|
||||
}
|
||||
|
||||
@@ -1410,23 +1410,23 @@ out_header (asection *sec, expressionS *expr)
|
||||
static void
|
||||
out_debug_line (segT line_seg)
|
||||
{
|
||||
expressionS expr;
|
||||
expressionS exp;
|
||||
symbolS *prologue_end;
|
||||
symbolS *line_end;
|
||||
struct line_seg *s;
|
||||
int sizeof_offset;
|
||||
|
||||
sizeof_offset = out_header (line_seg, &expr);
|
||||
line_end = expr.X_add_symbol;
|
||||
sizeof_offset = out_header (line_seg, &exp);
|
||||
line_end = exp.X_add_symbol;
|
||||
|
||||
/* Version. */
|
||||
out_two (2);
|
||||
|
||||
/* Length of the prologue following this length. */
|
||||
prologue_end = symbol_temp_make ();
|
||||
expr.X_add_symbol = prologue_end;
|
||||
expr.X_add_number = - (4 + 2 + 4);
|
||||
emit_expr (&expr, sizeof_offset);
|
||||
exp.X_add_symbol = prologue_end;
|
||||
exp.X_add_number = - (4 + 2 + 4);
|
||||
emit_expr (&exp, sizeof_offset);
|
||||
|
||||
/* Parameters of the state machine. */
|
||||
out_byte (DWARF2_LINE_MIN_INSN_LENGTH);
|
||||
@@ -1465,7 +1465,7 @@ out_debug_ranges (segT ranges_seg)
|
||||
{
|
||||
unsigned int addr_size = sizeof_address;
|
||||
struct line_seg *s;
|
||||
expressionS expr;
|
||||
expressionS exp;
|
||||
unsigned int i;
|
||||
|
||||
subseg_set (ranges_seg, 0);
|
||||
@@ -1490,15 +1490,15 @@ out_debug_ranges (segT ranges_seg)
|
||||
end = symbol_temp_new (s->seg, get_frag_fix (frag, s->seg), frag);
|
||||
s->text_end = end;
|
||||
|
||||
expr.X_op = O_symbol;
|
||||
expr.X_add_symbol = beg;
|
||||
expr.X_add_number = 0;
|
||||
emit_expr (&expr, addr_size);
|
||||
exp.X_op = O_symbol;
|
||||
exp.X_add_symbol = beg;
|
||||
exp.X_add_number = 0;
|
||||
emit_expr (&exp, addr_size);
|
||||
|
||||
expr.X_op = O_symbol;
|
||||
expr.X_add_symbol = end;
|
||||
expr.X_add_number = 0;
|
||||
emit_expr (&expr, addr_size);
|
||||
exp.X_op = O_symbol;
|
||||
exp.X_add_symbol = end;
|
||||
exp.X_add_number = 0;
|
||||
emit_expr (&exp, addr_size);
|
||||
}
|
||||
|
||||
/* End of Range Entry. */
|
||||
@@ -1515,13 +1515,13 @@ out_debug_aranges (segT aranges_seg, segT info_seg)
|
||||
{
|
||||
unsigned int addr_size = sizeof_address;
|
||||
struct line_seg *s;
|
||||
expressionS expr;
|
||||
expressionS exp;
|
||||
symbolS *aranges_end;
|
||||
char *p;
|
||||
int sizeof_offset;
|
||||
|
||||
sizeof_offset = out_header (aranges_seg, &expr);
|
||||
aranges_end = expr.X_add_symbol;
|
||||
sizeof_offset = out_header (aranges_seg, &exp);
|
||||
aranges_end = exp.X_add_symbol;
|
||||
|
||||
/* Version. */
|
||||
out_two (2);
|
||||
@@ -1551,16 +1551,16 @@ out_debug_aranges (segT aranges_seg, segT info_seg)
|
||||
end = symbol_temp_new (s->seg, get_frag_fix (frag, s->seg), frag);
|
||||
s->text_end = end;
|
||||
|
||||
expr.X_op = O_symbol;
|
||||
expr.X_add_symbol = beg;
|
||||
expr.X_add_number = 0;
|
||||
emit_expr (&expr, addr_size);
|
||||
exp.X_op = O_symbol;
|
||||
exp.X_add_symbol = beg;
|
||||
exp.X_add_number = 0;
|
||||
emit_expr (&exp, addr_size);
|
||||
|
||||
expr.X_op = O_subtract;
|
||||
expr.X_add_symbol = end;
|
||||
expr.X_op_symbol = beg;
|
||||
expr.X_add_number = 0;
|
||||
emit_expr (&expr, addr_size);
|
||||
exp.X_op = O_subtract;
|
||||
exp.X_add_symbol = end;
|
||||
exp.X_op_symbol = beg;
|
||||
exp.X_add_number = 0;
|
||||
emit_expr (&exp, addr_size);
|
||||
}
|
||||
|
||||
p = frag_more (2 * addr_size);
|
||||
@@ -1617,14 +1617,14 @@ out_debug_info (segT info_seg, segT abbrev_seg, segT line_seg, segT ranges_seg)
|
||||
char producer[128];
|
||||
const char *comp_dir;
|
||||
const char *dirname;
|
||||
expressionS expr;
|
||||
expressionS exp;
|
||||
symbolS *info_end;
|
||||
char *p;
|
||||
int len;
|
||||
int sizeof_offset;
|
||||
|
||||
sizeof_offset = out_header (info_seg, &expr);
|
||||
info_end = expr.X_add_symbol;
|
||||
sizeof_offset = out_header (info_seg, &exp);
|
||||
info_end = exp.X_add_symbol;
|
||||
|
||||
/* DWARF version. */
|
||||
out_two (2);
|
||||
@@ -1647,16 +1647,16 @@ out_debug_info (segT info_seg, segT abbrev_seg, segT line_seg, segT ranges_seg)
|
||||
if (all_segs->next == NULL)
|
||||
{
|
||||
/* DW_AT_low_pc */
|
||||
expr.X_op = O_symbol;
|
||||
expr.X_add_symbol = all_segs->text_start;
|
||||
expr.X_add_number = 0;
|
||||
emit_expr (&expr, sizeof_address);
|
||||
exp.X_op = O_symbol;
|
||||
exp.X_add_symbol = all_segs->text_start;
|
||||
exp.X_add_number = 0;
|
||||
emit_expr (&exp, sizeof_address);
|
||||
|
||||
/* DW_AT_high_pc */
|
||||
expr.X_op = O_symbol;
|
||||
expr.X_add_symbol = all_segs->text_end;
|
||||
expr.X_add_number = 0;
|
||||
emit_expr (&expr, sizeof_address);
|
||||
exp.X_op = O_symbol;
|
||||
exp.X_add_symbol = all_segs->text_end;
|
||||
exp.X_add_number = 0;
|
||||
emit_expr (&exp, sizeof_address);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1750,13 +1750,13 @@ dwarf2_finish (void)
|
||||
/* For each subsection, chain the debug entries together. */
|
||||
for (s = all_segs; s; s = s->next)
|
||||
{
|
||||
struct line_subseg *ss = s->head;
|
||||
struct line_entry **ptail = ss->ptail;
|
||||
struct line_subseg *lss = s->head;
|
||||
struct line_entry **ptail = lss->ptail;
|
||||
|
||||
while ((ss = ss->next) != NULL)
|
||||
while ((lss = lss->next) != NULL)
|
||||
{
|
||||
*ptail = ss->head;
|
||||
ptail = ss->ptail;
|
||||
*ptail = lss->head;
|
||||
ptail = lss->ptail;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user