1 /* Simple linker script for JOS user-level programs.
2 See the GNU ld 'info' manual ("info ld") to learn the syntax. */
4 OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
10 /* Load programs at this address: "." means the current address */
14 *(.text .stub .text.* .gnu.linkonce.t.*)
17 PROVIDE(etext = .); /* Define the 'etext' symbol to this value */
20 *(.rodata .rodata.* .gnu.linkonce.r.*)
23 /* Adjust the address for the data segment to the next page */
39 /* Place debugging symbols so that they can be found by
40 * the kernel debugger.
41 * Specifically, the four words at 0x200000 mark the beginning of
42 * the stabs, the end of the stabs, the beginning of the stabs
43 * string table, and the end of the stabs string table, respectively.
46 .stab_info 0x200000 : {
49 LONG(__STABSTR_BEGIN__);
50 LONG(__STABSTR_END__);
54 __STAB_BEGIN__ = DEFINED(__STAB_BEGIN__) ? __STAB_BEGIN__ : .;
56 __STAB_END__ = DEFINED(__STAB_END__) ? __STAB_END__ : .;
57 BYTE(0) /* Force the linker to allocate space
62 __STABSTR_BEGIN__ = DEFINED(__STABSTR_BEGIN__) ? __STABSTR_BEGIN__ : .;
64 __STABSTR_END__ = DEFINED(__STABSTR_END__) ? __STABSTR_END__ : .;
65 BYTE(0) /* Force the linker to allocate space
70 *(.eh_frame .note.GNU-stack .comment)