detect vm86 and abort
[com32] / com32.ld
1 OUTPUT_FORMAT(binary)
2 ENTRY(_start)
3
4 SECTIONS {
5         /* loader starts at <seg>:100h */
6         . = 0x100;
7         .loader : {
8                 * (.loader);
9                 * (.ldrtext);
10         }
11
12         /* main program will be moved to 2MB by the loader */
13         . = 2M;
14         _main_start = .;
15         .startup : { * (.startup); }
16         .text : { * (.text*); }
17         .rodata : { * (.rodata*); }
18         .data : { * (.data*); }
19
20         .bss ALIGN(4): {
21                 _bss_start = .;
22                 * (.bss*);
23                 * (COMMON);
24                 . = ALIGN(4);
25                 _bss_end = .;
26         }
27         _bss_size = SIZEOF(.bss);
28
29         _main_size = . - _main_start;
30         _mem_start = .;
31 }