On Sep 9, 2014, at 4:07 PM, Jordan Justen <[email protected]> wrote:

> On Tue, Sep 9, 2014 at 3:05 PM, Andrew Fish <[email protected]> wrote:
>> BaseTools maintainers,
>> 
>> This is a low risk fix that will fix nasm link issues. XCODE is missing the
>> flags to create Mach-O binaries, raw .bin files will not link and crash the
>> build.
> 
> Hmm. This makes me wonder if we should add a bogus default NASM_FLAGS
> to make sure the build breaks in a way that is easy to understand when
> the toolchain doesn't set NASM_FLAGS.

Not a bad idea.

> (I hope it didn't waste too much
> of your time in figuring out the issue here.)

It was easy to track down since the linker was complaining about the object 
format. Turns out nasm -hf tells you the default and possible values. 

nasm -hf
usage: nasm [-@ response file] [-o outfile] [-f format] [-l listfile]
            [options...] [--] filename
    or nasm -v (or --v) for version info
...
valid output formats for -f are (`*' denotes default):
  * bin       flat-form binary files (e.g. DOS .COM, .SYS)
    ith       Intel hex
    srec      Motorola S-records
    aout      Linux a.out object files
    aoutb     NetBSD/FreeBSD a.out object files
    coff      COFF (i386) object files (e.g. DJGPP for DOS)
    elf32     ELF32 (i386) object files (e.g. Linux)
    elf64     ELF64 (x86_64) object files (e.g. Linux)
    elfx32    ELFX32 (x86_64) object files (e.g. Linux)
    as86      Linux as86 (bin86 version 0.3) object files
    obj       MS-DOS 16-bit/32-bit OMF object files
    win32     Microsoft Win32 (i386) object files
    win64     Microsoft Win64 (x86-64) object files
    rdf       Relocatable Dynamic Object File Format v2.0
    ieee      IEEE-695 (LADsoft variant) object file format
    macho32   NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X (i386) object files
    macho64   NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X (x86_64) object files
    dbg       Trace of all info passed to output stage
    elf       ELF (short name for ELF32)
    macho     MACHO (short name for MACHO32)
    win       WIN (short name for WIN32)

Thanks,

Andrew Fish
------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to