undefined-module_fixup from Geert

svn path=/dists/trunk/linux-2.6/; revision=8809
This commit is contained in:
Christian T. Steigies 2007-05-27 21:05:34 +00:00
commit 750ec0ba1a
2 changed files with 61 additions and 1 deletions

View File

@ -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;
+ }
+ }
+}

View File

@ -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