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