summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/changes.src5
-rw-r--r--test/br3392538.asm27
2 files changed, 32 insertions, 0 deletions
diff --git a/doc/changes.src b/doc/changes.src
index d279b0ad..c9b5995a 100644
--- a/doc/changes.src
+++ b/doc/changes.src
@@ -7,6 +7,11 @@
The NASM 2 series supports x86-64, and is the production version of NASM
since 2007.
+\S{cl-2.14.02} Version 2.14.02
+
+\b Fix crash due to multiple errors or warnings during the code
+generation pass if a list file is specified.
+
\S{cl-2.14.01} Version 2.14.01
\b Create all system-defined macros defore processing command-line
diff --git a/test/br3392538.asm b/test/br3392538.asm
new file mode 100644
index 00000000..3d9f5186
--- /dev/null
+++ b/test/br3392538.asm
@@ -0,0 +1,27 @@
+ bits 64
+ default rel
+
+ section .text
+ global _start
+_start:
+
+ mov rax, 1 ; write syscall
+ mov rdi, 1
+ mov rsi, msg
+ mov rdx, msglen
+ syscall
+
+ mov rax, 60 ; exit syscall
+ sub rdi, rdi
+ syscall
+
+; either of the following lines cause: Error in `nasm': double free or corruption ; Aborted (core dumped)
+foo
+; warning: label alone on a line without a colon might be in error [-w+orphan-labels]
+ mov r8, r9, r10
+; error: invalid combination of opcode and operands
+ add r8d, byte 80h
+; warning: signed byte value exceeds bounds [-w+number-overflow]
+ section .data
+msg db "Hello, world!", 10
+msglen equ $-msg