Syscall DPRINTF and warning cleanup.
base/trace.hh: Need std:: on DPRINTFR reference to string class. base/traceflags.py: Remove SyscallWarnings trace flag... we should always print warnings so nothing undesirable goes unnoticed. Replaced with (currently unused) Syscall flag. sim/syscall_emul.cc: Change SyscallWarning DPRINTFs into warn() calls. Uncomment SyscallVerbose DPRINTFs. sim/syscall_emul.hh: Change SyscallWarning DPRINTFs into warn() calls. Call fatal() instead of ad-hoc termination. --HG-- extra : convert_revision : dc6c2ce3691a129f697b6a6ae5d889e2dbaab228
This commit is contained in:
parent
d727c2b6cf
commit
99bf6ed084
4 changed files with 11 additions and 19 deletions
|
@ -203,7 +203,7 @@ do { \
|
|||
#define DPRINTFR(x, args...) \
|
||||
do { \
|
||||
if (Trace::IsOn(Trace::x)) \
|
||||
__dprintf((Tick)-1, string(), args, cp::ArgListNull()); \
|
||||
__dprintf((Tick)-1, std::string(), args, cp::ArgListNull()); \
|
||||
} while (0)
|
||||
|
||||
#define DPRINTFN(args...) \
|
||||
|
|
|
@ -98,7 +98,7 @@ baseFlags = [
|
|||
'Serialize',
|
||||
'Event',
|
||||
'PCEvent',
|
||||
'SyscallWarnings',
|
||||
'Syscall',
|
||||
'SyscallVerbose',
|
||||
'DiskImage',
|
||||
'DiskImageRead',
|
||||
|
|
|
@ -61,12 +61,7 @@ SyscallReturn
|
|||
unimplementedFunc(SyscallDesc *desc, int callnum, Process *process,
|
||||
ExecContext *xc)
|
||||
{
|
||||
cerr << "Error: syscall " << desc->name
|
||||
<< " (#" << callnum << ") unimplemented.";
|
||||
cerr << " Args: " << xc->getSyscallArg(0) << ", " << xc->getSyscallArg(1)
|
||||
<< ", ..." << endl;
|
||||
|
||||
abort();
|
||||
fatal("syscall %s (#%d) unimplemented.", desc->name, callnum);
|
||||
}
|
||||
|
||||
|
||||
|
@ -74,10 +69,8 @@ SyscallReturn
|
|||
ignoreFunc(SyscallDesc *desc, int callnum, Process *process,
|
||||
ExecContext *xc)
|
||||
{
|
||||
DCOUT(SyscallWarnings) << "Warning: ignoring syscall " << desc->name
|
||||
<< "(" << xc->getSyscallArg(0)
|
||||
<< ", " << xc->getSyscallArg(1)
|
||||
<< ", ...)" << endl;
|
||||
warn("ignoring syscall %s(%d, %d, ...)", desc->name,
|
||||
xc->getSyscallArg(0), xc->getSyscallArg(1));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -272,7 +272,7 @@ ioctlFunc(SyscallDesc *desc, int callnum, Process *process,
|
|||
int fd = xc->getSyscallArg(0);
|
||||
unsigned req = xc->getSyscallArg(1);
|
||||
|
||||
// DPRINTFR(SyscallVerbose, "ioctl(%d, 0x%x, ...)\n", fd, req);
|
||||
DPRINTF(SyscallVerbose, "ioctl(%d, 0x%x, ...)\n", fd, req);
|
||||
|
||||
if (fd < 0 || process->sim_fd(fd) < 0) {
|
||||
// doesn't map to any simulator fd: not a valid target fd
|
||||
|
@ -396,7 +396,7 @@ fstatFunc(SyscallDesc *desc, int callnum, Process *process,
|
|||
{
|
||||
int fd = process->sim_fd(xc->getSyscallArg(0));
|
||||
|
||||
// DPRINTFR(SyscallVerbose, "fstat(%d, ...)\n", fd);
|
||||
DPRINTF(SyscallVerbose, "fstat(%d, ...)\n", fd);
|
||||
|
||||
if (fd < 0)
|
||||
return -EBADF;
|
||||
|
@ -493,7 +493,7 @@ mmapFunc(SyscallDesc *desc, int num, Process *p, ExecContext *xc)
|
|||
}
|
||||
|
||||
if (!(flags & OS::TGT_MAP_ANONYMOUS)) {
|
||||
DPRINTF(SyscallWarnings, "Warning: allowing mmap of file @ fd %d. "
|
||||
warn("allowing mmap of file @ fd %d. "
|
||||
"This will break if not /dev/zero.", xc->getSyscallArg(4));
|
||||
}
|
||||
|
||||
|
@ -555,9 +555,8 @@ getrusageFunc(SyscallDesc *desc, int callnum, Process *process,
|
|||
if (who != OS::RUSAGE_SELF) {
|
||||
// don't really handle THREAD or CHILDREN, but just warn and
|
||||
// plow ahead
|
||||
DCOUT(SyscallWarnings)
|
||||
<< "Warning: getrusage() only supports RUSAGE_SELF."
|
||||
<< " Parameter " << who << " ignored." << std::endl;
|
||||
warn("getrusage() only supports RUSAGE_SELF. Parameter %d ignored.",
|
||||
who);
|
||||
}
|
||||
|
||||
getElapsedTime(rup->ru_utime.tv_sec, rup->ru_utime.tv_usec);
|
||||
|
|
Loading…
Reference in a new issue