You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
768 B
C

/* Copyright (C) 2021,2022 fef <owo@fef.moe>. 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