summaryrefslogtreecommitdiff
path: root/include/asm-generic/sections.h
blob: 51c15f3a14a5b54d93c1a292889d7b23fa376f50 (plain)
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
#ifndef _ASM_GENERIC_SECTIONS_H_
#define _ASM_GENERIC_SECTIONS_H_

/* References to section boundaries */

extern char _text[], _stext[], _etext[];
extern char _data[], _sdata[], _edata[];
extern char __bss_start[], __bss_stop[];
extern char __init_begin[], __init_end[];
extern char _sinittext[], _einittext[];
extern char _end[];
#ifdef CONFIG_HAVE_ZERO_BASED_PER_CPU
extern char __per_cpu_load[];
extern char ____per_cpu_size[];
#define __per_cpu_size ((unsigned long)&____per_cpu_size)
#define __per_cpu_start ((char *)0)
#define __per_cpu_end ((char *)__per_cpu_size)
#else
extern char __per_cpu_start[], __per_cpu_end[];
#define __per_cpu_load __per_cpu_start
#define __per_cpu_size (__per_cpu_end - __per_cpu_start)
#endif
extern char __kprobes_text_start[], __kprobes_text_end[];
extern char __initdata_begin[], __initdata_end[];
extern char __start_rodata[], __end_rodata[];

/* function descriptor handling (if any).  Override
 * in asm/sections.h */
#ifndef dereference_function_descriptor
#define dereference_function_descriptor(p) (p)
#endif

#endif /* _ASM_GENERIC_SECTIONS_H_ */