Emit the LC_BUILD_VERSION load command when creating a mach object.

LC_BUILD_VERSION contains the min OS version on which this binary
was built to run for its platform in mach object. It is required for
targets like iOS Catalyst.

Also, emit the __LLVM segment, __asm section to tell the Apple
toolchain that this object is from assembler and has no bitcode.
This trick is used in Kotlin/Native, Rust, Flutter, Golang and yasm.

Bug: 1145197, webrtc:11516
Change-Id: I6859cc171f80d1aa86d9d7187c2f8ceac7b8c4f3
4 files changed
tree: 40a20c571ea2709c7e5e976253842c66934f21a9
  1. asm/
  2. autoconf/
  3. common/
  4. config/
  5. contrib/
  6. disasm/
  7. doc/
  8. headers/
  9. include/
  10. macros/
  11. misc/
  12. Mkfiles/
  13. nasmlib/
  14. nsis/
  15. output/
  16. perllib/
  17. rdoff/
  18. stdlib/
  19. test/
  20. tools/
  21. travis/
  22. x86/
  23. .gitattributes
  24. .gitignore
  25. .travis.yml
  26. AUTHORS
  27. autogen.sh
  28. BUILD.gn
  29. ChangeLog
  30. CHANGES
  31. codereview.settings
  32. configure.ac
  33. DIR_METADATA
  34. find_patches.py
  35. generate_nasm_sources.py
  36. INSTALL
  37. LICENSE
  38. Makefile.in
  39. nasm.spec.in
  40. nasm.spec.sed
  41. nasm.txt
  42. nasm_assemble.gni
  43. nasm_sources.gni
  44. ndisasm.txt
  45. OWNERS
  46. PRESUBMIT.py
  47. README.chromium
  48. README.md
  49. README.patches
  50. SubmittingPatches
  51. version
  52. version.h
  53. version.pl
README.md

NASM, the Netwide Assembler

master

Many many developers all over the net respect NASM for what it is: a widespread (thus netwide), portable (thus netwide!), very flexible and mature assembler tool with support for many output formats (thus netwide!!).

Now we have good news for you: NASM is licensed under the “simplified” (2-clause) BSD license. This means its development is open to even wider society of programmers wishing to improve their lovely assembler.

Visit our nasm.us website for more details.

With best regards, the NASM crew.