/* Copyright (C) 2021,2022 fef . All rights reserved. */ #pragma once #ifndef _ASM_SOURCE #error "This header is only intended to be included from assembly files" #endif #define ENTRY(name) \ .global name; \ .type name, @function; \ .align 4; \ name: #define DATA(name) \ .global name; \ .type name, @object; \ name: #define END(name) \ .size name, . - name /* for legacy code, use ENTRY() and END() instead */ #define ASM_ENTRY(name) ENTRY(name) #define ASM_END(name) END(name) /* local (non-global) subroutine entry point */ #define L_ENTRY(name) \ .type name, @function; \ .align 4; \ name: /* local (non-global) data field */ #define L_DATA(name) \ .type name, @object; \ name: #define L_END(name) \ .size name, . - name