summaryrefslogtreecommitdiff
path: root/ld_script.txt
blob: 6ab6fbee280fe6a40c606ea6f486c872f47e208a (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
ENTRY(Start)

gNumMusicPlayers = 4;
gMaxLines = 60;

SECTIONS {
    . = 0x2020000;

    ewram (NOLOAD) :
    ALIGN(4)
    {
    }

    . = 0x3000000;

    iwram (NOLOAD) :
    ALIGN(4)
    {
        . = 0x1A80;
        tools/agbcc/lib/libgcc.a:dp-bit.o(.bss);
        tools/agbcc/lib/libgcc.a:fp-bit.o(.bss);
    }

    . = 0x8000000;

    .text :
    ALIGN(4)
    {
        asm/crt0.o(.text);
        asm/main.o(.text);
        src/malloc.o(.text);
        asm/dma3_manager.o(.text);
        src/gpu_regs.o(.text);
        asm/gpu_bg.o(.text);
        asm/pixel_buffer.o(.text);
        asm/window.o(.text);
        asm/text_renderer.o(.text);
        asm/gpu_obj.o(.text);
        asm/string_util.o(.text);
        asm/rom_80093CC.o(.text);
        asm/rtc.o(.text);
        asm/main_menu.o(.text);
        asm/rom_8032654.o(.text);
        asm/tileset_animation.o(.text);
        asm/rom_80A18F4.o(.text);
        asm/task.o(.text);
        asm/rom_80A92F4.o(.text);
        asm/multiboot.o(.text);
        asm/rom_81BAD84.o(.text);
    } =0

    script_data :
    ALIGN(4)
    {
        data/event_scripts.o(script_data);
        data/battle_anim_scripts.o(script_data);
        data/battle_scripts_1.o(script_data);
        data/field_effect_scripts.o(script_data);
        data/battle_scripts_2.o(script_data);
        data/battle_ai_scripts.o(script_data);
        data/contest_ai_scripts.o(script_data);
        data/script_funcs.o(script_data);
    } =0

    lib_text :
    ALIGN(4)
    {
        asm/libgcnmultiboot.o(.text);
        asm/libmks4agb.o(.text);
        asm/libagbbackup.o(.text);
        asm/librtc.o(.text);
        asm/librfu.o(.text);
        asm/libagbsyscall.o(.text);
        tools/agbcc/lib/libgcc.a:_call_via_rX.o(.text);
        tools/agbcc/lib/libgcc.a:_divdi3.o(.text);
        tools/agbcc/lib/libgcc.a:_divsi3.o(.text);
        tools/agbcc/lib/libgcc.a:_dvmd_tls.o(.text);
        tools/agbcc/lib/libgcc.a:_fixunsdfsi.o(.text);
        tools/agbcc/lib/libgcc.a:_fixunssfsi.o(.text);
        tools/agbcc/lib/libgcc.a:_modsi3.o(.text);
        tools/agbcc/lib/libgcc.a:_muldi3.o(.text);
        tools/agbcc/lib/libgcc.a:_udivdi3.o(.text);
        tools/agbcc/lib/libgcc.a:_udivsi3.o(.text);
        tools/agbcc/lib/libgcc.a:_umodsi3.o(.text);
        tools/agbcc/lib/libgcc.a:dp-bit.o(.text);
        tools/agbcc/lib/libgcc.a:fp-bit.o(.text);
        tools/agbcc/lib/libgcc.a:_lshrdi3.o(.text);
        tools/agbcc/lib/libgcc.a:_negdi2.o(.text);
        asm/libc.o(.text);
    } =0

    .rodata :
    ALIGN(4)
    {
        data/data2.o(.rodata);
        data/m4a_tables.o(.rodata);
        data/sound_data.o(.rodata);
    } =0

    lib_rodata :
    ALIGN(4)
    {
        data/libagbbackup_rodata.o(.rodata);
        data/librtc_rodata.o(.rodata);
        data/librfu_rodata.o(.rodata);
        tools/agbcc/lib/libgcc.a:_divdi3.o(.rodata);
        tools/agbcc/lib/libgcc.a:_udivdi3.o(.rodata);
    } =0

    other_data :
    ALIGN(4)
    {
        data/unknown_serial_data.o(.rodata);
        data/multiboot_berry_glitch_fix.o(.rodata);
        data/multiboot_pokemon_colosseum.o(.rodata);
    } =0

    gap1 :
    {
        gap1_start = ABSOLUTE(.);
        BYTE(0x00)
        . = 0x8B00000 - gap1_start;
    } =0

    anim_mon_front_pic_data :
    ALIGN(4)
    {
        data/anim_mon_front_pics.o(anim_mon_front_pic_data);
    } =0

    gap2 :
    {
        gap2_start = ABSOLUTE(.);
        BYTE(0x00)
        . = 0x8C00000 - gap2_start;
    } =0

    gfx_data :
    ALIGN(4)
    {
        data/graphics.o(gfx_data);
    } =0

    /* Discard everything not specifically mentioned above. */
    /DISCARD/ :
    {
        *(*);
    }
}