| /* 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) |
| } |
| } |