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