Skip to content

The Zi8 option generates unexpected symbols #235

Description

@mazegen

This code:

.code
 mov eax, ebx
 add eax, ecx
 ja @F
 sub eax, edx
@@:
 nop
end

When compiled with uasm64.exe -win64 -c (v2.57), it generates no symbols in the .obj file, as expected. This is output of dumpbin /symbols:

File Type: COFF OBJECT

COFF SYMBOL TABLE
000 00000000 DEBUG  notype       Filename     | .file
    test3.asm
002 00000000 SECT1  notype       Static       | .text
    Section length    9, #relocs    0, #linenums    0, checksum        0
004 00000000 SECT2  notype       Static       | .data
    Section length    0, #relocs    0, #linenums    0, checksum        0

String Table Size = 0x0 bytes

The same source compiled with uasm64.exe -win64 -c -Zi8 generates symbol $$000000 at offset 0 and symbol L&_0001 for the anonymous label @@. Is this expected?

File Type: COFF OBJECT

COFF SYMBOL TABLE
000 00000000 SECT1  notype       Static       | .text
    Section length    9, #relocs    0, #linenums    0, checksum        0
002 00000000 SECT2  notype       Static       | .data
    Section length    0, #relocs    0, #linenums    0, checksum        0
004 00000000 SECT3  notype       Static       | .debug$S
    Section length  2CC, #relocs    4, #linenums    0, checksum        0
006 00000000 SECT4  notype       Static       | .debug$T
    Section length 13C0, #relocs    0, #linenums    0, checksum        0
008 00000000 SECT1  notype       Label        | $$000000
009 00000008 SECT1  notype       Label        | L&_0001

String Table Size = 0x0 bytes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions