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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
#include "uc_priv.h"
|
||||
#include "unicorn_common.h"
|
||||
#include "unicorn.h"
|
||||
#include "stdio.h"
|
||||
#include "inttypes.h"
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -1074,6 +1074,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
||||
#endif
|
||||
}
|
||||
|
||||
CHECK_RET_DEPRECATE(ret, regid);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1983,6 +1984,7 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
|
||||
#endif
|
||||
}
|
||||
|
||||
CHECK_RET_DEPRECATE(ret, regid);
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -100,6 +100,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
||||
}
|
||||
}
|
||||
|
||||
CHECK_RET_DEPRECATE(ret, regid);
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -204,6 +204,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
||||
}
|
||||
}
|
||||
|
||||
CHECK_RET_DEPRECATE(ret, regid);
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -126,6 +126,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
||||
}
|
||||
}
|
||||
|
||||
CHECK_RET_DEPRECATE(ret, regid);
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
CHECK_RET_DEPRECATE(ret, regid);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -113,6 +113,7 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
|
||||
break;
|
||||
}
|
||||
}
|
||||
CHECK_RET_DEPRECATE(ret, regid);
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -138,6 +138,7 @@ uc_err reg_read(void *_env, int mode, unsigned int regid, void *value,
|
||||
}
|
||||
}
|
||||
|
||||
CHECK_RET_DEPRECATE(ret, regid);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -240,7 +241,8 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
CHECK_RET_DEPRECATE(ret, regid);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -154,4 +154,16 @@ static inline void uc_common_init(struct uc_struct* uc)
|
||||
ret = UC_ERR_OK; \
|
||||
} 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
|
||||
|
||||
Reference in New Issue
Block a user