[Nasm-bugs] [Bug 3392470] Make mach-o local labels start with a L in the object file

noreply-nasm at gorcunov.org noreply-nasm at gorcunov.org
Tue May 29 08:43:03 PDT 2018


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

--- Comment #3 from Andrew Fish <afish at apple.com> ---
nasm -f macho32  -o IoFifoSev.o  IoFifoSev.nasm
clang -arch i386 IoFifoSev.o  main.c -dead_strip
lldb a.out
(lldb) dis -b -n IoReadFifo8
a.out`IoReadFifo8:
a.out[0x1f89] <+0>: 57     pushl  %edi
a.out[0x1f8a] <+1>: eb 00  jmp    0x1f8c                    ; IoReadFifo8.skip

vs.
(lldb) dis -b -n IoReadFifo8
a.out`IoReadFifo8:
a.out[0x1f89] <+0>:  57              pushl  %edi
a.out[0x1f8a] <+1>:  e8 f1 ff ff ff  calll  0x1f80                    ;
SevNoRepIo
a.out[0x1f8f] <+6>:  eb ef           jmp    0x1f80                    ;
SevNoRepIo
a.out[0x1f91] <+8>:  85 c0           testl  %eax, %eax
a.out[0x1f93] <+10>: 5f              popl   %edi
a.out[0x1f94] <+11>: c3              retl   

The .skip local label is triggering dead striping. I tested with the 3392469
mach-O fix, and it is still broken as it is due the naming convention used in
the dead strip by the linker :(.

-- 
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