What about switching to YASM? http://yasm.tortall.net
---
Yasm is a complete rewrite of the NASM assembler under the “new” BSD License 
(some portions are under other licenses, see COPYINGfor details).

Yasm currently supports the x86 and AMD64 instruction sets, accepts NASM and 
GAS assembler syntaxes, outputs binary, ELF32, ELF64, 32 and 64-bit Mach-O, 
RDOFF2, COFF, Win32, and Win64 object formats, and generates source debugging 
information in STABS, DWARF 2, and CodeView 8 formats.

---

Sergey

On 11.11.2014, at 2:20, Andrew Fish wrote:

> I was talking to Mike, and he asked me to post the requirements to fix NASM 
> to work properly with Xcode to the mailing list. 
> 
> NASM does not support dead stripping with Xcode. With .S files the 
> .subsections_via_symbols directive is used to ensure dead stripping by the 
> linker.  The .subsections_via_symbols directive sets the 
> MH_SUBSECTIONS_VIA_SYMBOLS flag in the mach_header of the generated .o file. 
> There needs to be some way to set the  MH_SUBSECTIONS_VIA_SYMBOLS flag in the 
> Mach-O header. .subsections_via_symbols is defined here: 
> https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/Assembler/040-Assembler_Directives/asm_directives.html
> 
> NASM does not produce any debug information for the macho32 and macho64 
> output formats. The Mach-O object files need to contain DWARF 4, older 
> versions of the tools used DWARF 2. 
> 
> The Xcode build generates Mach-O object files and links them together into a 
> Mach-O. The Mach-O can be wrapped up in a dSYM (single file for debugging, 
> including the object files that are not part of the Mach-O). The Mach-O file 
> is converted by a tool, mtoc, into a PE/COFF executable. We use the 
> Mach-O/dSYM for debugging. We even place the Mach-O UUID in the PE/COFF debug 
> section so we can look symbols up via UUID. 
> 
> Thanks,
> 
> Andrew Fish
> ------------------------------------------------------------------------------
> Comprehensive Server Monitoring with Site24x7.
> Monitor 10 servers for $9/Month.
> Get alerted through email, SMS, voice calls or mobile push notifications.
> Take corrective actions from your mobile device.
> http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to