Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
[linux-2.6] / include / asm-ia64 / module.h
1 #ifndef _ASM_IA64_MODULE_H
2 #define _ASM_IA64_MODULE_H
3
4 /*
5  * IA-64-specific support for kernel module loader.
6  *
7  * Copyright (C) 2003 Hewlett-Packard Co
8  *      David Mosberger-Tang <davidm@hpl.hp.com>
9  */
10
11 struct elf64_shdr;                      /* forward declration */
12
13 struct mod_arch_specific {
14         struct elf64_shdr *core_plt;    /* core PLT section */
15         struct elf64_shdr *init_plt;    /* init PLT section */
16         struct elf64_shdr *got;         /* global offset table */
17         struct elf64_shdr *opd;         /* official procedure descriptors */
18         struct elf64_shdr *unwind;      /* unwind-table section */
19         unsigned long gp;               /* global-pointer for module */
20
21         void *core_unw_table;           /* core unwind-table cookie returned by unwinder */
22         void *init_unw_table;           /* init unwind-table cookie returned by unwinder */
23         unsigned int next_got_entry;    /* index of next available got entry */
24 };
25
26 #define Elf_Shdr        Elf64_Shdr
27 #define Elf_Sym         Elf64_Sym
28 #define Elf_Ehdr        Elf64_Ehdr
29
30 #define MODULE_PROC_FAMILY      "ia64"
31 #define MODULE_ARCH_VERMAGIC    MODULE_PROC_FAMILY \
32         "gcc-" __stringify(__GNUC__) "." __stringify(__GNUC_MINOR__)
33
34 #define ARCH_SHF_SMALL  SHF_IA_64_SHORT
35
36 #endif /* _ASM_IA64_MODULE_H */