reorganize source
[com32] / com32.ld
1 OUTPUT_FORMAT(binary)
2 ENTRY(_start)
3
4 SECTIONS {
5         /* loader starts at <seg>:100h */
6         . = 0x100;
7         .loader : { * (.loader); }
8
9         . = ALIGN(4);
10         _ldr_main_start = .;
11         _ldr_main_end = _ldr_main_start + _main_size;
12
13         /* main program will be moved to 2MB by the loader */
14         . = 2M;
15         .main ALIGN(4): AT (_ldr_main_start) {
16                 _main_start = .;
17                 * (.startup);
18                 * (.text*);
19                 * (.rodata*);
20                 * (.data*);
21                 . = ALIGN(4);
22         }
23
24         .bss ALIGN(4): AT (_ldr_main_start + SIZEOF(.main)) {
25                 . = ALIGN(4);
26                 _bss_start = .;
27                 * (.bss*);
28                 * (COMMON);
29                 . = ALIGN(4);
30                 _bss_end = .;
31         }
32
33         . = ALIGN(4);
34         _main_size = . - _main_start;
35         _mem_start = .;
36
37         /DISCARD/ : {
38                 *(.note.GNU-stack);
39                 *(.comment);
40         }
41 }