[Nasm-bugs] [Bug 3392534] New: Duplicate label makes NASM try to "find valid values" for 1000+ passes

noreply-nasm at gorcunov.org noreply-nasm at gorcunov.org
Tue Nov 27 12:05:18 PST 2018


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

            Bug ID: 3392534
           Summary: Duplicate label makes NASM try to "find valid values"
                    for 1000+ passes
           Product: NASM
           Version: 2.14.xx
          Hardware: All
                OS: All
            Status: OPEN
          Severity: minor
          Priority: Medium
         Component: Assembler
          Assignee: nobody at nasm.us
          Reporter: pushbx at 38.de
                CC: gorcunov at gmail.com, hpa at zytor.com, nasm-bugs at nasm.us
     Obtained from: From OS distribution

When there's a duplicate label, NASM 2.14 (from debian repositories) tries for
more than 1000 passes to "find valid values for all labels", only then giving
up. Also, the error message doesn't refer to the redefinition of the label. (In
fact, the error message lacks any line number and is confusingly squashed
together.) On a larger project, this process takes more than 4 minutes and
gives up after 1014 passes. NASM 2.13.03 (downloaded binary from nasm.us)
immediately replies "symbol ... redefined".

Here's a test case:

~/test/nasm/20181127$ cat test.asm 

test1:
        nop

test2:
        nop

test1:
        nop

~/test/nasm/20181127$ nasm -v
NASM version 2.14
~/test/nasm/20181127$ time nasm test.asm
test.asm:error: Can't find valid values for all labels after 1004 passes,
giving up.
test.asm:error: Possible causes: recursive EQUs, macro abuse.

real    0m0.176s
user    0m0.168s
sys     0m0.008s
~/test/nasm/20181127$ ./nasm -v
NASM version 2.13.03 compiled on Feb  7 2018
~/test/nasm/20181127$ time ./nasm test.asm 
test.asm:8: error: symbol `test1' redefined

real    0m0.004s
user    0m0.000s
sys     0m0.003s
~/test/nasm/20181127$

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


More information about the Nasm-bugs mailing list