Ignore:
File:
1 edited

Legend:

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

    r15639ec r6677acb  
    1717        .unmapped (BOOT_OFFSET + SIZEOF_HEADERS): AT (BOOT_OFFSET + SIZEOF_HEADERS) {
    1818                unmapped_start = .;
    19                 *(K_TEXT_START);
    20                 *(K_DATA_START);
    21                 *(K_INI_PTLS);
     19                KEEP(*(K_TEXT_START));
     20                KEEP(*(K_DATA_START));
     21                KEEP(*(K_INI_PTLS));
    2222                unmapped_end = .;
    2323        }
    2424
    25         .mapped (PA2KA(BOOT_OFFSET) + SIZEOF_HEADERS + SIZEOF(.unmapped)) : AT (BOOT_OFFSET + SIZEOF_HEADERS + SIZEOF(.unmapped)) {
     25        .text (PA2KA(BOOT_OFFSET) + SIZEOF_HEADERS + SIZEOF(.unmapped)) : AT (BOOT_OFFSET + SIZEOF_HEADERS + SIZEOF(.unmapped)) {
    2626                ktext_start = .;
    2727                *(.text .text.*);
    2828                ktext_end = .;
     29        }
    2930
     31        /* stack unwinding data */
     32        .eh_frame_hdr : {
     33                eh_frame_hdr_start = .;
     34                *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*);
     35                eh_frame_hdr_end = .;
     36        }
     37        .eh_frame : {
     38                eh_frame_start = .;
     39                KEEP(*(.eh_frame .eh_frame.*));
     40                eh_frame_end = .;
     41        }
     42
     43        .data : {
    3044                kdata_start = .;
    31                 *(.data);              /* initialized data */
    32                 *(.rodata .rodata.*);  /* string literals */
    33                 *(COMMON);      /* global variables */
     45                *(.rodata .rodata.*);  /* read-only global variables */
     46                *(.data .data.*);      /* non-zero initialized global variables */
    3447
    35                 /* bss can't be omitted from the ELF image. */
    36                 *(.bss);        /* uninitialized static variables */
     48                /*
     49                 * When .bss is not physically present in the ELF file (MemSz > FileSz)
     50                 * the kernel crashes during early boot. Not sure which part of the
     51                 * boot process is to blame, for now just keep .bss packaged with .data
     52                 * so that FileSz == MemSz.
     53                 */
    3754
    38                 . = ALIGN(8);
    39                 symbol_table = .;
    40                 *(symtab.*);    /* Symbol table, must be LAST symbol!*/
    41 
     55                 *(.bss .bss.*);        /* uninitialized global variables */
     56                *(COMMON);             /* non-`static` global variables without an extern declaration */
    4257                kdata_end = .;
    4358        }
    4459
    45 #ifdef CONFIG_LINE_DEBUG
    4660        .comment 0 : { *(.comment); }
    4761        .debug_abbrev 0 : { *(.debug_abbrev); }
     62        .debug_abbrev.dwo 0 : { *(      .debug_abbrev.dwo); }
     63        .debug_addr 0 : { *(.debug_addr); }
    4864        .debug_aranges 0 : { *(.debug_aranges); }
     65        .debug_cu_index 0 : { *(.debug_cu_index); }
     66        .debug_frame 0 : { *(.debug_frame); }
     67        .debug_frame_hdr 0 : { *(.debug_frame_hdr); }
    4968        .debug_info 0 : { *(.debug_info); }
     69        .debug_info.dwo 0 : { *(.debug_info.dwo); }
    5070        .debug_line 0 : { *(.debug_line); }
     71        .debug_line.dwo 0 : { *(.debug_line.dwo); }
     72        .debug_line_str 0 : { *(.debug_line_str); }
    5173        .debug_loc 0 : { *(.debug_loc); }
     74        .debug_loclists 0 : { *(.debug_loclists); }
     75        .debug_loclists.dwo 0 : { *(.debug_loclists.dwo); }
     76        .debug_macinfo 0 : { *(.debug_macinfo); }
     77        .debug_macro 0 : { *(.debug_macro); }
     78        .debug_macro.dwo 0 : { *(.debug_macro.dwo); }
     79        .debug_names 0 : { *(.debug_names); }
    5280        .debug_pubnames 0 : { *(.debug_pubnames); }
    5381        .debug_pubtypes 0 : { *(.debug_pubtypes); }
    5482        .debug_ranges 0 : { *(.debug_ranges); }
     83        .debug_rnglists 0 : { *(.debug_rnglists); }
    5584        .debug_str 0 : { *(.debug_str); }
    56 #endif
     85        .debug_str.dwo 0 : { *(.debug_str.dwo); }
     86        .debug_str_offsets 0 : { *(.debug_str_offsets); }
     87        .debug_str_offsets.dwo 0 : { *(.debug_str_offsets.dwo); }
     88        .debug_tu_index 0 : { *(.debug_tu_index); }
     89        .debug_types 0 : { *(.debug_types); }
    5790
    5891        /DISCARD/ : {
Note: See TracChangeset for help on using the changeset viewer.