/* * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2019 Western Digital Corporation or its affiliates. * * Authors: * Anup Patel */ . = FW_TEXT_START; /* Don't add any section between FW_TEXT_START and _fw_start */ PROVIDE(_fw_start = .); . = ALIGN(0x1000); /* Need this to create proper sections */ /* Beginning of the code section */ .text : { PROVIDE(_text_start = .); *(.entry) *(.text) . = ALIGN(8); PROVIDE(_text_end = .); } . = ALIGN(0x1000); /* Ensure next section is page aligned */ /* End of the code sections */ /* Beginning of the read-only data sections */ . = ALIGN(0x1000); /* Ensure next section is page aligned */ .rodata : { PROVIDE(_rodata_start = .); *(.rodata .rodata.*) . = ALIGN(8); PROVIDE(_rodata_end = .); } /* End of the read-only data sections */ /* Beginning of the read-write data sections */ . = ALIGN(0x1000); /* Ensure next section is page aligned */ .data : { PROVIDE(_data_start = .); *(.sdata) *(.sdata.*) *(.data) *(.data.*) *(.readmostly.data) *(*.data) . = ALIGN(8); PROVIDE(_data_end = .); } .dynsym : { PROVIDE(__dyn_sym_start = .); *(.dynsym) PROVIDE(__dyn_sym_end = .); } .rela.dyn : { PROVIDE(__rel_dyn_start = .); *(.rela*) . = ALIGN(8); PROVIDE(__rel_dyn_end = .); } . = ALIGN(0x1000); /* Ensure next section is page aligned */ .bss : { PROVIDE(_bss_start = .); *(.sbss) *(.sbss.*) *(.bss) *(.bss.*) . = ALIGN(8); PROVIDE(_bss_end = .); } /* End of the read-write data sections */ . = ALIGN(0x1000); /* Need this to create proper sections */ PROVIDE(_fw_end = .);