From: Stefan Weil <weil@mail.berlios.de>
To: QEMU Developers <qemu-devel@nongnu.org>
Subject: [Qemu-devel] [PATCH] Change variable "name" to avoid shadow warnings
Date: Sun, 10 Jun 2007 17:20:41 +0200 [thread overview]
Message-ID: <466C16C9.9090803@mail.berlios.de> (raw)
[-- Attachment #1: Type: text/plain, Size: 486 bytes --]
Maybe it would be a good idea to add more warnings to the
QEMU compiler options. The current option -Wall (in files
Makefile.target, configure) does not activate all warnings.
I think that especially -Wshadow should be added because code
with shadowed variables is more difficult to read and maintain
(and potentially contains more bugs).
The current QEMU code is full of shadowed variables.
My patch only removes some of them by renaming
"name" into "relname" in dyngen.c.
Stefan
[-- Attachment #2: name.patch --]
[-- Type: text/x-diff, Size: 25549 bytes --]
Index: dyngen.c
===================================================================
RCS file: /sources/qemu/qemu/dyngen.c,v
retrieving revision 1.52
diff -u -b -B -r1.52 dyngen.c
--- dyngen.c 8 May 2007 22:51:41 -0000 1.52
+++ dyngen.c 9 Jun 2007 17:48:09 -0000
@@ -1845,7 +1845,7 @@
/* patch relocations */
#if defined(HOST_I386)
{
- char name[256];
+ char relname[256];
int type;
int addend;
int reloc_offset;
@@ -1868,18 +1868,18 @@
continue;
}
- get_reloc_expr(name, sizeof(name), sym_name);
+ get_reloc_expr(relname, sizeof(relname), sym_name);
addend = get32((uint32_t *)(text + rel->r_offset));
#ifdef CONFIG_FORMAT_ELF
type = ELF32_R_TYPE(rel->r_info);
switch(type) {
case R_386_32:
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = %s + %d;\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
case R_386_PC32:
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = %s - (long)(gen_code_ptr + %d) + %d;\n",
- reloc_offset, name, reloc_offset, addend);
+ reloc_offset, relname, reloc_offset, addend);
break;
default:
error("unsupported i386 relocation (%d)", type);
@@ -1902,11 +1902,11 @@
switch(type) {
case DIR32:
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = %s + %d;\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
case DISP32:
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = %s - (long)(gen_code_ptr + %d) + %d -4;\n",
- reloc_offset, name, reloc_offset, addend);
+ reloc_offset, relname, reloc_offset, addend);
break;
default:
error("unsupported i386 relocation (%d)", type);
@@ -1919,7 +1919,7 @@
}
#elif defined(HOST_X86_64)
{
- char name[256];
+ char relname[256];
int type;
int addend;
int reloc_offset;
@@ -1927,22 +1927,22 @@
if (rel->r_offset >= start_offset &&
rel->r_offset < start_offset + copy_size) {
sym_name = strtab + symtab[ELFW(R_SYM)(rel->r_info)].st_name;
- get_reloc_expr(name, sizeof(name), sym_name);
+ get_reloc_expr(relname, sizeof(relname), sym_name);
type = ELF32_R_TYPE(rel->r_info);
addend = rel->r_addend;
reloc_offset = rel->r_offset - start_offset;
switch(type) {
case R_X86_64_32:
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = (uint32_t)%s + %d;\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
case R_X86_64_32S:
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = (int32_t)%s + %d;\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
case R_X86_64_PC32:
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = %s - (long)(gen_code_ptr + %d) + %d;\n",
- reloc_offset, name, reloc_offset, addend);
+ reloc_offset, relname, reloc_offset, addend);
break;
default:
error("unsupported X86_64 relocation (%d)", type);
@@ -1953,7 +1953,7 @@
#elif defined(HOST_PPC)
{
#ifdef CONFIG_FORMAT_ELF
- char name[256];
+ char relname[256];
int type;
int addend;
int reloc_offset;
@@ -1974,30 +1974,30 @@
continue;
}
- get_reloc_expr(name, sizeof(name), sym_name);
+ get_reloc_expr(relname, sizeof(relname), sym_name);
type = ELF32_R_TYPE(rel->r_info);
addend = rel->r_addend;
switch(type) {
case R_PPC_ADDR32:
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = %s + %d;\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
case R_PPC_ADDR16_LO:
fprintf(outfile, " *(uint16_t *)(gen_code_ptr + %d) = (%s + %d);\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
case R_PPC_ADDR16_HI:
fprintf(outfile, " *(uint16_t *)(gen_code_ptr + %d) = (%s + %d) >> 16;\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
case R_PPC_ADDR16_HA:
fprintf(outfile, " *(uint16_t *)(gen_code_ptr + %d) = (%s + %d + 0x8000) >> 16;\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
case R_PPC_REL24:
/* warning: must be at 32 MB distancy */
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = (*(uint32_t *)(gen_code_ptr + %d) & ~0x03fffffc) | ((%s - (long)(gen_code_ptr + %d) + %d) & 0x03fffffc);\n",
- reloc_offset, reloc_offset, name, reloc_offset, addend);
+ reloc_offset, reloc_offset, relname, reloc_offset, addend);
break;
default:
error("unsupported powerpc relocation (%d)", type);
@@ -2055,7 +2055,7 @@
if(!sym_name)
{
fprintf(outfile, "/* #warning relocation not handled in %s (value 0x%x, %s, offset 0x%x, length 0x%x, %s, type 0x%x) */\n",
- name, value, usesym ? "use sym" : "don't use sym", offset, length, pcrel ? "pcrel":"", type);
+ relname, value, usesym ? "use sym" : "don't use sym", offset, length, pcrel ? "pcrel":"", type);
continue; /* dunno how to handle without final_sym_name */
}
@@ -2067,7 +2067,7 @@
fprintf(outfile, "{\n");
fprintf(outfile, " uint32_t imm = *(uint32_t *)(gen_code_ptr + %d) & 0x3fffffc;\n", slide);
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = (*(uint32_t *)(gen_code_ptr + %d) & ~0x03fffffc) | ((imm + ((long)%s - (long)gen_code_ptr) + %d) & 0x03fffffc);\n",
- slide, slide, name, sslide );
+ slide, slide, relname, sslide );
fprintf(outfile, "}\n");
} else {
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = (*(uint32_t *)(gen_code_ptr + %d) & ~0x03fffffc) | (((long)%s - (long)gen_code_ptr - %d) & 0x03fffffc);\n",
@@ -2096,7 +2096,7 @@
}
#elif defined(HOST_S390)
{
- char name[256];
+ char relname[256];
int type;
int addend;
int reloc_offset;
@@ -2104,22 +2104,22 @@
if (rel->r_offset >= start_offset &&
rel->r_offset < start_offset + copy_size) {
sym_name = strtab + symtab[ELFW(R_SYM)(rel->r_info)].st_name;
- get_reloc_expr(name, sizeof(name), sym_name);
+ get_reloc_expr(relname, sizeof(relname), sym_name);
type = ELF32_R_TYPE(rel->r_info);
addend = rel->r_addend;
reloc_offset = rel->r_offset - start_offset;
switch(type) {
case R_390_32:
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = %s + %d;\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
case R_390_16:
fprintf(outfile, " *(uint16_t *)(gen_code_ptr + %d) = %s + %d;\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
case R_390_8:
fprintf(outfile, " *(uint8_t *)(gen_code_ptr + %d) = %s + %d;\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
default:
error("unsupported s390 relocation (%d)", type);
@@ -2187,7 +2187,7 @@
{
unsigned long sym_idx;
long code_offset;
- char name[256];
+ char relname[256];
int type;
long addend;
@@ -2210,7 +2210,7 @@
n, code_offset);
continue;
}
- get_reloc_expr(name, sizeof(name), sym_name);
+ get_reloc_expr(relname, sizeof(relname), sym_name);
type = ELF64_R_TYPE(rel->r_info);
addend = rel->r_addend;
switch(type) {
@@ -2218,19 +2218,19 @@
fprintf(outfile,
" ia64_imm64(gen_code_ptr + %ld, "
"%s + %ld);\n",
- code_offset, name, addend);
+ code_offset, relname, addend);
break;
case R_IA64_LTOFF22X:
case R_IA64_LTOFF22:
fprintf(outfile, " IA64_LTOFF(gen_code_ptr + %ld,"
" %s + %ld, %d);\n",
- code_offset, name, addend,
+ code_offset, relname, addend,
(type == R_IA64_LTOFF22X));
break;
case R_IA64_LDXMOV:
fprintf(outfile,
" ia64_ldxmov(gen_code_ptr + %ld,"
- " %s + %ld);\n", code_offset, name, addend);
+ " %s + %ld);\n", code_offset, relname, addend);
break;
case R_IA64_PCREL21B:
@@ -2239,7 +2239,7 @@
" ia64_imm21b(gen_code_ptr + %ld,"
" (long) (%s + %ld -\n\t\t"
"((long) gen_code_ptr + %ld)) >> 4);\n",
- code_offset, name, addend,
+ code_offset, relname, addend,
code_offset & ~0xfUL);
} else {
fprintf(outfile,
@@ -2260,7 +2260,7 @@
}
#elif defined(HOST_SPARC)
{
- char name[256];
+ char relname[256];
int type;
int addend;
int reloc_offset;
@@ -2268,14 +2268,14 @@
if (rel->r_offset >= start_offset &&
rel->r_offset < start_offset + copy_size) {
sym_name = strtab + symtab[ELF32_R_SYM(rel->r_info)].st_name;
- get_reloc_expr(name, sizeof(name), sym_name);
+ get_reloc_expr(relname, sizeof(relname), sym_name);
type = ELF32_R_TYPE(rel->r_info);
addend = rel->r_addend;
reloc_offset = rel->r_offset - start_offset;
switch(type) {
case R_SPARC_32:
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = %s + %d;\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
case R_SPARC_HI22:
fprintf(outfile,
@@ -2283,7 +2283,7 @@
"((*(uint32_t *)(gen_code_ptr + %d)) "
" & ~0x3fffff) "
" | (((%s + %d) >> 10) & 0x3fffff);\n",
- reloc_offset, reloc_offset, name, addend);
+ reloc_offset, reloc_offset, relname, addend);
break;
case R_SPARC_LO10:
fprintf(outfile,
@@ -2291,7 +2291,7 @@
"((*(uint32_t *)(gen_code_ptr + %d)) "
" & ~0x3ff) "
" | ((%s + %d) & 0x3ff);\n",
- reloc_offset, reloc_offset, name, addend);
+ reloc_offset, reloc_offset, relname, addend);
break;
case R_SPARC_WDISP30:
fprintf(outfile,
@@ -2300,7 +2300,7 @@
" & ~0x3fffffff) "
" | ((((%s + %d) - (long)(gen_code_ptr + %d))>>2) "
" & 0x3fffffff);\n",
- reloc_offset, reloc_offset, name, addend,
+ reloc_offset, reloc_offset, relname, addend,
reloc_offset);
break;
case R_SPARC_WDISP22:
@@ -2312,7 +2312,7 @@
" & 0x3fffff);\n",
rel->r_offset - start_offset,
rel->r_offset - start_offset,
- name, addend,
+ relname, addend,
rel->r_offset - start_offset);
break;
default:
@@ -2323,7 +2323,7 @@
}
#elif defined(HOST_SPARC64)
{
- char name[256];
+ char relname[256];
int type;
int addend;
int reloc_offset;
@@ -2331,14 +2331,14 @@
if (rel->r_offset >= start_offset &&
rel->r_offset < start_offset + copy_size) {
sym_name = strtab + symtab[ELF64_R_SYM(rel->r_info)].st_name;
- get_reloc_expr(name, sizeof(name), sym_name);
+ get_reloc_expr(relname, sizeof(relname), sym_name);
type = ELF32_R_TYPE(rel->r_info);
addend = rel->r_addend;
reloc_offset = rel->r_offset - start_offset;
switch(type) {
case R_SPARC_32:
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = %s + %d;\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
case R_SPARC_HI22:
fprintf(outfile,
@@ -2346,7 +2346,7 @@
"((*(uint32_t *)(gen_code_ptr + %d)) "
" & ~0x3fffff) "
" | (((%s + %d) >> 10) & 0x3fffff);\n",
- reloc_offset, reloc_offset, name, addend);
+ reloc_offset, reloc_offset, relname, addend);
break;
case R_SPARC_LO10:
fprintf(outfile,
@@ -2354,7 +2354,7 @@
"((*(uint32_t *)(gen_code_ptr + %d)) "
" & ~0x3ff) "
" | ((%s + %d) & 0x3ff);\n",
- reloc_offset, reloc_offset, name, addend);
+ reloc_offset, reloc_offset, relname, addend);
break;
case R_SPARC_OLO10:
addend += ELF64_R_TYPE_DATA (rel->r_info);
@@ -2363,7 +2363,7 @@
"((*(uint32_t *)(gen_code_ptr + %d)) "
" & ~0x3ff) "
" | ((%s + %d) & 0x3ff);\n",
- reloc_offset, reloc_offset, name, addend);
+ reloc_offset, reloc_offset, relname, addend);
break;
case R_SPARC_WDISP30:
fprintf(outfile,
@@ -2372,7 +2372,7 @@
" & ~0x3fffffff) "
" | ((((%s + %d) - (long)(gen_code_ptr + %d))>>2) "
" & 0x3fffffff);\n",
- reloc_offset, reloc_offset, name, addend,
+ reloc_offset, reloc_offset, relname, addend,
reloc_offset);
break;
case R_SPARC_WDISP22:
@@ -2382,7 +2382,7 @@
" & ~0x3fffff) "
" | ((((%s + %d) - (long)(gen_code_ptr + %d))>>2) "
" & 0x3fffff);\n",
- reloc_offset, reloc_offset, name, addend,
+ reloc_offset, reloc_offset, relname, addend,
reloc_offset);
break;
case R_SPARC_HH22:
@@ -2391,7 +2391,7 @@
"((*(uint32_t *)(gen_code_ptr + %d)) "
" & ~0x00000000) "
" | (((%s + %d) >> 42) & 0x00000000);\n",
- reloc_offset, reloc_offset, name, addend);
+ reloc_offset, reloc_offset, relname, addend);
break;
case R_SPARC_LM22:
@@ -2400,7 +2400,7 @@
"((*(uint32_t *)(gen_code_ptr + %d)) "
" & ~0x00000000) "
" | (((%s + %d) >> 10) & 0x00000000);\n",
- reloc_offset, reloc_offset, name, addend);
+ reloc_offset, reloc_offset, relname, addend);
break;
case R_SPARC_HM10:
@@ -2409,18 +2409,18 @@
"((*(uint32_t *)(gen_code_ptr + %d)) "
" & ~0x00000000) "
" | ((((%s + %d) >> 32 & 0x3ff)) & 0x00000000);\n",
- reloc_offset, reloc_offset, name, addend);
+ reloc_offset, reloc_offset, relname, addend);
break;
default:
- error("unsupported sparc64 relocation (%d) for symbol %s", type, name);
+ error("unsupported sparc64 relocation (%d) for symbol %s", type, relname);
}
}
}
}
#elif defined(HOST_ARM)
{
- char name[256];
+ char relname[256];
int type;
int addend;
int reloc_offset;
@@ -2455,7 +2455,7 @@
fprintf(outfile,
" *(uint32_t *)gen_code_ptr = 0x%x;\n", opcode);
}
- arm_emit_ldr_info(name, start_offset, outfile, p_start, p_end,
+ arm_emit_ldr_info(relname, start_offset, outfile, p_start, p_end,
relocs, nb_relocs);
for(i = 0, rel = relocs;i < nb_relocs; i++, rel++) {
@@ -2465,20 +2465,20 @@
/* the compiler leave some unnecessary references to the code */
if (sym_name[0] == '\0')
continue;
- get_reloc_expr(name, sizeof(name), sym_name);
+ get_reloc_expr(relname, sizeof(relname), sym_name);
type = ELF32_R_TYPE(rel->r_info);
addend = get32((uint32_t *)(text + rel->r_offset));
reloc_offset = rel->r_offset - start_offset;
switch(type) {
case R_ARM_ABS32:
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = %s + %d;\n",
- reloc_offset, name, addend);
+ reloc_offset, relname, addend);
break;
case R_ARM_PC24:
case R_ARM_JUMP24:
case R_ARM_CALL:
fprintf(outfile, " arm_reloc_pc24((uint32_t *)(gen_code_ptr + %d), 0x%x, %s);\n",
- reloc_offset, addend, name);
+ reloc_offset, addend, relname);
break;
default:
error("unsupported arm relocation (%d)", type);
@@ -2488,7 +2488,7 @@
}
#elif defined(HOST_M68K)
{
- char name[256];
+ char relname[256];
int type;
int addend;
int reloc_offset;
@@ -2498,7 +2498,7 @@
rel->r_offset < start_offset + copy_size) {
sym = &(symtab[ELFW(R_SYM)(rel->r_info)]);
sym_name = strtab + symtab[ELFW(R_SYM)(rel->r_info)].st_name;
- get_reloc_expr(name, sizeof(name), sym_name);
+ get_reloc_expr(relname, sizeof(relname), sym_name);
type = ELF32_R_TYPE(rel->r_info);
addend = get32((uint32_t *)(text + rel->r_offset)) + rel->r_addend;
reloc_offset = rel->r_offset - start_offset;
@@ -2506,12 +2506,12 @@
case R_68K_32:
fprintf(outfile, " /* R_68K_32 RELOC, offset %x */\n", rel->r_offset) ;
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = %s + %#x;\n",
- reloc_offset, name, addend );
+ reloc_offset, relname, addend );
break;
case R_68K_PC32:
fprintf(outfile, " /* R_68K_PC32 RELOC, offset %x */\n", rel->r_offset);
fprintf(outfile, " *(uint32_t *)(gen_code_ptr + %d) = %s - (long)(gen_code_ptr + %#x) + %#x;\n",
- reloc_offset, name, reloc_offset, /*sym->st_value+*/ addend);
+ reloc_offset, relname, reloc_offset, /*sym->st_value+*/ addend);
break;
default:
error("unsupported m68k relocation (%d)", type);
@@ -2523,7 +2523,7 @@
{
for (i = 0, rel = relocs; i < nb_relocs; i++, rel++) {
if (rel->r_offset >= start_offset && rel->r_offset < start_offset + copy_size) {
- char name[256];
+ char relname[256];
int type;
int addend;
int reloc_offset;
@@ -2532,7 +2532,7 @@
/* the compiler leave some unnecessary references to the code */
if (sym_name[0] == '\0')
continue;
- get_reloc_expr(name, sizeof(name), sym_name);
+ get_reloc_expr(relname, sizeof(relname), sym_name);
type = ELF32_R_TYPE(rel->r_info);
addend = get32((uint32_t *)(text + rel->r_offset));
reloc_offset = rel->r_offset - start_offset;
@@ -2545,7 +2545,7 @@
"(0x%x & ~0x3fffff) "
"| ((0x%x + ((%s - (*(uint32_t *)(gen_code_ptr + 0x%x))) >> 2)) "
" & 0x3fffff);\n",
- reloc_offset, addend, addend, name, reloc_offset);
+ reloc_offset, addend, addend, relname, reloc_offset);
break;
case R_MIPS_HI16:
fprintf(outfile, " /* R_MIPS_HI16 RELOC, offset 0x%x, name %s */\n",
@@ -2555,7 +2555,7 @@
"((*(uint32_t *)(gen_code_ptr + 0x%x)) "
" & ~0xffff) "
" | (((%s - 0x8000) >> 16) & 0xffff);\n",
- reloc_offset, reloc_offset, name);
+ reloc_offset, reloc_offset, relname);
break;
case R_MIPS_LO16:
fprintf(outfile, " /* R_MIPS_LO16 RELOC, offset 0x%x, name %s */\n",
@@ -2565,7 +2565,7 @@
"((*(uint32_t *)(gen_code_ptr + 0x%x)) "
" & ~0xffff) "
" | (%s & 0xffff);\n",
- reloc_offset, reloc_offset, name);
+ reloc_offset, reloc_offset, relname);
break;
case R_MIPS_PC16:
fprintf(outfile, " /* R_MIPS_PC16 RELOC, offset 0x%x, name %s */\n",
@@ -2575,7 +2575,7 @@
"(0x%x & ~0xffff) "
"| ((0x%x + ((%s - (*(uint32_t *)(gen_code_ptr + 0x%x))) >> 2)) "
" & 0xffff);\n",
- reloc_offset, addend, addend, name, reloc_offset);
+ reloc_offset, addend, addend, relname, reloc_offset);
break;
case R_MIPS_GOT16:
case R_MIPS_CALL16:
@@ -2586,7 +2586,7 @@
"((*(uint32_t *)(gen_code_ptr + 0x%x)) "
" & ~0xffff) "
" | (((%s - 0x8000) >> 16) & 0xffff);\n",
- reloc_offset, reloc_offset, name);
+ reloc_offset, reloc_offset, relname);
break;
default:
error("unsupported MIPS relocation (%d)", type);
next reply other threads:[~2007-06-10 15:20 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-10 15:20 Stefan Weil [this message]
2007-06-10 17:17 ` [Qemu-devel] [PATCH] Change variable "name" to avoid shadow warnings Blue Swirl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=466C16C9.9090803@mail.berlios.de \
--to=weil@mail.berlios.de \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).