X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Falpha%2Fkernel%2Fmodule.c;h=fc271e316a388f774150777f8f35f955484d8151;hb=720b94a4e7548e78be55ab8fd3be4686c57dc808;hp=db7a87791efa8269181959c1503276016f31818f;hpb=86090fcac5e27b630656fe3d963a6b80e26dac44;p=linux-2.6.git diff --git a/arch/alpha/kernel/module.c b/arch/alpha/kernel/module.c index db7a87791..fc271e316 100644 --- a/arch/alpha/kernel/module.c +++ b/arch/alpha/kernel/module.c @@ -234,6 +234,10 @@ apply_relocate_add(Elf64_Shdr *sechdrs, const char *strtab, value was resolved from somewhere else. */ if (sym->st_shndx == SHN_UNDEF) goto reloc_overflow; + if ((sym->st_other & STO_ALPHA_STD_GPLOAD) == + STO_ALPHA_STD_GPLOAD) + /* Omit the prologue. */ + value += 8; /* FALLTHRU */ case R_ALPHA_BRADDR: value -= (u64)location + 4;