Revert previous break changes that return UC_ERR_ARG for non-existing registers
But print a warning instead
This commit is contained in:
@@ -266,6 +266,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -399,6 +400,7 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
#include "uc_priv.h"
|
#include "uc_priv.h"
|
||||||
#include "unicorn_common.h"
|
#include "unicorn_common.h"
|
||||||
#include "unicorn.h"
|
#include "unicorn.h"
|
||||||
|
#include "stdio.h"
|
||||||
|
#include "inttypes.h"
|
||||||
|
|
||||||
ARMCPU *cpu_arm_init(struct uc_struct *uc);
|
ARMCPU *cpu_arm_init(struct uc_struct *uc);
|
||||||
|
|
||||||
@@ -353,6 +355,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -553,6 +556,7 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1074,6 +1074,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1983,6 +1984,7 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,6 +110,7 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,6 +150,7 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -204,6 +204,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -265,6 +266,7 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -176,6 +177,7 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,6 +113,7 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,6 +127,7 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -138,6 +138,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -241,6 +242,7 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CHECK_RET_DEPRECATE(ret, regid);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -154,4 +154,16 @@ static inline void uc_common_init(struct uc_struct* uc)
|
|||||||
ret = UC_ERR_OK; \
|
ret = UC_ERR_OK; \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
|
#define CHECK_RET_DEPRECATE(ret, regid) do { \
|
||||||
|
if (ret == UC_ERR_ARG && !getenv("UC_IGNORE_REG_BREAK")) { \
|
||||||
|
fprintf(stderr, \
|
||||||
|
"WARNING: Your register accessing on id %"PRIu32" is deprecated" \
|
||||||
|
" and will get UC_ERR_ARG in the future release (2.2.0) because" \
|
||||||
|
" the accessing is either no-op or not defined." \
|
||||||
|
" Set UC_IGNORE_REG_BREAK=1 to ignore this warning.\n", \
|
||||||
|
regid); \
|
||||||
|
ret = UC_ERR_OK; \
|
||||||
|
} \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user