summaryrefslogtreecommitdiff
path: root/arch/alpha/kernel/module.c
AgeCommit message (Collapse)Author
2005-09-09[PATCH] alpha: process_reloc_for_got confuses r_offset and r_addendChaskiel Grundman
arch/alpha/kernel/module.c:process_reloc_for_got(), which figures out how big the .got section for a module should be, appears to be confusing r_offset (the file offset that the relocation needs to be applied to) with r_addend (the offset of the relocation's actual target address from the address of the relocation's symbol). Because of this, one .got entry is allocated for each relocation instead of one each unique symbol/addend. In the module I am working with, this causes the .got section to be almost 10 times larger than it needs to be (75544 bytes instead of 7608 bytes). As the .got is accessed with global-pointer-relative instructions, it needs to be within the 64k gp "zone", and a 75544 byte .got clearly does not fit. The result of this is that relocation overflows are detected during module load and the load is aborted. Change struct got_entry/process_reloc_for_got to fix this. Acked-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-05-15[PATCH] alpha: fix GP-load symbol linkageRichard Henderson
From: Ivan Kokshaysky <ink@jurassic.park.msu.ru> This skips the GP-loading function prologue (two instructions: 8 bytes) on BRSGP linkage correctly, fixing an oops on alpha while loading the aic7xxx driver.
2004-01-19[PATCH] Relocation overflow with modules on AlphaAndrew Morton
From: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Larger modules fail to load with the message "Relocation overflow vs section 17", or some other section number. This failure happens with GPRELHIGH relocation, which is *signed* short, but relocation overflow check in module.c doesn't take into account the sign extension.
2003-05-12[PATCH] implement module_arch_cleanup() in all architecturesAndrew Morton
From: Rusty Russell <rusty@rustcorp.com.au>, David Mosberger The patch below updates the other platforms with module_arch_cleanup(). Also, I added more debug output to kernel/module.c since I found it useful to be able to see the final section layout.
2003-03-24[PATCH] alpha: handle unaligned REFQUADs produced by BUG() macroIvan Kokshaysky
2003-01-12[MODULES] Centralize undefined symbol checks; handle undef weak.Richard Henderson
2003-01-06[ALPHA] Adjust signature of module_frob_arch_sections.Richard Henderson
2002-12-25[ALPHA] ET_REL modules support.Richard Henderson