diff options
author | Jin Kyu Song <jin.kyu.song@intel.com> | 2013-11-29 00:38:29 -0800 |
---|---|---|
committer | Jin Kyu Song <jin.kyu.song@intel.com> | 2013-12-04 20:06:23 -0800 |
commit | bb8cf3fa77e63f7c6a02d23bbfe3426beff26358 (patch) | |
tree | 99545a9b4797aa0706776d99b1b53eb2c6e78815 | |
parent | 0873ef5626d7cdfcb87bf4c8643cc508e79549b8 (diff) | |
download | nasm-bb8cf3fa77e63f7c6a02d23bbfe3426beff26358.tar.gz nasm-bb8cf3fa77e63f7c6a02d23bbfe3426beff26358.tar.bz2 nasm-bb8cf3fa77e63f7c6a02d23bbfe3426beff26358.zip |
bnd: Show warning when bnd prefix is dropped
When bnd prefix is dropped as jmp is encoded as jmp short,
nasm shows a warning message, which can be suppressed with a new
command line option, -w-bnd.
Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com>
-rw-r--r-- | assemble.c | 2 | ||||
-rw-r--r-- | nasm.c | 1 | ||||
-rw-r--r-- | nasmlib.h | 3 |
3 files changed, 5 insertions, 1 deletions
@@ -385,6 +385,8 @@ static bool jmp_match(int32_t segment, int64_t offset, int bits, if (is_byte && c == 0371 && ins->prefixes[PPS_REP] == P_BND) { /* jmp short (opcode eb) cannot be used with bnd prefix. */ ins->prefixes[PPS_REP] = P_none; + errfunc(ERR_WARNING | ERR_WARN_BND | ERR_PASS2 , + "jmp short does not init bnd regs - bnd prefix dropped."); } return is_byte; @@ -166,6 +166,7 @@ static const struct warning { {"user", "%warning directives", true}, {"lock", "lock prefix on unlockable instructions", true}, {"hle", "invalid hle prefixes", true}, + {"bnd", "invalid bnd prefixes", true}, }; static bool want_usage; @@ -134,7 +134,8 @@ void nasm_set_verror(vefunc); #define ERR_WARN_USER WARN(11) /* %warning directives */ #define ERR_WARN_LOCK WARN(12) /* bad LOCK prefixes */ #define ERR_WARN_HLE WARN(13) /* bad HLE prefixes */ -#define ERR_WARN_MAX 13 /* the highest numbered one */ +#define ERR_WARN_BND WARN(14) /* bad BND prefixes */ +#define ERR_WARN_MAX 14 /* the highest numbered one */ /* * Wrappers around malloc, realloc and free. nasm_malloc will |