diff options
-rw-r--r-- | include/perk/perk_edefs.h | 46 | ||||
-rw-r--r-- | project/headers.mk | 1 |
2 files changed, 47 insertions, 0 deletions
diff --git a/include/perk/perk_edefs.h b/include/perk/perk_edefs.h new file mode 100644 index 0000000..d30744b --- /dev/null +++ b/include/perk/perk_edefs.h @@ -0,0 +1,46 @@ +#ifndef PERK_EDEFS_H +#define PERK_EDEFS_H + +/***************************************************/ +/* perk_edefs.h: PE backend extended definitions. */ +/***************************************************/ + +/* symbol attributes (tulips) */ +#define PE_SYM_ATTR_TYPE_NOTYPE (0) +#define PE_SYM_ATTR_TYPE_FILE (1 << 0) +#define PE_SYM_ATTR_TYPE_OBJECT (1 << 1) +#define PE_SYM_ATTR_TYPE_SECTION (1 << 2) +#define PE_SYM_ATTR_TYPE_FUNCTION (1 << 3) +#define PE_SYM_ATTR_TYPE_STRING (1 << 4) +#define PE_SYM_ATTR_TYPE_COMMON (1 << 5) +#define PE_SYM_ATTR_TYPE_STACK (1 << 6) +#define PE_SYM_ATTR_TYPE_RDATA (1 << 7) +#define PE_SYM_ATTR_TYPE_BSS (1 << 8) +#define PE_SYM_ATTR_TYPE_TLS (1 << 9) +#define PE_SYM_ATTR_TYPE_GOT (1 << 10) +#define PE_SYM_ATTR_TYPE_PLT (1 << 11) +#define PE_SYM_ATTR_TYPE_DSO (1 << 12) +#define PE_SYM_ATTR_TYPE_REF (1 << 13) + +#define PE_SYM_ATTR_TYPE_IFUNC (1 << 14) +#define PE_SYM_ATTR_TYPE_DEBUG (1 << 15) +#define PE_SYM_ATTR_TYPE_PDATA (1 << 16) +#define PE_SYM_ATTR_TYPE_XDATA (1 << 17) +#define PE_SYM_ATTR_TYPE_XATTR (1 << 18) +#define PE_SYM_ATTR_TYPE_RELOC (1 << 19) +#define PE_SYM_ATTR_TYPE_RSRC (1 << 20) + +#define PE_SYM_ATTR_BIND_LOCAL (1 << 21) +#define PE_SYM_ATTR_BIND_GLOBAL (1 << 22) +#define PE_SYM_ATTR_BIND_UNIQUE (1 << 23) +#define PE_SYM_ATTR_BIND_PENDING (1 << 24) +#define PE_SYM_ATTR_BIND_WEAK_ALIAS (1 << 25) +#define PE_SYM_ATTR_BIND_WEAK_EXTERN (1 << 26) +#define PE_SYM_ATTR_BIND_WEAK_SYMBOL (1 << 27) + +#define PE_SYM_ATTR_VISIBILITY_DEFAULT (1 << 28) +#define PE_SYM_ATTR_VISIBILITY_PROTECTED (1 << 29) +#define PE_SYM_ATTR_VISIBILITY_HIDDEN (1 << 30) +#define PE_SYM_ATTR_VISIBILITY_INTERNAL (1 << 31) + +#endif diff --git a/project/headers.mk b/project/headers.mk index 58aadfb..9b18d48 100644 --- a/project/headers.mk +++ b/project/headers.mk @@ -5,6 +5,7 @@ API_HEADERS = \ $(SOURCE_DIR)/include/$(PACKAGE)/perk_consts.h \ $(SOURCE_DIR)/include/$(PACKAGE)/perk_crc32.h \ $(SOURCE_DIR)/include/$(PACKAGE)/perk_crc64.h \ + $(SOURCE_DIR)/include/$(PACKAGE)/perk_edefs.h \ $(SOURCE_DIR)/include/$(PACKAGE)/perk_meta.h \ $(SOURCE_DIR)/include/$(PACKAGE)/perk_output.h \ $(SOURCE_DIR)/include/$(PACKAGE)/perk_structs.h |