projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4606f68
)
alpha: support R_ALPHA_REFLONG relocations for module loading
author
Michael Cree
<
[email protected]
>
Sat, 24 Jun 2017 01:37:02 +0000
(13:37 +1200)
committer
Matt Turner
<
[email protected]
>
Tue, 29 Aug 2017 19:01:52 +0000
(12:01 -0700)
Since commit
71810db27c1c853b33
(modversions: treat symbol CRCs
as 32 bit quantities) R_ALPHA_REFLONG relocations can be required
to load modules. This implements it.
Tested-by: Bob Tracy <
[email protected]
>
Reviewed-by: Richard Henderson <
[email protected]
>
Signed-off-by: Michael Cree <
[email protected]
>
Signed-off-by: Matt Turner <
[email protected]
>
arch/alpha/kernel/module.c
patch
|
blob
|
history
diff --git
a/arch/alpha/kernel/module.c
b/arch/alpha/kernel/module.c
index 936bc8f89a679f2f8aeb2f7e3cb41f11190a2d77..47632fa8c24e02418cdbac8d5c139f101aa51945 100644
(file)
--- a/
arch/alpha/kernel/module.c
+++ b/
arch/alpha/kernel/module.c
@@
-181,6
+181,9
@@
apply_relocate_add(Elf64_Shdr *sechdrs, const char *strtab,
switch (r_type) {
case R_ALPHA_NONE:
break;
+ case R_ALPHA_REFLONG:
+ *(u32 *)location = value;
+ break;
case R_ALPHA_REFQUAD:
/* BUG() can produce misaligned relocations. */
((u32 *)location)[0] = value;