diff options
Diffstat (limited to 'scripts/mod')
-rw-r--r-- | scripts/mod/modpost.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 40610984a1b5..99a45fdc1bbf 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c | |||
@@ -1502,6 +1502,16 @@ static int addend_386_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r) | |||
1502 | #define R_ARM_JUMP24 29 | 1502 | #define R_ARM_JUMP24 29 |
1503 | #endif | 1503 | #endif |
1504 | 1504 | ||
1505 | #ifndef R_ARM_THM_CALL | ||
1506 | #define R_ARM_THM_CALL 10 | ||
1507 | #endif | ||
1508 | #ifndef R_ARM_THM_JUMP24 | ||
1509 | #define R_ARM_THM_JUMP24 30 | ||
1510 | #endif | ||
1511 | #ifndef R_ARM_THM_JUMP19 | ||
1512 | #define R_ARM_THM_JUMP19 51 | ||
1513 | #endif | ||
1514 | |||
1505 | static int addend_arm_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r) | 1515 | static int addend_arm_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r) |
1506 | { | 1516 | { |
1507 | unsigned int r_typ = ELF_R_TYPE(r->r_info); | 1517 | unsigned int r_typ = ELF_R_TYPE(r->r_info); |
@@ -1515,6 +1525,9 @@ static int addend_arm_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r) | |||
1515 | case R_ARM_PC24: | 1525 | case R_ARM_PC24: |
1516 | case R_ARM_CALL: | 1526 | case R_ARM_CALL: |
1517 | case R_ARM_JUMP24: | 1527 | case R_ARM_JUMP24: |
1528 | case R_ARM_THM_CALL: | ||
1529 | case R_ARM_THM_JUMP24: | ||
1530 | case R_ARM_THM_JUMP19: | ||
1518 | /* From ARM ABI: ((S + A) | T) - P */ | 1531 | /* From ARM ABI: ((S + A) | T) - P */ |
1519 | r->r_addend = (int)(long)(elf->hdr + | 1532 | r->r_addend = (int)(long)(elf->hdr + |
1520 | sechdr->sh_offset + | 1533 | sechdr->sh_offset + |