summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assemble.c2
-rw-r--r--nasm.c1
-rw-r--r--nasmlib.h3
3 files changed, 5 insertions, 1 deletions
diff --git a/assemble.c b/assemble.c
index bf1490d..f06cee8 100644
--- a/assemble.c
+++ b/assemble.c
@@ -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;
diff --git a/nasm.c b/nasm.c
index b83810d..d10ddbc 100644
--- a/nasm.c
+++ b/nasm.c
@@ -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;
diff --git a/nasmlib.h b/nasmlib.h
index 2210748..d11e6e0 100644
--- a/nasmlib.h
+++ b/nasmlib.h
@@ -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