diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2017-02-26 15:34:42 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2017-02-26 15:34:42 -0500 |
commit | 8e22e1b3499a446df48c2b26667ca36c55bf864c (patch) | |
tree | 5329f98b3eb3c95a9dcbab0fa4f9b6e62f0e788d /scripts/mod/modpost.c | |
parent | 00d3c14f14d51babd8aeafd5fa734ccf04f5ca3d (diff) | |
parent | 64a577196d66b44e37384bc5c4d78c61f59d5b2a (diff) |
Merge airlied/drm-next into drm-misc-next
Backmerge the main pull request to sync up with all the newly landed
drivers. Otherwise we'll have chaos even before 4.12 started in
earnest.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'scripts/mod/modpost.c')
-rw-r--r-- | scripts/mod/modpost.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 29c89a6bad3d..4dedd0d3d3a7 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c | |||
@@ -621,6 +621,16 @@ static void handle_modversions(struct module *mod, struct elf_info *info, | |||
621 | if (strncmp(symname, CRC_PFX, strlen(CRC_PFX)) == 0) { | 621 | if (strncmp(symname, CRC_PFX, strlen(CRC_PFX)) == 0) { |
622 | is_crc = true; | 622 | is_crc = true; |
623 | crc = (unsigned int) sym->st_value; | 623 | crc = (unsigned int) sym->st_value; |
624 | if (sym->st_shndx != SHN_UNDEF && sym->st_shndx != SHN_ABS) { | ||
625 | unsigned int *crcp; | ||
626 | |||
627 | /* symbol points to the CRC in the ELF object */ | ||
628 | crcp = (void *)info->hdr + sym->st_value + | ||
629 | info->sechdrs[sym->st_shndx].sh_offset - | ||
630 | (info->hdr->e_type != ET_REL ? | ||
631 | info->sechdrs[sym->st_shndx].sh_addr : 0); | ||
632 | crc = *crcp; | ||
633 | } | ||
624 | sym_update_crc(symname + strlen(CRC_PFX), mod, crc, | 634 | sym_update_crc(symname + strlen(CRC_PFX), mod, crc, |
625 | export); | 635 | export); |
626 | } | 636 | } |