summaryrefslogtreecommitdiff
path: root/kc/kc.ld
blob: dbce342a43125ecb2f086922b9ccf6e7f4043896 (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
ENTRY(kc_entry)

SECTIONS
{
    PROVIDE_HIDDEN(kc_image_base = .);

    . = sizeof_headers;

    .rela.plt :
    {
        *(.rela.plt)
    }

    .rela.dyn :
    {
        *(.rela.dyn)
    }

    .hash :
    {
        *(.hash)
    }
    
    .dynsym :
    {
        *(.dynsym)
    }

    .dynstr :
    {
        *(.dynstr)
    }

    .text : ALIGN(4K)
    {
        PROVIDE_HIDDEN(kc_text_begin = .);
        *(.text.start)
        *(.text)
    }

    .plt :
    {
        *(.plt)
        . = ALIGN(4K);
        PROVIDE_HIDDEN(kc_text_end = .);
    } =0xcc
    
    .dynamic : ALIGN(4K)
    {
        PROVIDE_HIDDEN(kc_data_begin = .);
        *(.dynamic)
    }

    .got :
    {
        *(.got)
    }

    .got.plt :
    {
        *(.got.plt)
    }

    .data :
    {
        *(.rodata)
        *(.data)
    }

    .data.rel :
    {
        *(.data.rel)
        *(.data.rel.*)
    }

    .bss :
    {
        *(.bss)
        *(.dynbss)
        . = ALIGN(4K);
        PROVIDE_HIDDEN(kc_data_end = .);
    }

    PROVIDE_HIDDEN(kc_image_end = .);

    /DISCARD/ :
    {
        *(.eh_frame)
        *(.comment)
    }
}