diff options
Diffstat (limited to 'scripts/mod')
| -rw-r--r-- | scripts/mod/file2alias.c | 4 | ||||
| -rw-r--r-- | scripts/mod/modpost.c | 21 |
2 files changed, 21 insertions, 4 deletions
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index 23708636b05c..25e5cb0aaef6 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c | |||
| @@ -210,8 +210,8 @@ static void do_usb_entry(void *symval, | |||
| 210 | range_lo < 0x9 ? "[%X-9" : "[%X", | 210 | range_lo < 0x9 ? "[%X-9" : "[%X", |
| 211 | range_lo); | 211 | range_lo); |
| 212 | sprintf(alias + strlen(alias), | 212 | sprintf(alias + strlen(alias), |
| 213 | range_hi > 0xA ? "a-%X]" : "%X]", | 213 | range_hi > 0xA ? "A-%X]" : "%X]", |
| 214 | range_lo); | 214 | range_hi); |
| 215 | } | 215 | } |
| 216 | } | 216 | } |
| 217 | if (bcdDevice_initial_digits < (sizeof(bcdDevice_lo) * 2 - 1)) | 217 | if (bcdDevice_initial_digits < (sizeof(bcdDevice_lo) * 2 - 1)) |
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 17855761e6b7..99a45fdc1bbf 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c | |||
| @@ -584,12 +584,16 @@ static int ignore_undef_symbol(struct elf_info *info, const char *symname) | |||
| 584 | if (strncmp(symname, "_restgpr_", sizeof("_restgpr_") - 1) == 0 || | 584 | if (strncmp(symname, "_restgpr_", sizeof("_restgpr_") - 1) == 0 || |
| 585 | strncmp(symname, "_savegpr_", sizeof("_savegpr_") - 1) == 0 || | 585 | strncmp(symname, "_savegpr_", sizeof("_savegpr_") - 1) == 0 || |
| 586 | strncmp(symname, "_rest32gpr_", sizeof("_rest32gpr_") - 1) == 0 || | 586 | strncmp(symname, "_rest32gpr_", sizeof("_rest32gpr_") - 1) == 0 || |
| 587 | strncmp(symname, "_save32gpr_", sizeof("_save32gpr_") - 1) == 0) | 587 | strncmp(symname, "_save32gpr_", sizeof("_save32gpr_") - 1) == 0 || |
| 588 | strncmp(symname, "_restvr_", sizeof("_restvr_") - 1) == 0 || | ||
| 589 | strncmp(symname, "_savevr_", sizeof("_savevr_") - 1) == 0) | ||
| 588 | return 1; | 590 | return 1; |
| 589 | if (info->hdr->e_machine == EM_PPC64) | 591 | if (info->hdr->e_machine == EM_PPC64) |
| 590 | /* Special register function linked on all modules during final link of .ko */ | 592 | /* Special register function linked on all modules during final link of .ko */ |
| 591 | if (strncmp(symname, "_restgpr0_", sizeof("_restgpr0_") - 1) == 0 || | 593 | if (strncmp(symname, "_restgpr0_", sizeof("_restgpr0_") - 1) == 0 || |
| 592 | strncmp(symname, "_savegpr0_", sizeof("_savegpr0_") - 1) == 0) | 594 | strncmp(symname, "_savegpr0_", sizeof("_savegpr0_") - 1) == 0 || |
| 595 | strncmp(symname, "_restvr_", sizeof("_restvr_") - 1) == 0 || | ||
| 596 | strncmp(symname, "_savevr_", sizeof("_savevr_") - 1) == 0) | ||
| 593 | return 1; | 597 | return 1; |
| 594 | /* Do not ignore this symbol */ | 598 | /* Do not ignore this symbol */ |
| 595 | return 0; | 599 | return 0; |
| @@ -1498,6 +1502,16 @@ static int addend_386_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r) | |||
| 1498 | #define R_ARM_JUMP24 29 | 1502 | #define R_ARM_JUMP24 29 |
| 1499 | #endif | 1503 | #endif |
| 1500 | 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 | |||
| 1501 | 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) |
| 1502 | { | 1516 | { |
| 1503 | unsigned int r_typ = ELF_R_TYPE(r->r_info); | 1517 | unsigned int r_typ = ELF_R_TYPE(r->r_info); |
| @@ -1511,6 +1525,9 @@ static int addend_arm_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r) | |||
| 1511 | case R_ARM_PC24: | 1525 | case R_ARM_PC24: |
| 1512 | case R_ARM_CALL: | 1526 | case R_ARM_CALL: |
| 1513 | 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: | ||
| 1514 | /* From ARM ABI: ((S + A) | T) - P */ | 1531 | /* From ARM ABI: ((S + A) | T) - P */ |
| 1515 | r->r_addend = (int)(long)(elf->hdr + | 1532 | r->r_addend = (int)(long)(elf->hdr + |
| 1516 | sechdr->sh_offset + | 1533 | sechdr->sh_offset + |
