Linux-2.6.12-rc2
[GitHub/mt8127/android_kernel_alcatel_ttab.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 Elf_Shdr Elf32_Shdr
35 #define Elf_Sym Elf32_Sym
36 #define Elf_Ehdr Elf32_Ehdr
37
38 /* Make empty sections for module_frob_arch_sections to expand. */
39 #ifdef MODULE
40 asm(".section .plt,\"ax\",@nobits; .align 3; .previous");
41 asm(".section .init.plt,\"ax\",@nobits; .align 3; .previous");
42 #endif
43
44 /* We don't do exception tables. */
45 struct exception_table_entry;
46 static inline const struct exception_table_entry *
47 search_extable(const struct exception_table_entry *first,
48 const struct exception_table_entry *last,
49 unsigned long value)
50 {
51 return 0;
52 }
53 #define ARCH_HAS_SEARCH_EXTABLE
54 static inline void
55 sort_extable(struct exception_table_entry *start,
56 struct exception_table_entry *finish)
57 {
58 /* nada */
59 }
60 #define ARCH_HAS_SORT_EXTABLE
61
62 #endif /* __V850_MODULE_H__ */