aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/asm-ppc64/module.h
blob: 0581607826e814b76104819bd40c84569dee9001 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef _ASM_PPC64_MODULE_H
#define _ASM_PPC64_MODULE_H

#include <linux/list.h>
#include <asm/bug.h>

struct mod_arch_specific
{
	/* Index of stubs section within module. */
	unsigned int stubs_section;

	/* What section is the TOC? */
	unsigned int toc_section;

	/* List of BUG addresses, source line numbers and filenames */
	struct list_head bug_list;
	struct bug_entry *bug_table;
	unsigned int num_bugs;
};

extern struct bug_entry *module_find_bug(unsigned long bugaddr);

#define Elf_Shdr Elf64_Shdr
#define Elf_Sym Elf64_Sym
#define Elf_Ehdr Elf64_Ehdr

/* Make empty section for module_frob_arch_sections to expand. */
#ifdef MODULE
asm(".section .stubs,\"ax\",@nobits; .align 3; .previous");
#endif

struct exception_table_entry;
void sort_ex_table(struct exception_table_entry *start,
			struct exception_table_entry *finish);

#endif /* _ASM_PPC64_MODULE_H */