/* See LICENSE for license details. */ OUTPUT_ARCH( "riscv" ) ENTRY( reset_vector ) SECTIONS { /*--------------------------------------------------------------------*/ /* Code and read-only segment */ /*--------------------------------------------------------------------*/ /* Begining of code and text segment */ . = MEM_START; _ftext = .; .text : { *(.text.init) } /* text: Program code section */ .text : { *(.text) *(.text.*) *(.gnu.linkonce.t.*) } /* rodata: Read-only data */ .rodata : { *(.rdata) *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } /* End of code and read-only segment */ . = ALIGN(0x1000); _etext = .; /*--------------------------------------------------------------------*/ /* HTIF, isolated onto separate page */ /*--------------------------------------------------------------------*/ .htif : { PROVIDE( __htif_base = . ); *(.htif) } . = ALIGN(0x1000); /*--------------------------------------------------------------------*/ /* Initialized data segment */ /*--------------------------------------------------------------------*/ /* Start of initialized data segment */ . = ALIGN(16); _fdata = .; /* data: Writable data */ .data : { *(.data) *(.data.*) *(.srodata*) *(.gnu.linkonce.d.*) *(.comment) } /* End of initialized data segment */ . = ALIGN(16); _edata = .; /*--------------------------------------------------------------------*/ /* Uninitialized data segment */ /*--------------------------------------------------------------------*/ /* Start of uninitialized data segment */ . = .; _fbss = .; /* sbss: Uninitialized writeable small data section */ . = .; /* bss: Uninitialized writeable data section */ . = .; _bss_start = .; .bss : { *(.bss) *(.bss.*) *(.sbss*) *(.gnu.linkonce.b.*) *(COMMON) } . = ALIGN(0x1000); _end = .; }