diff options
| author | Ivan Kokshaysky <ink@jurassic.park.msu.ru> | 2003-03-24 06:23:16 -0800 |
|---|---|---|
| committer | Richard Henderson <rth@are.twiddle.net> | 2003-03-24 06:23:16 -0800 |
| commit | 010abedb32384881b4e7ed020fa895a6cb79978c (patch) | |
| tree | eecf809c3ecef4577073621afcf17176737e1a33 /arch/alpha/kernel | |
| parent | 95a41bc4c831fb58af624bde9b96303bd14f2392 (diff) | |
[PATCH] alpha: handle unaligned REFQUADs produced by BUG() macro
Diffstat (limited to 'arch/alpha/kernel')
| -rw-r--r-- | arch/alpha/kernel/module.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/alpha/kernel/module.c b/arch/alpha/kernel/module.c index 159a1bb65764..f444a94eb965 100644 --- a/arch/alpha/kernel/module.c +++ b/arch/alpha/kernel/module.c @@ -199,7 +199,9 @@ apply_relocate_add(Elf64_Shdr *sechdrs, const char *strtab, case R_ALPHA_NONE: break; case R_ALPHA_REFQUAD: - *(u64 *)location = value; + /* BUG() can produce misaligned relocations. */ + ((u32 *)location)[0] = value; + ((u32 *)location)[1] = value >> 32; break; case R_ALPHA_GPREL32: value -= gp; |
