/* This file is part of Fennix Kernel. Fennix Kernel is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Fennix Kernel is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Fennix Kernel. If not, see . */ OUTPUT_FORMAT("elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) SECTIONS { _bootstrap_start = .; .text.boot : { *(.text.boot) . += CONSTANT(MAXPAGESIZE); _bss_start = .; *(.text.bss) _bss_end = .; } _bootstrap_end = .; _kernel_start = .; _kernel_text_start = .; .text : { KEEP(*(.text.boot)) *(.text .text.*) } . = ALIGN(4096); _kernel_text_end = .; _kernel_data_start = .; .data : { *(.data .data.*) } . = ALIGN(4096); _kernel_data_end = .; _kernel_rodata_start = .; .rodata : { *(.rodata .rodata.*) } . = ALIGN(4096); .builtin_drivers : { __kernel_builtin_drivers_start = .; KEEP(*(SORT(.builtin_drivers.*))) KEEP(*(.builtin_drivers)) __kernel_builtin_drivers_end = .; } .init_array : { PROVIDE_HIDDEN(__init_array_start = .); KEEP(*(.init_array .ctors)) KEEP(*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN(__fini_array_start = .); KEEP(*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP(*(.fini_array .dtors)) PROVIDE_HIDDEN (__fini_array_end = .); } _kernel_rodata_end = .; _kernel_bss_start = .; .bss : { *(.bss .bss.*) } . = ALIGN(4096); _kernel_bss_end = .; _kernel_end = .; _bss_size = _kernel_end - _kernel_rodata_end; /DISCARD/ : { *(.comment*) } }