[Nasm-bugs] [Bug 3392539] New: error: label changed during code generation - false errors reported after real error - 2.14.02

noreply-nasm at gorcunov.org noreply-nasm at gorcunov.org
Thu Dec 27 06:15:10 PST 2018


https://bugzilla.nasm.us/show_bug.cgi?id=3392539

            Bug ID: 3392539
           Summary: error: label changed during code generation - false
                    errors reported after real error - 2.14.02
           Product: NASM
           Version: 2.14.xx
          Hardware: All
                OS: All
            Status: OPEN
          Severity: normal
          Priority: Medium
         Component: Assembler
          Assignee: nobody at nasm.us
          Reporter: russvz at comcast.net
                CC: chang.seok.bae at intel.com, gorcunov at gmail.com,
                    hpa at zytor.com, nasm-bugs at nasm.us
     Obtained from: Binary from nasm.us

Created attachment 411696
  --> https://bugzilla.nasm.us/attachment.cgi?id=411696&action=edit
Source file

After a real spelling error (rxd), false error messages were reported on each
subsequent label by NASM 2.14.02:

nasm -f elf64 helloW.s -l helloW.lst
helloW.s:12: error: symbol `rxd' undefined
helloW.s:18: error: label `rurt' changed during code generation
[-w+error=label-redef-late]
helloW.s:20: error: label `werf' changed during code generation
[-w+error=label-redef-late]
helloW.s:22: error: label `farb' changed during code generation
[-w+error=label-redef-late]
helloW.s:26: error: label `grak' changed during code generation
[-w+error=label-redef-late]
make: *** [helloW.o] Error 1
~/Desktop/s/helloW : nasm -v
NASM version 2.14.02 compiled on Dec 26 2018

I first experienced the problem in larger programs, then reproduced it in this
"Hello World" program for convenience. NASM did not abort, just reported the
extra error messages then ended normally.

Source code (.s) attached. Since bugzilla only allowed one attachment, the NASM
listing file is pasted below.

This is 64-bit CENTOS code from the prebuilt nasm 2.14.02 and yum install file
with name and link below:

nasm-2.14.02-0.fc27.x86_64.rpm  2018-12-26 05:46        363K
https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/linux/

     1                                          default rel
     2                                  
     3                                          section .text
     4                                          global  _start
     5                                  _start:
     6                                  
     7 00000000 B801000000                      mov     rax, 1  ; write syscall
     8 00000005 BF01000000                      mov     rdi, 1
     9 0000000A 48BE-                           mov     rsi, msg
     9 0000000C [0000000000000000] 
    10 00000014 BA0E000000                      mov     rdx, msglen 
    11 00000019 0F05                            syscall
    12                                          add rax,[rxd,rbx*4]
    12          ******************       error: symbol `rxd' undefined
    13                                          
    14 0000001B B83C000000                      mov     rax, 60 ; exit syscall
    15 00000020 4829FF                          sub     rdi, rdi
    16 00000023 0F05                            syscall
    17                                  
    18                                  rurt:
    18          ******************       error: label `rurt' changed during
code generation [-w+error=label-redef-late]
    19 00000025 90                              nop
    20                                  werf:
    20          ******************       error: label `werf' changed during
code generation [-w+error=label-redef-late]
    21 00000026 90                              nop
    22                                  farb:
    22          ******************       error: label `farb' changed during
code generation [-w+error=label-redef-late]
    23 00000027 90                              nop
    24                                  
    25 00000028 90                              nop
    26                                  grak:
    26          ******************       error: label `grak' changed during
code generation [-w+error=label-redef-late]
    27 00000029 0F0B                            ud2
    28                                  
    29                                          section .data
    30 00000000 48656C6C6F2C20776F-     msg     db      "Hello, world!", 10
    30 00000009 726C64210A         
    31                                  msglen  equ     $-msg

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are watching all bug changes.


More information about the Nasm-bugs mailing list