Add support for RISC-V attributes (#459)
[pyelftools.git] / elftools / elf / enums.py
index 745aefc793a71a631ed2817c40aaa0bdaacb8274..6bcd4bb8a12d920f296fe03977bd4aee1258a965 100644 (file)
@@ -329,6 +329,10 @@ ENUM_SH_TYPE_ARM = merge_dicts(
             SHT_ARM_ATTRIBUTES=0x70000003,
             SHT_ARM_DEBUGOVERLAY=0x70000004))
 
+ENUM_SH_TYPE_RISCV = merge_dicts(
+        ENUM_SH_TYPE_BASE,
+        dict(SHT_RISCV_ATTRIBUTES=0x70000003))
+
 ENUM_SH_TYPE_MIPS = merge_dicts(
         ENUM_SH_TYPE_BASE,
         dict(
@@ -422,6 +426,10 @@ ENUM_P_TYPE_MIPS = merge_dicts(
         ENUM_P_TYPE_BASE,
         dict(PT_MIPS_ABIFLAGS=0x70000003))
 
+ENUM_P_TYPE_RISCV = merge_dicts(
+        ENUM_P_TYPE_BASE,
+        dict(PT_RISCV_ATTRIBUTES=0x70000003))
+
 # st_info bindings in the symbol header
 ENUM_ST_INFO_BIND = dict(
     STB_LOCAL=0,
@@ -1180,6 +1188,15 @@ ENUM_ATTR_TAG_ARM = dict(
     TAG_MPEXTENSION_USE_OLD=70,
 )
 
+ENUM_ATTR_TAG_RISCV = dict(
+    TAG_FILE=1,
+    TAG_SECTION=2,
+    TAG_SYMBOL=3,
+    TAG_STACK_ALIGN=4,
+    TAG_ARCH=5,
+    TAG_UNALIGNED_ACCESS=6,
+)
+
 # https://openpowerfoundation.org/wp-content/uploads/2016/03/ABI64BitOpenPOWERv1.1_16July2015_pub4.pdf
 # See 3.5.3 Relocation Types Table.
 ENUM_RELOC_TYPE_PPC64 = dict(