xref: /netbsd-src/sys/arch/x68k/stand/boot_ufs/boot_ufs.ldscript (revision 0d391af2a99961cd4fbcd10242474284afb1c8f4)
1OUTPUT_FORMAT("binary", "binary", "binary")
2OUTPUT_ARCH(m68k)
3ENTRY(start)
4SEARCH_DIR(/usr/lib);
5/*__DYNAMIC = 0; */
6PROVIDE (__stack = 0);
7SECTIONS
8{
9  . = TEXTADDR;
10  .text :
11  {
12    CREATE_OBJECT_SYMBOLS
13    *(.text)
14    *(.rodata)
15    /* The next six sections are for SunOS dynamic linking.  The order
16       is important.  */
17    *(.dynrel)
18    *(.hash)
19    *(.dynsym)
20    *(.dynstr)
21    *(.rules)
22    *(.need)
23    etext = .;
24    _etext = .;
25  }
26  .data :
27  {
28    /* The first three sections are for SunOS dynamic linking.  */
29    *(.dynamic)
30    *(.got)
31    *(.plt)
32    *(.data)
33    *(.linux-dynamic) /* For Linux dynamic linking.  */
34    CONSTRUCTORS
35    edata  =  .;
36    _edata  =  .;
37  }
38  . = TEXTADDR + 0x2000;
39  .bss :
40  {
41    __bss_start = .;
42   *(.bss)
43   *(COMMON)
44   end = ALIGN(4) ;
45   _end = ALIGN(4) ;
46  }
47  /DISCARD/ : { *(.ident) *(.stab) *(.stabstr) }
48}
49
50ASSERT(first_kbyte - TEXTADDR <= 1024, "Error: first_kbyte exceeds 1KB");
51ASSERT(_edata - TEXTADDR <= 8192, "Error: text+data is too large to bootarea");
52ASSERT(_end <= BOOT_TEXTADDR, "Error: _end conflicts BOOT_TEXT");
53