NASM - The Netwide Assembler
NASM Forum => Using NASM => Topic started by: Olsonist on January 31, 2019, 08:52:25 PM
-
On OSX, I'm assembling a straightforward if lengthy assembler source with:
nasm -f macho64 xxx.s -o xxx.o
When I look at the name list for the object file
nm xxx.o
everything looks correct except for an extraneous symbol:
0000000000000000 t ..@13.end
Any ideas?
-
Hi Olsonist,
Odd. Does it do any harm? Does "end" occur anywhere in xxx.s?
Best,
Frank
-
> Odd. Does it do any harm? Does "end" occur anywhere in xxx.s?
I don't know that it does any harm. It just seems to be a symbol. "end" doesn't occur anywhere in the source.
(EDIT: if I comment out %use smartalign and ALIGNMODE below, the symbol disappears.)
I've chopped the source back to practically nothing:
SECTALIGN 4096
%use smartalign
ALIGNMODE p6,16
BITS 64
default rel
section .text
align 4096
_xxx:
nop
I'm using OSX 10.14.2 and NASM version 2.14.02 compiled on Dec 27 2018.
nasm -f macho64 xx.s -o xx.o
nm xx.o
0000000000000000 t ..@8.end
0000000000000000 t _xxx
Strange. BTW, if I substitute ELF64 and readelf xx.o I get the same result:
nasm -f elf64 xx.s -o xx.o
readelf -s xx.o
Symbol table '.symtab' contains 5 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000000000 0 FILE LOCAL DEFAULT ABS xx.s
2: 0000000000000000 0 SECTION LOCAL DEFAULT 1
3: 0000000000000000 0 NOTYPE LOCAL DEFAULT 1 ..@8.end
4: 0000000000000000 0 NOTYPE LOCAL DEFAULT 1 _xxx