xxboot.ldscript revision 1.10 1 OUTPUT_FORMAT("binary", "binary", "binary")
2 OUTPUT_ARCH(m68k)
3 ENTRY(start)
4 SEARCH_DIR(/usr/lib);
5 /*__DYNAMIC = 0; */
6 PROVIDE (__stack = 0);
7 SECTIONS
8 {
9 . = TEXTADDR;
10 .text :
11 ALIGN(2)
12 SUBALIGN(2)
13 {
14 CREATE_OBJECT_SYMBOLS
15 *(.text)
16 *(.rodata)
17 /* The next six sections are for SunOS dynamic linking. The order
18 is important. */
19 *(.dynrel)
20 *(.hash)
21 *(.dynsym)
22 *(.dynstr)
23 *(.rules)
24 *(.need)
25 etext = .;
26 _etext = .;
27 }
28 .data :
29 ALIGN(2)
30 SUBALIGN(2)
31 {
32 /* The first three sections are for SunOS dynamic linking. */
33 *(.dynamic)
34 *(.got)
35 *(.plt)
36 *(.data)
37 *(.linux-dynamic) /* For Linux dynamic linking. */
38 CONSTRUCTORS
39 edata = .;
40 _edata = .;
41 }
42 . = TEXTADDR + TEXTDATASIZE;
43
44 /* Place uint32_t startregs[16] out of bss */
45 PROVIDE(startregs = .);
46 . += 0x40/* sizeof(startregs) */;
47
48 .bss :
49 {
50 __bss_start = .;
51 *(.bss)
52 *(COMMON)
53 end = ALIGN(4) ;
54 _end = ALIGN(4) ;
55 }
56 /DISCARD/ : { *(.ident) *(.stab) *(.stabstr) }
57 }
58
59 ASSERT(first_kbyte - TEXTADDR <= 1024, "Error: first_kbyte exceeds 1KB");
60 ASSERT(_end <= BOOT_TEXTADDR, "Error: _end conflicts BOOT_TEXT");
61