EM_ARM data updated from ARM reference manual

This commit is contained in:
Nicolas 2026-02-28 20:57:43 +01:00
parent 940488b660
commit 5a77c72064
1 changed files with 25 additions and 34 deletions

View File

@ -390,50 +390,41 @@ relocation_table_types = {
}, },
"EM_ARM": { "EM_ARM": {
0: ("R_ARM_NONE", 0, ""), 0: ("R_ARM_NONE", 0, ""),
1: ("R_ARM_PC24", 24, "((S + A) | T) - P"),
1: ("R_ARM_PC24", 24, "S - P + A"), 2: ("R_ARM_ABS32", 32, "(S + A) | T"),
2: ("R_ARM_ABS32", 32, "S + A"), 3: ("R_ARM_REL32", 32, "((S + A) | T) - P"),
3: ("R_ARM_REL32", 32, "S - P + A"), 4: ("R_ARM_LDR_PC_G0", 12, "S + A - P"),
4: ("R_ARM_LDR_PC_G0", 12, "S - P + A"),
5: ("R_ARM_ABS16", 16, "S + A"), 5: ("R_ARM_ABS16", 16, "S + A"),
6: ("R_ARM_ABS12", 12, "S + A"), 6: ("R_ARM_ABS12", 12, "S + A"),
7: ("R_ARM_THM_ABS5", 5, "S + A"), 7: ("R_ARM_THM_ABS5", 5, "S + A"),
8: ("R_ARM_ABS8", 8, "S + A"), 8: ("R_ARM_ABS8", 8, "S + A"),
9: ("R_ARM_SBREL32", 32, "S - B + A"), 9: ("R_ARM_SBREL32", 32, "((S + A) | T) - B(S)"),
10: ("R_ARM_THM_CALL", 22, "((S + A) | T) - P"),
10: ("R_ARM_THM_CALL", 22, "S - P + A"), 11: ("R_ARM_THM_PC8", 8, "S + A - Pa"),
11: ("R_ARM_THM_PC8", 8, "S - P + A"), 12: ("R_ARM_BREL_ADJ", 0, "ChangeIn[B(S)] + A"),
12: ("R_ARM_BREL_ADJ", 0, ""),
13: ("R_ARM_TLS_DESC", 0, ""), 13: ("R_ARM_TLS_DESC", 0, ""),
14: ("R_ARM_THM_SWI8", 8, "S + A"), 14: ("R_ARM_THM_SWI8", 8, "S + A"),
15: ("R_ARM_XPC25", 25, ""), 15: ("R_ARM_XPC25", 25, ""),
16: ("R_ARM_THM_XPC22", 22, ""), 16: ("R_ARM_THM_XPC22", 22, ""),
17: ("R_ARM_TLS_DTPMOD32", 0, "Module[S]"),
28: ("R_ARM_CALL", 24, "((S + A) - P) >> 2"), 18: ("R_ARM_TLS_DTPOFF32", 0, "S + A - TLS"),
29: ("R_ARM_JUMP24", 24, "((S + A) - P) >> 2"), 19: ("R_ARM_TLS_TPOFF32", 0, "S + A - tp"),
30: ("R_ARM_THM_JUMP24", 24, "((S + A) - P) >> 1"), 20: ("R_ARM_COPY", 0, ""),
21: ("R_ARM_GLOB_DAT", 0, "(S + A) | T"),
32: ("R_ARM_ALU_PCREL_7_0", 8, "(S - P + A) & 0x000000FF"), 22: ("R_ARM_JUMP_SLOT", 0, "(S + A) | T"),
33: ("R_ARM_ALU_PCREL_15_8", 8, "(S - P + A) & 0x0000FF00"), 23: ("R_ARM_RELATIVE", 0, "B(S) + A"),
34: ("R_ARM_ALU_PCREL_23_15", 9, "(S - P + A) & 0x00FF8000"), 24: ("R_ARM_GOTOFF32", 0, "((S + A) | T) - GOT_ORG"),
25: ("R_ARM_BASE_PREL", 0, "B(S) + A - P"),
35: ("R_ARM_LDR_SBREL_11_0", 12, "(S - B + A) & 0x00000FFF"), 26: ("R_ARM_GOT_BREL", 0, "GOT(S) + A - GOT_ORG"),
36: ("R_ARM_ALU_SBREL_19_12", 8, "(S - B + A) & 0x000FF000"), 27: ("R_ARM_PLT32", 0, "((S + A) | T) - P"),
37: ("R_ARM_ALU_SBREL_27_20", 8, "(S - B + A) & 0x0FF00000"), 28: ("R_ARM_CALL", 24, "((S + A) | T) - P"),
29: ("R_ARM_JUMP24", 24, "((S + A) | T) - P"),
38: ("R_ARM_TARGET1", 32, "implementation defined"), 30: ("R_ARM_THM_JUMP24", 24, "((S + A) | T) - P"),
39: ("R_ARM_SBREL31", 31, "S - B + A"),
40: ("R_ARM_V4BX", 0, ""), 40: ("R_ARM_V4BX", 0, ""),
41: ("R_ARM_TARGET2", 32, "implementation defined"), 42: ("R_ARM_PREL31", 31, "((S + A) | T) - P"),
42: ("R_ARM_PREL31", 31, "S - P + A"), 43: ("R_ARM_MOVW_ABS_NC", 16, "(S + A) | T"),
43: ("R_ARM_MOVW_ABS_NC", 16, "S + A"),
44: ("R_ARM_MOVT_ABS", 16, "S + A"), 44: ("R_ARM_MOVT_ABS", 16, "S + A"),
47: ("R_ARM_THM_MOVW_ABS_NC", 16, "(S + A) | T"),
47: ("R_ARM_THM_MOVW_ABS_NC", 16, "S + A"),
48: ("R_ARM_THM_MOVT_ABS", 16, "S + A"), 48: ("R_ARM_THM_MOVT_ABS", 16, "S + A"),
}, },
"EM_AARCH64": { "EM_AARCH64": {