undefined-module_fixup from Geert
svn path=/dists/trunk/linux-2.6/; revision=8809
This commit is contained in:
commit
750ec0ba1a
|
@ -0,0 +1,60 @@
|
|||
Subject: m68k: module_fixup() is needed by non-modular kernels, too
|
||||
|
||||
m68k: Fix linking of non-modular kernels by moving module_fixup() from
|
||||
arch/m68k/kernel/module.c to arch/m68k/kernel/setup.c
|
||||
|
||||
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
|
||||
---
|
||||
arch/m68k/kernel/module.c | 17 -----------------
|
||||
arch/m68k/kernel/setup.c | 17 +++++++++++++++++
|
||||
2 files changed, 17 insertions(+), 17 deletions(-)
|
||||
|
||||
--- a/arch/m68k/kernel/module.c
|
||||
+++ b/arch/m68k/kernel/module.c
|
||||
@@ -122,23 +122,6 @@ int apply_relocate_add(Elf32_Shdr *sechd
|
||||
return 0;
|
||||
}
|
||||
|
||||
-void module_fixup(struct module *mod, struct m68k_fixup_info *start,
|
||||
- struct m68k_fixup_info *end)
|
||||
-{
|
||||
- struct m68k_fixup_info *fixup;
|
||||
-
|
||||
- for (fixup = start; fixup < end; fixup++) {
|
||||
- switch (fixup->type) {
|
||||
- case m68k_fixup_memoffset:
|
||||
- *(u32 *)fixup->addr = m68k_memoffset;
|
||||
- break;
|
||||
- case m68k_fixup_vnode_shift:
|
||||
- *(u16 *)fixup->addr += m68k_virt_to_node_shift;
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
int module_finalize(const Elf_Ehdr *hdr,
|
||||
const Elf_Shdr *sechdrs,
|
||||
struct module *mod)
|
||||
--- a/arch/m68k/kernel/setup.c
|
||||
+++ b/arch/m68k/kernel/setup.c
|
||||
@@ -505,3 +505,20 @@ static int __init adb_probe_sync_enable
|
||||
|
||||
__setup("adb_sync", adb_probe_sync_enable);
|
||||
#endif /* CONFIG_ADB */
|
||||
+
|
||||
+void module_fixup(struct module *mod, struct m68k_fixup_info *start,
|
||||
+ struct m68k_fixup_info *end)
|
||||
+{
|
||||
+ struct m68k_fixup_info *fixup;
|
||||
+
|
||||
+ for (fixup = start; fixup < end; fixup++) {
|
||||
+ switch (fixup->type) {
|
||||
+ case m68k_fixup_memoffset:
|
||||
+ *(u32 *)fixup->addr = m68k_memoffset;
|
||||
+ break;
|
||||
+ case m68k_fixup_vnode_shift:
|
||||
+ *(u16 *)fixup->addr += m68k_virt_to_node_shift;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
|
@ -12,7 +12,7 @@
|
|||
+ bugfix/m68k/611-module_fixup.diff m68k
|
||||
+ bugfix/m68k/618-discontig.diff m68k
|
||||
+ bugfix/m68k/630-extern-cleanup.diff m68k
|
||||
#+ bugfix/m68k/633-atari_scc.diff m68k
|
||||
+ bugfix/m68k/633-atari_scc.diff m68k
|
||||
+ bugfix/m68k/130-adbraw.diff m68k
|
||||
#+ bugfix/m68k/133-arch.diff m68k
|
||||
#+ bugfix/m68k/134-atari-fat.diff m68k
|
||||
|
|
Loading…
Reference in New Issue