diff options
Diffstat (limited to 'include/asm-m68k/module.h')
-rw-r--r-- | include/asm-m68k/module.h | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/include/asm-m68k/module.h b/include/asm-m68k/module.h index c6d75af2d8d3..71a1f76ac891 100644 --- a/include/asm-m68k/module.h +++ b/include/asm-m68k/module.h | |||
@@ -1,7 +1,38 @@ | |||
1 | #ifndef _ASM_M68K_MODULE_H | 1 | #ifndef _ASM_M68K_MODULE_H |
2 | #define _ASM_M68K_MODULE_H | 2 | #define _ASM_M68K_MODULE_H |
3 | struct mod_arch_specific { }; | 3 | |
4 | struct mod_arch_specific { | ||
5 | struct m68k_fixup_info *fixup_start, *fixup_end; | ||
6 | }; | ||
7 | |||
8 | #define MODULE_ARCH_INIT { \ | ||
9 | .fixup_start = __start_fixup, \ | ||
10 | .fixup_end = __stop_fixup, \ | ||
11 | } | ||
12 | |||
4 | #define Elf_Shdr Elf32_Shdr | 13 | #define Elf_Shdr Elf32_Shdr |
5 | #define Elf_Sym Elf32_Sym | 14 | #define Elf_Sym Elf32_Sym |
6 | #define Elf_Ehdr Elf32_Ehdr | 15 | #define Elf_Ehdr Elf32_Ehdr |
16 | |||
17 | |||
18 | enum m68k_fixup_type { | ||
19 | m68k_fixup_memoffset, | ||
20 | }; | ||
21 | |||
22 | struct m68k_fixup_info { | ||
23 | enum m68k_fixup_type type; | ||
24 | void *addr; | ||
25 | }; | ||
26 | |||
27 | #define m68k_fixup(type, addr) \ | ||
28 | " .section \".m68k_fixup\",\"aw\"\n" \ | ||
29 | " .long " #type "," #addr "\n" \ | ||
30 | " .previous\n" | ||
31 | |||
32 | extern struct m68k_fixup_info __start_fixup[], __stop_fixup[]; | ||
33 | |||
34 | struct module; | ||
35 | extern void module_fixup(struct module *mod, struct m68k_fixup_info *start, | ||
36 | struct m68k_fixup_info *end); | ||
37 | |||
7 | #endif /* _ASM_M68K_MODULE_H */ | 38 | #endif /* _ASM_M68K_MODULE_H */ |