Fixes exec-bound-3 failures
[pintos-anon] / src / lib / user / user.lds
1 OUTPUT_FORMAT("elf32-i386")
2 OUTPUT_ARCH(i386)
3 ENTRY(_start)
4
5 SECTIONS
6 {
7   /* Read-only sections, merged into text segment: */
8   __executable_start = 0x08048000 + SIZEOF_HEADERS;
9   . = 0x08048000 + SIZEOF_HEADERS;
10   .text : { *(.text) } = 0x90
11   .rodata : { *(.rodata) }
12
13   /* Adjust the address for the data segment.  We want to adjust up to
14      the same address within the page on the next page up.  */
15   . = ALIGN (0x1000) - ((0x1000 - .) & (0x1000 - 1)); 
16   . = DATA_SEGMENT_ALIGN (0x1000, 0x1000);
17
18   .data : { *(.data) }
19   .bss : { *(.bss) *(.testEndmem) }
20
21   /* Stabs debugging sections.  */
22   .stab          0 : { *(.stab) }
23   .stabstr       0 : { *(.stabstr) }
24   .stab.excl     0 : { *(.stab.excl) }
25   .stab.exclstr  0 : { *(.stab.exclstr) }
26   .stab.index    0 : { *(.stab.index) }
27   .stab.indexstr 0 : { *(.stab.indexstr) }
28   .comment       0 : { *(.comment) }
29
30   /* DWARF debug sections.
31   Symbols in the DWARF debugging sections are relative to the beginning
32   of the section so we begin them at 0.  */
33   /* DWARF 1 */
34   .debug          0 : { *(.debug) }
35   .line           0 : { *(.line) }
36   /* GNU DWARF 1 extensions */
37   .debug_srcinfo  0 : { *(.debug_srcinfo) }
38   .debug_sfnames  0 : { *(.debug_sfnames) }
39   /* DWARF 1.1 and DWARF 2 */
40   .debug_aranges  0 : { *(.debug_aranges) }
41   .debug_pubnames 0 : { *(.debug_pubnames) }
42   /* DWARF 2 */
43   .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
44   .debug_abbrev   0 : { *(.debug_abbrev) }
45   .debug_line     0 : { *(.debug_line) }
46   .debug_frame    0 : { *(.debug_frame) }
47   .debug_str      0 : { *(.debug_str) }
48   .debug_loc      0 : { *(.debug_loc) }
49   .debug_macinfo  0 : { *(.debug_macinfo) }
50   /* SGI/MIPS DWARF 2 extensions */
51   .debug_weaknames 0 : { *(.debug_weaknames) }
52   .debug_funcnames 0 : { *(.debug_funcnames) }
53   .debug_typenames 0 : { *(.debug_typenames) }
54   .debug_varnames  0 : { *(.debug_varnames) }
55   /DISCARD/ : { *(.note.GNU-stack) }
56   /DISCARD/ : { *(.eh_frame) }
57 }