aboutsummaryrefslogtreecommitdiffhomepage
path: root/amd64/emit.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2025-11-15 19:53:47 +0100
committerlemon <lsof@mailbox.org>2025-11-15 19:53:47 +0100
commit2ca9a54daaa0a955dabf38862cd777be359252e0 (patch)
tree51a0e9470a5bbd4bbe0b1d00fc50da2dc9ad9d93 /amd64/emit.c
parent1910d875cfcad320cbb87c5e8c846d5c53846a1a (diff)
ir: 'trap' jump; c: __builtin_trap; lex: __has_builtin
Diffstat (limited to 'amd64/emit.c')
-rw-r--r--amd64/emit.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/amd64/emit.c b/amd64/emit.c
index d61c1d3..3cae23f 100644
--- a/amd64/emit.c
+++ b/amd64/emit.c
@@ -1317,6 +1317,8 @@ emitbin(struct function *fn)
if (usebp) B(0xC9); /* leave */
B(0xC3); /* ret */
}
+ } else if (blk->jmp.t == Jtrap) {
+ DS("\x0F\x0B"); /* UD2 */
} else emitbranch(pcode, blk);
} while ((blk = blk->lnext) != fn->entry);
objdeffunc(fn->name, fn->globl, fnstart - objout.textbegin, *pcode - fnstart);