diff options
-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 |