/* SPDX-License-Identifier: BSD-2-Clause */ /* * U-Boot ARM EFI linker script * * Modified from elf_arm_efi.lds in gnu-efi */ OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") OUTPUT_ARCH(arm) PHDRS { data PT_LOAD FLAGS(3); /* PF_W | PF_X */ } ENTRY(_start) SECTIONS { .text 0x0 : { _text = .; *(.text.head) *(.text) *(.text.*) *(.gnu.linkonce.t.*) *(.srodata) *(.rodata*) . = ALIGN(16); *(.dynamic); . = ALIGN(512); } _etext = .; _text_size = . - _text; . = ALIGN(4096); .data : { _data = .; *(.sdata) *(.data) *(.data1) *(.data.*) *(.got.plt) *(.got) /* * The EFI loader doesn't seem to like a .bss section, so we * stick it all into .data: */ . = ALIGN(16); _bss = .; *(.sbss) *(.scommon) *(.dynbss) *(.bss) *(.bss.*) *(COMMON) . = ALIGN(512); _bss_end = .; _edata = .; } :data _data_size = . - _data; /DISCARD/ : { /* * We don't support relocations. These would have to be * translated from ELF to PE format and added to the .reloc * section. */ *(.rel.dyn) *(.rel.plt) *(.rel.got) *(.rel.data) *(.rel.data*) *(.rel.reloc) *(.eh_frame) *(.note.GNU-stack) *(.dynsym) *(.dynstr) *(.note.gnu.build-id) *(.comment) } }