Fixed printing of 64-bit values forma. When compiling with cygwin with -mno-cygwin option the format should be like in MSVC

This commit is contained in:
Stanislav Shwartsman 2006-01-17 18:17:01 +00:00
parent f2fc4bbe5a
commit 83300a66dd
4 changed files with 34 additions and 39 deletions

View File

@ -6,7 +6,7 @@
CC="gcc"
CXX="g++"
CFLAGS="-O3 -march=pentium"
CFLAGS="-O3 -Wall -Wno-format -march=pentium"
CXXFLAGS="$CFLAGS"
export CC

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: instrument.cc,v 1.15 2006-01-16 19:53:11 sshwarts Exp $
// $Id: instrument.cc,v 1.16 2006-01-17 18:17:01 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -98,34 +98,25 @@ void bx_instr_new_instruction(unsigned cpu)
{
fprintf(stderr, "----------------------------------------------------------\n");
fprintf(stderr, "CPU: %d: %s\n", cpu, disasm_tbuf);
fprintf(stderr, "LEN: %d\tPREFIX: %d\tBYTES: ", length, i->nprefixes);
fprintf(stderr, "LEN: %d\tPREFIXES: %d\tBYTES: ", length, i->nprefixes);
for(n=0;n<length;n++) fprintf(stderr, "%02x", i->opcode[n]);
if(i->is_branch)
{
fprintf(stderr, "\tBRANCH ");
if(i->is_taken)
fprintf(stderr, "TARGET %08x (TAKEN)", i->target_linear);
fprintf(stderr, "TARGET " FMT_ADDRX " (TAKEN)", i->target_linear);
else
fprintf(stderr, "(NOT TAKEN)");
}
fprintf(stderr, "\nMEMORY ACCESSES: %u\n", i->num_data_accesses);
fprintf(stderr, "\n");
for(n=0;n<i->num_data_accesses;n++)
{
#if BX_SUPPORT_X86_64
fprintf(stderr, "MEM ACCESS: %08x%08x (linear) %08x (physical) %s SIZE: %d\n",
(Bit32u)(i->data_access[n].laddr >> 32),
(Bit32u)(i->data_access[n].laddr & 0xffffffff),
i->data_access[n].paddr,
i->data_access[n].op == BX_READ ? "RD":"WR",
i->data_access[n].size);
#else
fprintf(stderr, "MEM ACCESS: %08x (linear) %08x (physical) %s SIZE: %d\n",
fprintf(stderr, "MEM ACCESS[%u]: " FMT_ADDRX " (linear) 0x%08x (physical) %s SIZE: %d\n", n,
i->data_access[n].laddr,
i->data_access[n].paddr,
i->data_access[n].op == BX_READ ? "RD":"WR",
i->data_access[n].size);
#endif
}
fprintf(stderr, "\n");
}

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: instrument.cc,v 1.11 2006-01-16 19:53:11 sshwarts Exp $
// $Id: instrument.cc,v 1.12 2006-01-17 18:17:01 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -64,34 +64,25 @@ void bxInstrumentation::bx_instr_new_instruction()
{
fprintf(stderr, "----------------------------------------------------------\n");
fprintf(stderr, "CPU: %d: %s\n", cpu_id, disasm_tbuf);
fprintf(stderr, "LEN: %d\tPREFIX: %d\tBYTES: ", length, nprefixes);
fprintf(stderr, "LEN: %d\tPREFIXES: %d\tBYTES: ", length, nprefixes);
for(n=0;n<length;n++) fprintf(stderr, "%02x", opcode[n]);
if(is_branch)
{
fprintf(stderr, "\tBRANCH ");
if(is_taken)
fprintf(stderr, "TARGET %08x (TAKEN)", target_linear);
fprintf(stderr, "TARGET " FMT_ADDRX " (TAKEN)", target_linear);
else
fprintf(stderr, "(NOT TAKEN)");
}
fprintf(stderr, "\nMEMORY ACCESSES: %u\n", num_data_accesses);
fprintf(stderr, "\n");
for(n=0;n < num_data_accesses;n++)
{
#if BX_SUPPORT_X86_64
fprintf(stderr, "MEM ACCESS %u: %08x%08x (linear) %08x (physical) %s SIZE: %d\n", n,
(Bit32u)(data_access[n].laddr >> 32),
(Bit32u)(data_access[n].laddr & 0xffffffff),
fprintf(stderr, "MEM ACCESS[%u]: " FMT_ADDRX " (linear) 0x%08x (physical) %s SIZE: %d\n", n,
data_access[n].laddr,
data_access[n].paddr,
data_access[n].op == BX_READ ? "RD":"WR",
data_access[n].size);
#else
fprintf(stderr, "MEM ACCESS %u: %08x (linear) %08x (physical) %s SIZE: %d\n", n,
i->data_access[n].laddr,
i->data_access[n].paddr,
i->data_access[n].op == BX_READ ? "RD":"WR",
i->data_access[n].size);
#endif
}
fprintf(stderr, "\n");
}

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: osdep.h,v 1.23 2004-09-19 18:38:09 vruppert Exp $
// $Id: osdep.h,v 1.24 2006-01-17 18:17:01 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -52,12 +52,20 @@ extern "C" {
# define ssize_t long
#ifndef __MINGW32__
#define FMT_LL "%I64"
#define FMT_TICK "%011I64u"
// Definitions that are needed for WIN32 compilers EXCEPT FOR
// cygwin compiling with -mno-cygwin. e.g. VC++.
#if !defined(_MSC_VER) // gcc without -mno-cygwin
#define FMT_LL "%ll"
#define FMT_TICK "%011llu"
#define FMT_ADDRX64 "0x%016llx"
#else
#define FMT_LL "%I64"
#define FMT_TICK "%011I64u"
#define FMT_ADDRX64 "0x%016I64x"
#endif
// always return regular file.
# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
@ -77,18 +85,23 @@ extern "C" {
#define stat _stati64
#endif
#else /* ifndef __MINGW32__ */
#define FMT_LL "%ll"
#define FMT_TICK "%011llu"
#else /* __MINGW32__ defined */
// Definitions for cygwin compiled with -mno-cygwin
#define FMT_LL "%I64"
#define FMT_TICK "%011I64u"
#define FMT_ADDRX64 "0x%016I64x"
#define off_t __int64
#define lseek _lseeki64
#endif /* __MINGW32__ defined */
#endif /* ifndef __MINGW32__ */
#else /* WIN32 */
#else /* not WIN32 definitions */
#define FMT_LL "%ll"
#define FMT_TICK "%011llu"
#endif /* WIN32 */
#define FMT_ADDRX64 "0x%016llx"
#endif /* not WIN32 definitions */
#define FMT_ADDRX32 "0x%08x"
// Missing defines for open
#ifndef S_IRUSR