1*83d290c5STom Rini/* SPDX-License-Identifier: BSD-2-Clause */ 2dd46eef2SSimon Glass/* 3dd46eef2SSimon Glass * U-Boot ARM EFI linker script 4dd46eef2SSimon Glass * 5dd46eef2SSimon Glass * Modified from elf_arm_efi.lds in gnu-efi 6dd46eef2SSimon Glass */ 7dd46eef2SSimon Glass 8dd46eef2SSimon GlassOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") 9dd46eef2SSimon GlassOUTPUT_ARCH(arm) 10dd46eef2SSimon GlassENTRY(_start) 11dd46eef2SSimon GlassSECTIONS 12dd46eef2SSimon Glass{ 13dd46eef2SSimon Glass .text 0x0 : { 14dd46eef2SSimon Glass _text = .; 15dd46eef2SSimon Glass *(.text.head) 16dd46eef2SSimon Glass *(.text) 17dd46eef2SSimon Glass *(.text.*) 18dd46eef2SSimon Glass *(.gnu.linkonce.t.*) 19dd46eef2SSimon Glass *(.srodata) 20dd46eef2SSimon Glass *(.rodata*) 21dd46eef2SSimon Glass . = ALIGN(16); 22dd46eef2SSimon Glass } 23dd46eef2SSimon Glass _etext = .; 24dd46eef2SSimon Glass _text_size = . - _text; 25dd46eef2SSimon Glass .dynamic : { *(.dynamic) } 26dd46eef2SSimon Glass .data : { 27dd46eef2SSimon Glass _data = .; 28dd46eef2SSimon Glass *(.sdata) 29dd46eef2SSimon Glass *(.data) 30dd46eef2SSimon Glass *(.data1) 31dd46eef2SSimon Glass *(.data.*) 32dd46eef2SSimon Glass *(.got.plt) 33dd46eef2SSimon Glass *(.got) 34dd46eef2SSimon Glass 35dd46eef2SSimon Glass /* 36dd46eef2SSimon Glass * The EFI loader doesn't seem to like a .bss section, so we 37dd46eef2SSimon Glass * stick it all into .data: 38dd46eef2SSimon Glass */ 39dd46eef2SSimon Glass . = ALIGN(16); 40dd46eef2SSimon Glass _bss = .; 41dd46eef2SSimon Glass *(.sbss) 42dd46eef2SSimon Glass *(.scommon) 43dd46eef2SSimon Glass *(.dynbss) 44dd46eef2SSimon Glass *(.bss) 45dd46eef2SSimon Glass *(.bss.*) 46dd46eef2SSimon Glass *(COMMON) 47dd46eef2SSimon Glass . = ALIGN(16); 48dd46eef2SSimon Glass _bss_end = .; 49dd46eef2SSimon Glass _edata = .; 50dd46eef2SSimon Glass } 51dd46eef2SSimon Glass .rel.dyn : { *(.rel.dyn) } 52dd46eef2SSimon Glass .rel.plt : { *(.rel.plt) } 53dd46eef2SSimon Glass .rel.got : { *(.rel.got) } 54dd46eef2SSimon Glass .rel.data : { *(.rel.data) *(.rel.data*) } 55dd46eef2SSimon Glass _data_size = . - _etext; 56dd46eef2SSimon Glass 57dd46eef2SSimon Glass /DISCARD/ : { 58dd46eef2SSimon Glass *(.rel.reloc) 59dd46eef2SSimon Glass *(.eh_frame) 60dd46eef2SSimon Glass *(.note.GNU-stack) 6152a250afSAlexander Graf *(.dynsym) 6252a250afSAlexander Graf *(.dynstr) 6352a250afSAlexander Graf *(.note.gnu.build-id) 6452a250afSAlexander Graf *(.comment) 65dd46eef2SSimon Glass } 66dd46eef2SSimon Glass} 67