fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / asm-v850 / module.h
1 /*
2  * include/asm-v850/module.h -- Architecture-specific module hooks
3  *
4  *  Copyright (C) 2001,02,03,04  NEC Corporation
5  *  Copyright (C) 2001,02,03,04  Miles Bader <miles@gnu.org>
6  *  Copyright (C) 2001,03  Rusty Russell
7  *
8  * This file is subject to the terms and conditions of the GNU General
9  * Public License.  See the file COPYING in the main directory of this
10  * archive for more details.
11  *
12  * Written by Miles Bader <miles@gnu.org>
13  *
14  * Derived in part from include/asm-ppc/module.h
15  */
16
17 #ifndef __V850_MODULE_H__
18 #define __V850_MODULE_H__
19
20 #define MODULE_SYMBOL_PREFIX "_"
21
22 struct v850_plt_entry
23 {
24         /* Indirect jump instruction sequence (6-byte mov + 2-byte jr).  */
25         unsigned long tramp[2];
26 };
27
28 struct mod_arch_specific
29 {
30         /* Indices of PLT sections within module. */
31         unsigned int core_plt_section, init_plt_section;
32 };
33
34 #define MODULES_ARE_ELF32
35 #define Elf_Shdr Elf32_Shdr
36 #define Elf_Sym Elf32_Sym
37 #define Elf_Ehdr Elf32_Ehdr
38 #define Elf_Rel Elf32_Rel
39 #define Elf_Rela Elf32_Rela
40 #define ELF_R_TYPE(X)   ELF32_R_TYPE(X)
41 #define ELF_R_SYM(X)    ELF32_R_SYM(X)
42
43 /* Make empty sections for module_frob_arch_sections to expand. */
44 #ifdef MODULE
45 asm(".section .plt,\"ax\",@nobits; .align 3; .previous");
46 asm(".section .init.plt,\"ax\",@nobits; .align 3; .previous");
47 #endif
48
49 /* We don't do exception tables.  */
50 struct exception_table_entry;
51 static inline const struct exception_table_entry *
52 search_extable(const struct exception_table_entry *first,
53                const struct exception_table_entry *last,
54                unsigned long value)
55 {
56         return 0;
57 }
58 #define ARCH_HAS_SEARCH_EXTABLE
59 static inline void
60 sort_extable(struct exception_table_entry *start,
61              struct exception_table_entry *finish)
62 {
63         /* nada */
64 }
65 #define ARCH_HAS_SORT_EXTABLE
66
67 #endif /* __V850_MODULE_H__ */