>
>I don't know if it has already been said on this list. Forgive me if
so.
I've already reported this some time ago. The impression I get is that
not too
many developers are using 64-bit machines...
The following patch works fine on 64 and 32 bit machines (Linux and OS
X).
diff -c -2 -r1.40 dyngen.c
*** dyngen.c 27 Apr 2005 19:55:58 -0000 1.40
--- dyngen.c 11 Aug 2005 16:14:49 -0000
***************
*** 1195,1205 ****
snprintf(name, name_size, "gen_labels[param%s]", p);
} else {
! #ifdef HOST_SPARC
if (sym_name[0] == '.')
! snprintf(name, sizeof(name),
"(long)(&__dot_%s)",
sym_name + 1);
else
! #endif
snprintf(name, name_size, "(long)(&%s)", sym_name);
}
--- 1195,1205 ----
snprintf(name, name_size, "gen_labels[param%s]", p);
} else {
! //#ifdef HOST_SPARC
if (sym_name[0] == '.')
! snprintf(name, name_size,
"(long)(&__dot_%s)",
sym_name + 1);
else
! //#endif
snprintf(name, name_size, "(long)(&%s)", sym_name);
}
***************
*** 1591,1595 ****
!strstart(sym_name, "__op_jmp", NULL) &&
!strstart(sym_name, "__op_gen_label", NULL)) {
! #if defined(HOST_SPARC)
if (sym_name[0] == '.') {
fprintf(outfile,
--- 1591,1595 ----
!strstart(sym_name, "__op_jmp", NULL) &&
!strstart(sym_name, "__op_gen_label", NULL)) {
! //#if defined(HOST_SPARC)
if (sym_name[0] == '.') {
fprintf(outfile,
***************
*** 1598,1602 ****
continue;
}
! #endif
#if defined(__APPLE__)
/* set __attribute((unused)) on darwin because we wan't to avoid
warning when we don't use the symbol */
--- 1598,1602 ----
continue;
}
! //#endif
#if defined(__APPLE__)
/* set __attribute((unused)) on darwin because we wan't to avoid
warning when we don't use the symbol */
_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel