RTEMS CPU Kit with SuperCore
4.11.2
|
Address the Problems Caused by Incompatible Flavor of Assemblers and Toolsets. More...
Go to the source code of this file.
Macros | |
#define | ASM |
#define | __USER_LABEL_PREFIX__ _ |
Recent versions of GNU cpp define variables which indicate the need for underscores and percents. More... | |
#define | __REGISTER_PREFIX__ |
Recent versions of GNU cpp define variables which indicate the need for underscores and percents. More... | |
#define | SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) |
Use the right prefix for global labels. More... | |
#define | REG(x) CONCAT1 (__REGISTER_PREFIX__, x) |
Use the right prefix for registers. More... | |
#define | BEGIN_CODE_DCL .text |
This macro is used to denote the beginning of a code declaration. More... | |
#define | END_CODE_DCL |
This macro is used to denote the end of a code declaration. More... | |
#define | BEGIN_DATA_DCL .data |
This macro is used to denote the beginning of a data declaration section. More... | |
#define | END_DATA_DCL |
This macro is used to denote the end of a data declaration section. More... | |
#define | BEGIN_CODE .text |
This macro is used to denote the beginning of a code section. More... | |
#define | END_CODE |
This macro is used to denote the end of a code section. More... | |
#define | BEGIN_DATA |
This macro is used to denote the beginning of a data section. More... | |
#define | END_DATA |
This macro is used to denote the end of a data section. More... | |
#define | BEGIN_BSS |
This macro is used to denote the beginning of the unitialized data section. | |
#define | END_BSS |
This macro is used to denote the end of the unitialized data section. More... | |
#define | END |
This macro is used to denote the end of the assembly file. More... | |
#define | PUBLIC(sym) .globl SYM (sym) |
This macro is used to declare a public global symbol. More... | |
#define | EXTERN(sym) .globl SYM (sym) |
This macro is used to prototype a public global symbol. More... | |
Address the Problems Caused by Incompatible Flavor of Assemblers and Toolsets.
This include file attempts to address the problems caused by incompatible flavors of assemblers and toolsets. It primarily addresses variations in the use of leading underscores on symbols and the requirement that register names be preceded by a %.
NOTE: The spacing in the use of these macros is critical to them working as advertised.
#define __REGISTER_PREFIX__ |
Recent versions of GNU cpp define variables which indicate the need for underscores and percents.
If not using GNU cpp or the version does not support this, then you will obviously have to define these as appropriate.
This symbol is prefixed to all register names.
#define __USER_LABEL_PREFIX__ _ |
Recent versions of GNU cpp define variables which indicate the need for underscores and percents.
If not using GNU cpp or the version does not support this, then you will obviously have to define these as appropriate.
This symbol is prefixed to all C program symbols.
#define BEGIN_CODE .text |
This macro is used to denote the beginning of a code section.
#define BEGIN_CODE_DCL .text |
This macro is used to denote the beginning of a code declaration.
#define BEGIN_DATA |
This macro is used to denote the beginning of a data section.
#define BEGIN_DATA_DCL .data |
This macro is used to denote the beginning of a data declaration section.
#define END |
This macro is used to denote the end of the assembly file.
#define END_BSS |
This macro is used to denote the end of the unitialized data section.
#define END_CODE |
This macro is used to denote the end of a code section.
#define END_CODE_DCL |
This macro is used to denote the end of a code declaration.
#define END_DATA |
This macro is used to denote the end of a data section.
#define END_DATA_DCL |
This macro is used to denote the end of a data declaration section.
#define EXTERN | ( | sym | ) | .globl SYM (sym) |
This macro is used to prototype a public global symbol.
NOTE: This must be tailored for a particular flavor of the C compiler. They may need to put underscores in front of the symbols.
#define PUBLIC | ( | sym | ) | .globl SYM (sym) |
This macro is used to declare a public global symbol.
NOTE: This must be tailored for a particular flavor of the C compiler. They may need to put underscores in front of the symbols.
#define REG | ( | x | ) | CONCAT1 (__REGISTER_PREFIX__, x) |
Use the right prefix for registers.
#define SYM | ( | x | ) | CONCAT1 (__USER_LABEL_PREFIX__, x) |
Use the right prefix for global labels.