Fix the LoongArch support code and some more (#483)
[pyelftools.git] / elftools / elf / constants.py
index d3cb3a29d8884dc6738291cbbb2d8dba43c0d09a..567f1e3e8923ec9741e6b91dfe39fcac0cafd668 100644 (file)
@@ -60,13 +60,22 @@ class E_FLAGS(object):
     EF_RISCV_RVE=0x00000008
     EF_RISCV_TSO=0x00000010
 
-    EF_LOONGARCH_ABI=0x000000C0
-    EF_LOONGARCH_ABI_V0=0x00000000
-    EF_LOONGARCH_ABI_V1=0x00000040
-    EF_LOONGARCH_FLOAT_ABI=0x00000003
-    EF_LOONGARCH_FLOAT_ABI_SOFT=0x00000001
-    EF_LOONGARCH_FLOAT_ABI_SINGLE=0x00000002
-    EF_LOONGARCH_FLOAT_ABI_DOUBLE=0x00000003
+    EF_LOONGARCH_OBJABI_MASK=0x000000C0
+    EF_LOONGARCH_OBJABI_V0=0x00000000
+    EF_LOONGARCH_OBJABI_V1=0x00000040
+    EF_LOONGARCH_ABI_MODIFIER_MASK=0x00000007
+    EF_LOONGARCH_ABI_SOFT_FLOAT=0x00000001
+    EF_LOONGARCH_ABI_SINGLE_FLOAT=0x00000002
+    EF_LOONGARCH_ABI_DOUBLE_FLOAT=0x00000003
+    # The names in the glibc elf.h say "LARCH" instead of "LOONGARCH",
+    # provide these names for users' convenience.
+    EF_LARCH_OBJABI_MASK = EF_LOONGARCH_OBJABI_MASK
+    EF_LARCH_OBJABI_V0 = EF_LOONGARCH_OBJABI_V0
+    EF_LARCH_OBJABI_V1 = EF_LOONGARCH_OBJABI_V1
+    EF_LARCH_ABI_MODIFIER_MASK = EF_LOONGARCH_ABI_MODIFIER_MASK
+    EF_LARCH_ABI_SOFT_FLOAT = EF_LOONGARCH_ABI_SOFT_FLOAT
+    EF_LARCH_ABI_SINGLE_FLOAT = EF_LOONGARCH_ABI_SINGLE_FLOAT
+    EF_LARCH_ABI_DOUBLE_FLOAT = EF_LOONGARCH_ABI_DOUBLE_FLOAT
 
 class E_FLAGS_MASKS(object):
     """Masks to be used for convenience when working with E_FLAGS