diff options
Diffstat (limited to 'include/elf')
-rw-r--r-- | include/elf/msp430.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/include/elf/msp430.h b/include/elf/msp430.h index e060804..ce2cf5b 100644 --- a/include/elf/msp430.h +++ b/include/elf/msp430.h @@ -58,6 +58,47 @@ #define OFBA_MSPABI_Tag_ISA 4 #define OFBA_MSPABI_Tag_Code_Model 6 #define OFBA_MSPABI_Tag_Data_Model 8 +#define OFBA_MSPABI_Tag_enum_size 10 /* Unused by GNU. */ + +/* GNU Object attribute tags. */ +enum +{ + /* 0-3 are generic. */ + + /* Define a GNU attribute for keeping track of whether the compiler has + generated code assuming that the upper region could be in use. + Added by the assembler based on the -mdata-region option. + This tag is ignored unless the large memory model is in use. */ + Tag_GNU_MSP430_Data_Region = 4, +}; + +/* Object attribute values. */ +enum +{ + /* Values defined for OFBA_MSPABI_Tag_ISA. */ + OFBA_MSPABI_Val_ISA_NONE = 0, + OFBA_MSPABI_Val_ISA_MSP430 = 1, + OFBA_MSPABI_Val_ISA_MSP430X = 2, + + /* Values defined for OFBA_MSPABI_Tag_Code_Model. */ + OFBA_MSPABI_Val_Code_Model_NONE = 0, + OFBA_MSPABI_Val_Code_Model_SMALL = 1, + OFBA_MSPABI_Val_Code_Model_LARGE = 2, + + /* Values defined for OFBA_MSPABI_Tag_Data_Model. */ + OFBA_MSPABI_Val_Data_Model_NONE = 0, + OFBA_MSPABI_Val_Data_Model_SMALL = 1, + OFBA_MSPABI_Val_Data_Model_LARGE = 2, + OFBA_MSPABI_Val_Data_Model_RESTRICTED = 3, /* Unused by GNU. */ + + /* Values defined for Tag_GNU_MSP430_Data_Region. */ + Val_GNU_MSP430_Data_Region_NONE = 0, + /* The default data region. Assumes all data is below address 0x10000. */ + Val_GNU_MSP430_Data_Region_Lower = 1, + /* Set if -mdata-region={none,upper,either}. Assumes + data could be placed at or above address 0x10000. */ + Val_GNU_MSP430_Data_Region_Any = 2, +}; /* Relocations. */ START_RELOC_NUMBERS (elf_msp430_reloc_type) |