0
0
mirror of https://github.com/netwide-assembler/nasm.git synced 2025-10-10 00:25:06 -04:00
Files
nasm/output/outmacho.mac
Fabian Giesen 83655f041e build_version pragma + macro for Mach-O
Matches the llvm-as .build_version syntax. Newer MacOS linker
complains when object files don't contain a LC_BUILD_VERSION.

Signed-off-by: Fabian Giesen <fabian.giesen@epicgames.com>
2025-10-03 10:47:27 -07:00

25 lines
642 B
Plaintext

;; SPDX-License-Identifier: BSD-2-Clause
;; Copyright 1996-2017 The NASM Authors - All Rights Reserved
OUT: macho macho32 macho64
%define __?SECT?__ [section .text]
%macro __?NASM_CDecl?__ 1
%endmacro
; This directive sets the MH_SUBSECTIONS_VIA_SYMBOLS header flag
%imacro subsections_via_symbols 0.nolist
%pragma __?OUTPUT_FORMAT?__ %?
%endmacro
%imacro no_dead_strip 1-*.nolist
%rep %0
%pragma __?OUTPUT_FORMAT?__ %? %1
%rotate 1
%endrep
%endmacro
; This sets LC_BUILD_VERSION in the object file, analogous to as .build_version
%imacro build_version 3+
%pragma __?OUTPUT_FORMAT?__ %? %1,%2,%3
%endmacro