70 lines
1.9 KiB
C
70 lines
1.9 KiB
C
/* asmSimsolaris.h - VxSim/Solaris assembler definitions header */
|
|
|
|
/*
|
|
* Copyright (c) 1995,1999,2000,2003,2008 Wind River Systems, Inc.
|
|
*
|
|
* The right to copy, distribute, modify or otherwise make use
|
|
* of this software may be licensed only pursuant to the terms
|
|
* of an applicable Wind River license agreement.
|
|
*/
|
|
|
|
/*
|
|
modification history
|
|
--------------------
|
|
01f,26mar08,dbt Added FUNC_BEGIN & FUNC_END macros (Defect WIND00066731).
|
|
01e,05mar03,jeg Updated __INC macro
|
|
01d,23feb00,bwa put back TRUE and FALSE. for them to be initialized,
|
|
_ASMLANGUAGE has to be defined in the file were this file
|
|
is included
|
|
01c,01feb00,bwa replaced TRUE and FALSE by 1 and 0 since they are not defined
|
|
here
|
|
01b,01dec99,aeg added FUNC, FUNC_LABEL, GTEXT, and GDATA macros.
|
|
01a,07jun95,ism derived from simsparc
|
|
*/
|
|
|
|
#ifndef __INCasmSimsolaris
|
|
#define __INCasmSimsolaris
|
|
|
|
|
|
/*
|
|
* The LEADING_UNDERSCORE macro should be defined to TRUE for toolchains
|
|
* that do NOT prefix a leading underscore character, i.e. "_", to
|
|
* symbols. Define the macro to FALSE when using a toolchain that
|
|
* does add a leading underscore character to symbols.
|
|
*/
|
|
|
|
#define LEADING_UNDERSCORE FALSE
|
|
|
|
#if (LEADING_UNDERSCORE == TRUE)
|
|
#define FUNC(func) _##func
|
|
#define FUNC_LABEL(func) _##func:
|
|
#else
|
|
#define FUNC(func) func
|
|
#define FUNC_LABEL(func) func:
|
|
#endif
|
|
|
|
|
|
/*
|
|
* The GTEXT and GDATA macros should be used to ensure the proper
|
|
* symbol type is associated with a function or data label. This
|
|
* is an ELFism.
|
|
*/
|
|
|
|
#define GTEXT(sym) FUNC(sym) ; .type FUNC(sym),@function
|
|
#define GDATA(sym) FUNC(sym) ; .type FUNC(sym),@object
|
|
|
|
/* Introduced to abstract assembler idiosyncrasies */
|
|
|
|
#define FUNC_BEGIN(func) FUNC_LABEL(func)
|
|
#define FUNC_END(func) .size FUNC(func), . - FUNC(func)
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __INCasmSimsolaris*/
|