blob: 49546c247ae25e97e8e9fcd083263f6f08254878 [file] [log] [blame]
H. Peter Anvinf2d98ae2007-07-11 12:18:55 -07001/*
2 * setup.ld
3 *
4 * Linker script for the i386 setup code
5 */
Borislav Petkove6d7bc02019-01-09 17:32:10 +01006OUTPUT_FORMAT("elf32-i386")
H. Peter Anvinf2d98ae2007-07-11 12:18:55 -07007OUTPUT_ARCH(i386)
8ENTRY(_start)
9
10SECTIONS
11{
12 . = 0;
13 .bstext : { *(.bstext) }
14 .bsdata : { *(.bsdata) }
15
H. Peter Anvin09c205a2013-01-27 10:43:28 -080016 . = 495;
H. Peter Anvinf2d98ae2007-07-11 12:18:55 -070017 .header : { *(.header) }
H. Peter Anvin7a734e72009-04-01 18:08:28 -070018 .entrytext : { *(.entrytext) }
H. Peter Anvinf2d98ae2007-07-11 12:18:55 -070019 .inittext : { *(.inittext) }
20 .initdata : { *(.initdata) }
H. Peter Anvin7a734e72009-04-01 18:08:28 -070021 __end_init = .;
22
Arvind Sankar2e7a8582020-07-31 16:07:48 -070023 .text : { *(.text .text.*) }
H. Peter Anvinbe721692009-03-17 15:26:06 -070024 .text32 : { *(.text32) }
H. Peter Anvinf2d98ae2007-07-11 12:18:55 -070025
26 . = ALIGN(16);
27 .rodata : { *(.rodata*) }
28
29 .videocards : {
30 video_cards = .;
31 *(.videocards)
32 video_cards_end = .;
33 }
34
35 . = ALIGN(16);
36 .data : { *(.data*) }
37
38 .signature : {
39 setup_sig = .;
40 LONG(0x5a5aaa55)
41 }
42
43
44 . = ALIGN(16);
45 .bss :
46 {
47 __bss_start = .;
48 *(.bss)
49 __bss_end = .;
50 }
51 . = ALIGN(16);
52 _end = .;
53
Ilie Halip163159a2019-11-26 16:45:44 +020054 /DISCARD/ : {
Ilie Halip163159a2019-11-26 16:45:44 +020055 *(.note*)
56 }
H. Peter Anvinf2d98ae2007-07-11 12:18:55 -070057
Ingo Molnara5912f62009-10-16 07:18:46 +020058 /*
59 * The ASSERT() sink to . is intentional, for binutils 2.14 compatibility:
60 */
H. Peter Anvinf2d98ae2007-07-11 12:18:55 -070061 . = ASSERT(_end <= 0x8000, "Setup too big!");
62 . = ASSERT(hdr == 0x1f1, "The setup header has the wrong offset!");
H. Peter Anvin7a734e72009-04-01 18:08:28 -070063 /* Necessary for the very-old-loader check to work... */
64 . = ASSERT(__end_init <= 5*512, "init sections too big!");
65
H. Peter Anvinf2d98ae2007-07-11 12:18:55 -070066}