Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/_link.ld.in

    rc89ae25 r6677acb  
    2222        }
    2323
    24         .mapped (PA2KA(BOOT_OFFSET) + SIZEOF_HEADERS + SIZEOF(.unmapped)): AT (BOOT_OFFSET + SIZEOF_HEADERS + SIZEOF(.unmapped)) {
     24        .text (PA2KA(BOOT_OFFSET) + SIZEOF_HEADERS + SIZEOF(.unmapped)): AT (BOOT_OFFSET + SIZEOF_HEADERS + SIZEOF(.unmapped)) {
    2525                ktext_start = .;
    2626                *(.text .text.*);
    2727                ktext_end = .;
     28        }
    2829
     30        /* stack unwinding data */
     31        .eh_frame_hdr : {
     32                eh_frame_hdr_start = .;
     33                *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*);
     34                eh_frame_hdr_end = .;
     35        }
     36        .eh_frame : {
     37                eh_frame_start = .;
     38                KEEP(*(.eh_frame .eh_frame.*));
     39                eh_frame_end = .;
     40        }
     41
     42        .data : {
    2943                kdata_start = .;
    30                 *(.data .data.*);               /* initialized data */
    31                 *(.rodata .rodata.*);
    32                 *(.eh_frame .eh_frame.*);       /* stack unwinding data */
    33                 *(.eh_frame_hdr .eh_frame_hdr.*);
    34                 *(COMMON);              /* global variables */
     44                *(.rodata .rodata.*);  /* read-only global variables */
     45                *(.data .data.*);      /* non-zero initialized global variables */
    3546
    36                 /* bss can't be omitted from the ELF image. */
    37                 *(.bss .bss.*);                /* uninitialized static variables */
     47                /*
     48                 * When .bss is not physically present in the ELF file (MemSz > FileSz)
     49                 * the kernel crashes during early boot. Not sure which part of the
     50                 * boot process is to blame, for now just keep .bss packaged with .data
     51                 * so that FileSz == MemSz.
     52                 */
     53
     54                 *(.bss .bss.*);        /* uninitialized global variables */
     55                *(COMMON);             /* non-`static` global variables without an extern declaration */
    3856                kdata_end = .;
    3957        }
Note: See TracChangeset for help on using the changeset viewer.