at v2.6.24 814 B view raw
1#ifndef _ASM_M68K_MODULE_H 2#define _ASM_M68K_MODULE_H 3 4struct 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 13#define Elf_Shdr Elf32_Shdr 14#define Elf_Sym Elf32_Sym 15#define Elf_Ehdr Elf32_Ehdr 16 17 18enum m68k_fixup_type { 19 m68k_fixup_memoffset, 20 m68k_fixup_vnode_shift, 21}; 22 23struct m68k_fixup_info { 24 enum m68k_fixup_type type; 25 void *addr; 26}; 27 28#define m68k_fixup(type, addr) \ 29 " .section \".m68k_fixup\",\"aw\"\n" \ 30 " .long " #type "," #addr "\n" \ 31 " .previous\n" 32 33extern struct m68k_fixup_info __start_fixup[], __stop_fixup[]; 34 35struct module; 36extern void module_fixup(struct module *mod, struct m68k_fixup_info *start, 37 struct m68k_fixup_info *end); 38 39#endif /* _ASM_M68K_MODULE_H */