Распечатка 3.1 Пример скрипта компоновщика

Предыдущая  Содержание  Следующая V*D*V

Распечатка 3.1

 

OUTPUT_ARCH(mips)

ENTRY(kernel_entry)

SECTIONS

{

  /* Только читаемые секции, объединённые в текстовый сегмент: */

  . = 0x80100000;

  .init : { *(.init) } = 0

 

  .text :

  {

    _ftext = . ;               /* Начало текстового сегмента */

    *(.text)

    *(.rodata)

    *(.rodata.*)

    *(.rodata1)

    /* секции .gnu.warning специально обрабатываемые elf32.em. */

    *(.gnu.warning)

  } =0

 

  .kstrtab : { *(.kstrtab) }

 

  . = ALIGN(16);               /* Таблица запуска */

  __start___ex_table = .;

  __ex_table : { *(__ex_table) }

  __stop___ex_table = .;

 

  __start___dbe_table = .;

  __dbe_table : { *(__dbe_table) }

  __stop___dbe_table = .;

 

  __start___ksymtab = .;       /* Таблица символов ядра */

  __ksymtab : { *(__ksymtab) }

  __stop___ksymtab = .;

 

  _etext = .;                  /* Конец текстового сегмента */

 

  . = ALIGN(8192);

  .data.init_task : { *(.data.init_task)

 

  . = ALIGN(4096);

  __init_begin = .;            /* Начало кода запуска */

  .text.init : { *(.text.init) }

  .data.init : { *(.data.init) }

 

  . = ALIGN(16);

  __setup_start = .;

  .setup.init : { *(.setup.init) }

  __setup_end = .;

 

  __initcall_start = .;

  .initcall.init : { *(.initcall.init) }

  __initcall_end = .;

 

  . = ALIGN(4096); /* Выравнивание двойной страницы для init_task_union */

  __init_end = .;  /* Конец кода запуска */

 

  . = .;

  .data :

  {

    _fdata = . ;       /* Начало сегмента данных */

    *(.data)

    /* Выравнивание для начального образа электронного диска (INITRD) */

    . = ALIGN(4096);

 

    __rd_start = .;

    *(.initrd)

    . = ALIGN(4096);

    __rd_end = .;

 

    CONSTRUCTORS

  }

 

  .data1   : { *(.data1) }

  _gp = . + 0x8000;

  .lit8 : { *(.lit8) }

  .lit4 : { *(.lit4) }

  .ctors         : { *(.ctors) }

  .dtors         : { *(.dtors) }

  .got           : { *(.got.plt) *(.got) }

  .dynamic       : { *(.dynamic) }

  .sdata     : { *(.sdata) }

 

  . = ALIGN(4);

  _edata = .;          /* Конец сегмента данных */

  PROVIDE (edata = .);

 

  __bss_start = .;     /* Начало сегмента bss */

  _fbss = .;

  .sbss      : { *(.sbss) *(.scommon) }

  .bss       :

  {

    *(.dynbss)

    *(.bss)

    *(COMMON)

    . = ALIGN(4);

    _end = . ;         /* Конец bss */

    PROVIDE (end = .);

  }

}

 

Предыдущая  Содержание  Следующая