blob: 842d7be4f1dbed16976232029769b1a5af29967b (
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
34
35
36
37
38
39
40
41
42
43
44
45
|
#pragma once
#ifndef __ASSEMBLER__
#include <elf/elf64.h>
#include <stddef.h>
#include <kjarna/interface.h>
extern struct kjarna_entry_params *entry_params;
#define KC_EXPORT __attribute__((visibility("default")))
extern unsigned char kc_image_base;
extern unsigned char kc_text_begin;
extern unsigned char kc_text_end;
extern unsigned char kc_rodata_begin;
extern unsigned char kc_data_begin;
extern unsigned char kc_data_end;
extern unsigned char kc_image_end;
struct elf64_dso_info;
extern void kc_dynamic_init(char *base, Elf64_Dyn *dyn);
extern void *kc_dynamic_link(struct elf64_dso_info *dso, int index);
extern void kc_reloc(void *base, Elf64_Rela *entries, size_t size, size_t entsize);
#else
.extern kc_image_base
.extern kc_text_begin
.extern kc_text_end
.extern kc_rodata_begin
.extern kc_rodata_end
.extern kc_data_begin
.extern kc_data_end
.extern kc_image_end
.extern _DYNAMIC
.extern kc_dynamic_init
.extern kc_dynamic_link
#endif // __ASSEMBLER__
|