mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-03 18:13:01 +00:00
Remove two pieces of identical code used by Memcheck and Addrcheck, and put
them in a shared place. (They used to be different, when Addrcheck didn't distinguish between reads and writes, but now they're the same.) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1837
This commit is contained in:
parent
21175aa99b
commit
f8762eb55d
@ -52,27 +52,6 @@ void SK_(pp_SkinError) ( Error* err )
|
||||
VG_(pp_ExeContext)( VG_(get_error_where)(err) );
|
||||
break;
|
||||
|
||||
case AddrErr:
|
||||
switch (err_extra->axskind) {
|
||||
case ReadAxs:
|
||||
VG_(message)(Vg_UserMsg, "Invalid read of size %d",
|
||||
err_extra->size );
|
||||
break;
|
||||
case WriteAxs:
|
||||
VG_(message)(Vg_UserMsg, "Invalid write of size %d",
|
||||
err_extra->size );
|
||||
break;
|
||||
case ExecAxs:
|
||||
VG_(message)(Vg_UserMsg, "Jump to the invalid address "
|
||||
"stated on the next line");
|
||||
break;
|
||||
default:
|
||||
VG_(skin_panic)("SK_(pp_SkinError)(axskind)");
|
||||
}
|
||||
VG_(pp_ExeContext)( VG_(get_error_where)(err) );
|
||||
MAC_(pp_AddrInfo)(VG_(get_error_address)(err), &err_extra->addrinfo);
|
||||
break;
|
||||
|
||||
case ParamErr:
|
||||
VG_(message)(Vg_UserMsg,
|
||||
"Syscall param %s contains unaddressable byte(s)",
|
||||
|
||||
@ -287,6 +287,27 @@ void MAC_(pp_shared_SkinError) ( Error* err )
|
||||
MAC_(pp_AddrInfo)(VG_(get_error_address)(err), &err_extra->addrinfo);
|
||||
break;
|
||||
|
||||
case AddrErr:
|
||||
switch (err_extra->axskind) {
|
||||
case ReadAxs:
|
||||
VG_(message)(Vg_UserMsg, "Invalid read of size %d",
|
||||
err_extra->size );
|
||||
break;
|
||||
case WriteAxs:
|
||||
VG_(message)(Vg_UserMsg, "Invalid write of size %d",
|
||||
err_extra->size );
|
||||
break;
|
||||
case ExecAxs:
|
||||
VG_(message)(Vg_UserMsg, "Jump to the invalid address "
|
||||
"stated on the next line");
|
||||
break;
|
||||
default:
|
||||
VG_(skin_panic)("SK_(pp_SkinError)(axskind)");
|
||||
}
|
||||
VG_(pp_ExeContext)( VG_(get_error_where)(err) );
|
||||
MAC_(pp_AddrInfo)(VG_(get_error_address)(err), &err_extra->addrinfo);
|
||||
break;
|
||||
|
||||
case OverlapErr: {
|
||||
OverlapExtra* ov_extra = (OverlapExtra*)VG_(get_error_extra)(err);
|
||||
if (ov_extra->len == -1)
|
||||
|
||||
@ -65,27 +65,6 @@ void SK_(pp_SkinError) ( Error* err )
|
||||
VG_(pp_ExeContext)( VG_(get_error_where)(err) );
|
||||
break;
|
||||
|
||||
case AddrErr:
|
||||
switch (err_extra->axskind) {
|
||||
case ReadAxs:
|
||||
VG_(message)(Vg_UserMsg, "Invalid read of size %d",
|
||||
err_extra->size );
|
||||
break;
|
||||
case WriteAxs:
|
||||
VG_(message)(Vg_UserMsg, "Invalid write of size %d",
|
||||
err_extra->size );
|
||||
break;
|
||||
case ExecAxs:
|
||||
VG_(message)(Vg_UserMsg, "Jump to the invalid address "
|
||||
"stated on the next line");
|
||||
break;
|
||||
default:
|
||||
VG_(skin_panic)("SK_(pp_SkinError)(axskind)");
|
||||
}
|
||||
VG_(pp_ExeContext)( VG_(get_error_where)(err) );
|
||||
MAC_(pp_AddrInfo)(VG_(get_error_address)(err), &err_extra->addrinfo);
|
||||
break;
|
||||
|
||||
case ParamErr:
|
||||
if (err_extra->isWrite) {
|
||||
VG_(message)(Vg_UserMsg,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user