* [Qemu-devel] [PATCH rebased/amended] microblaze: fix custom fprintf with _FORTIFY_SOURCE=2
@ 2010-04-19 20:36 Thomas Monjalon
0 siblings, 0 replies; only message in thread
From: Thomas Monjalon @ 2010-04-19 20:36 UTC (permalink / raw)
To: qemu-devel; +Cc: Edgar E. Iglesias
From: Thomas Monjalon <thomas@monjalon.net>
Using GCC-4.2.4-1ubuntu4, there is a warning:
microblaze-dis.c:792: warning: unused variable 'fprintf'
Indeed, fprintf() is shadowed by a custom redefinition but is not used because
of FORTIFY_SOURCE option which replace calls to fprintf() by fprintf_chk().
It is fixed by renaming the variable which prevents from hazardous shadowing.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
microblaze-dis.c | 62 +++++++++++++++++++++++++++---------------------------
1 files changed, 31 insertions(+), 31 deletions(-)
diff --git a/microblaze-dis.c b/microblaze-dis.c
index 9235fd8..7694a43 100644
--- a/microblaze-dis.c
+++ b/microblaze-dis.c
@@ -789,7 +789,7 @@ read_insn_microblaze (bfd_vma memaddr,
int
print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
{
- fprintf_ftype fprintf = info->fprintf_func;
+ fprintf_ftype fprintf_func = info->fprintf_func;
void * stream = info->stream;
unsigned long inst, prev_inst;
struct op_code_struct * op, *pop;
@@ -826,19 +826,19 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
prev_insn_vma = curr_insn_vma;
if (op->name == 0) {
- fprintf (stream, ".short 0x%04lx", inst);
+ fprintf_func (stream, ".short 0x%04lx", inst);
}
else
{
- fprintf (stream, "%s", op->name);
+ fprintf_func (stream, "%s", op->name);
switch (op->inst_type)
{
case INST_TYPE_RD_R1_R2:
- fprintf(stream, "\t%s, %s, %s", get_field_rd(inst), get_field_r1(inst), get_field_r2(inst));
+ fprintf_func(stream, "\t%s, %s, %s", get_field_rd(inst), get_field_r1(inst), get_field_r2(inst));
break;
case INST_TYPE_RD_R1_IMM:
- fprintf(stream, "\t%s, %s, %s", get_field_rd(inst), get_field_r1(inst), get_field_imm(inst));
+ fprintf_func(stream, "\t%s, %s, %s", get_field_rd(inst), get_field_r1(inst), get_field_imm(inst));
if (info->print_address_func && get_int_field_r1(inst) == 0 && info->symbol_at_address_func) {
if (immfound)
immval |= (get_int_field_imm(inst) & 0x0000ffff);
@@ -848,34 +848,34 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
immval |= 0xFFFF0000;
}
if (immval > 0 && info->symbol_at_address_func(immval, info)) {
- fprintf (stream, "\t// ");
+ fprintf_func (stream, "\t// ");
info->print_address_func (immval, info);
}
}
break;
case INST_TYPE_RD_R1_IMM5:
- fprintf(stream, "\t%s, %s, %s", get_field_rd(inst), get_field_r1(inst), get_field_imm5(inst));
+ fprintf_func(stream, "\t%s, %s, %s", get_field_rd(inst), get_field_r1(inst), get_field_imm5(inst));
break;
case INST_TYPE_RD_RFSL:
- fprintf(stream, "\t%s, %s", get_field_rd(inst), get_field_rfsl(inst));
+ fprintf_func(stream, "\t%s, %s", get_field_rd(inst), get_field_rfsl(inst));
break;
case INST_TYPE_R1_RFSL:
- fprintf(stream, "\t%s, %s", get_field_r1(inst), get_field_rfsl(inst));
+ fprintf_func(stream, "\t%s, %s", get_field_r1(inst), get_field_rfsl(inst));
break;
case INST_TYPE_RD_SPECIAL:
- fprintf(stream, "\t%s, %s", get_field_rd(inst), get_field_special(inst, op));
+ fprintf_func(stream, "\t%s, %s", get_field_rd(inst), get_field_special(inst, op));
break;
case INST_TYPE_SPECIAL_R1:
- fprintf(stream, "\t%s, %s", get_field_special(inst, op), get_field_r1(inst));
+ fprintf_func(stream, "\t%s, %s", get_field_special(inst, op), get_field_r1(inst));
break;
case INST_TYPE_RD_R1:
- fprintf(stream, "\t%s, %s", get_field_rd(inst), get_field_r1(inst));
+ fprintf_func(stream, "\t%s, %s", get_field_rd(inst), get_field_r1(inst));
break;
case INST_TYPE_R1_R2:
- fprintf(stream, "\t%s, %s", get_field_r1(inst), get_field_r2(inst));
+ fprintf_func(stream, "\t%s, %s", get_field_r1(inst), get_field_r2(inst));
break;
case INST_TYPE_R1_IMM:
- fprintf(stream, "\t%s, %s", get_field_r1(inst), get_field_imm(inst));
+ fprintf_func(stream, "\t%s, %s", get_field_r1(inst), get_field_imm(inst));
/* The non-pc relative instructions are returns, which shouldn't
have a label printed */
if (info->print_address_func && op->inst_offset_type == INST_PC_OFFSET && info->symbol_at_address_func) {
@@ -888,16 +888,16 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
}
immval += memaddr;
if (immval > 0 && info->symbol_at_address_func(immval, info)) {
- fprintf (stream, "\t// ");
+ fprintf_func (stream, "\t// ");
info->print_address_func (immval, info);
} else {
- fprintf (stream, "\t\t// ");
- fprintf (stream, "%x", immval);
+ fprintf_func (stream, "\t\t// ");
+ fprintf_func (stream, "%x", immval);
}
}
break;
case INST_TYPE_RD_IMM:
- fprintf(stream, "\t%s, %s", get_field_rd(inst), get_field_imm(inst));
+ fprintf_func(stream, "\t%s, %s", get_field_rd(inst), get_field_imm(inst));
if (info->print_address_func && info->symbol_at_address_func) {
if (immfound)
immval |= (get_int_field_imm(inst) & 0x0000ffff);
@@ -909,13 +909,13 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
if (op->inst_offset_type == INST_PC_OFFSET)
immval += (int) memaddr;
if (info->symbol_at_address_func(immval, info)) {
- fprintf (stream, "\t// ");
+ fprintf_func (stream, "\t// ");
info->print_address_func (immval, info);
}
}
break;
case INST_TYPE_IMM:
- fprintf(stream, "\t%s", get_field_imm(inst));
+ fprintf_func(stream, "\t%s", get_field_imm(inst));
if (info->print_address_func && info->symbol_at_address_func && op->instr != imm) {
if (immfound)
immval |= (get_int_field_imm(inst) & 0x0000ffff);
@@ -927,39 +927,39 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
if (op->inst_offset_type == INST_PC_OFFSET)
immval += (int) memaddr;
if (immval > 0 && info->symbol_at_address_func(immval, info)) {
- fprintf (stream, "\t// ");
+ fprintf_func (stream, "\t// ");
info->print_address_func (immval, info);
} else if (op->inst_offset_type == INST_PC_OFFSET) {
- fprintf (stream, "\t\t// ");
- fprintf (stream, "%x", immval);
+ fprintf_func (stream, "\t\t// ");
+ fprintf_func (stream, "%x", immval);
}
}
break;
case INST_TYPE_RD_R2:
- fprintf(stream, "\t%s, %s", get_field_rd(inst), get_field_r2(inst));
+ fprintf_func(stream, "\t%s, %s", get_field_rd(inst), get_field_r2(inst));
break;
case INST_TYPE_R2:
- fprintf(stream, "\t%s", get_field_r2(inst));
+ fprintf_func(stream, "\t%s", get_field_r2(inst));
break;
case INST_TYPE_R1:
- fprintf(stream, "\t%s", get_field_r1(inst));
+ fprintf_func(stream, "\t%s", get_field_r1(inst));
break;
case INST_TYPE_RD_R1_SPECIAL:
- fprintf(stream, "\t%s, %s", get_field_rd(inst), get_field_r2(inst));
+ fprintf_func(stream, "\t%s, %s", get_field_rd(inst), get_field_r2(inst));
break;
case INST_TYPE_RD_IMM15:
- fprintf(stream, "\t%s, %s", get_field_rd(inst), get_field_imm15(inst));
+ fprintf_func(stream, "\t%s, %s", get_field_rd(inst), get_field_imm15(inst));
break;
/* For tuqula instruction */
case INST_TYPE_RD:
- fprintf(stream, "\t%s", get_field_rd(inst));
+ fprintf_func(stream, "\t%s", get_field_rd(inst));
break;
case INST_TYPE_RFSL:
- fprintf(stream, "\t%s", get_field_rfsl(inst));
+ fprintf_func(stream, "\t%s", get_field_rfsl(inst));
break;
default:
/* if the disassembler lags the instruction set */
- fprintf (stream, "\tundecoded operands, inst is 0x%04lx", inst);
+ fprintf_func (stream, "\tundecoded operands, inst is 0x%04lx", inst);
break;
}
}
--
1.7.0.5
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2010-04-19 20:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-19 20:36 [Qemu-devel] [PATCH rebased/amended] microblaze: fix custom fprintf with _FORTIFY_SOURCE=2 Thomas Monjalon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).