1*3742d7a8SSimon Glass/* 2*3742d7a8SSimon Glass * (C) Copyright 2002 3*3742d7a8SSimon Glass * Daniel Engström, Omicron Ceti AB, daniel@omicron.se. 4*3742d7a8SSimon Glass * 5*3742d7a8SSimon Glass * SPDX-License-Identifier: GPL-2.0+ 6*3742d7a8SSimon Glass */ 7*3742d7a8SSimon Glass 8*3742d7a8SSimon Glass#include <config.h> 9*3742d7a8SSimon GlassOUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") 10*3742d7a8SSimon GlassOUTPUT_ARCH(i386:x86-64) 11*3742d7a8SSimon GlassENTRY(_start) 12*3742d7a8SSimon Glass 13*3742d7a8SSimon GlassSECTIONS 14*3742d7a8SSimon Glass{ 15*3742d7a8SSimon Glass#ifndef CONFIG_CMDLINE 16*3742d7a8SSimon Glass /DISCARD/ : { *(.u_boot_list_2_cmd_*) } 17*3742d7a8SSimon Glass#endif 18*3742d7a8SSimon Glass 19*3742d7a8SSimon Glass . = CONFIG_SYS_TEXT_BASE; /* Location of bootcode in flash */ 20*3742d7a8SSimon Glass __text_start = .; 21*3742d7a8SSimon Glass .text : { *(.text*); } 22*3742d7a8SSimon Glass 23*3742d7a8SSimon Glass . = ALIGN(4); 24*3742d7a8SSimon Glass 25*3742d7a8SSimon Glass . = ALIGN(4); 26*3742d7a8SSimon Glass .u_boot_list : { 27*3742d7a8SSimon Glass KEEP(*(SORT(.u_boot_list*))); 28*3742d7a8SSimon Glass } 29*3742d7a8SSimon Glass 30*3742d7a8SSimon Glass . = ALIGN(4); 31*3742d7a8SSimon Glass .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } 32*3742d7a8SSimon Glass 33*3742d7a8SSimon Glass . = ALIGN(4); 34*3742d7a8SSimon Glass .data : { *(.data*) } 35*3742d7a8SSimon Glass 36*3742d7a8SSimon Glass . = ALIGN(4); 37*3742d7a8SSimon Glass .hash : { *(.hash*) } 38*3742d7a8SSimon Glass 39*3742d7a8SSimon Glass . = ALIGN(4); 40*3742d7a8SSimon Glass .got : { *(.got*) } 41*3742d7a8SSimon Glass 42*3742d7a8SSimon Glass . = ALIGN(4); 43*3742d7a8SSimon Glass __data_end = .; 44*3742d7a8SSimon Glass __init_end = .; 45*3742d7a8SSimon Glass 46*3742d7a8SSimon Glass . = ALIGN(4); 47*3742d7a8SSimon Glass .dynsym : { *(.dynsym*) } 48*3742d7a8SSimon Glass 49*3742d7a8SSimon Glass . = ALIGN(4); 50*3742d7a8SSimon Glass __rel_dyn_start = .; 51*3742d7a8SSimon Glass .rela.dyn : { 52*3742d7a8SSimon Glass *(.rela*) 53*3742d7a8SSimon Glass } 54*3742d7a8SSimon Glass __rel_dyn_end = .; 55*3742d7a8SSimon Glass . = ALIGN(4); 56*3742d7a8SSimon Glass 57*3742d7a8SSimon Glass .dynamic : { *(.dynamic) } 58*3742d7a8SSimon Glass 59*3742d7a8SSimon Glass . = ALIGN(4); 60*3742d7a8SSimon Glass _end = .; 61*3742d7a8SSimon Glass 62*3742d7a8SSimon Glass .bss __rel_dyn_start (OVERLAY) : { 63*3742d7a8SSimon Glass __bss_start = .; 64*3742d7a8SSimon Glass *(.bss) 65*3742d7a8SSimon Glass *(COM*) 66*3742d7a8SSimon Glass . = ALIGN(4); 67*3742d7a8SSimon Glass __bss_end = .; 68*3742d7a8SSimon Glass } 69*3742d7a8SSimon Glass 70*3742d7a8SSimon Glass /DISCARD/ : { *(.dynsym) } 71*3742d7a8SSimon Glass /DISCARD/ : { *(.dynstr*) } 72*3742d7a8SSimon Glass /DISCARD/ : { *(.dynamic*) } 73*3742d7a8SSimon Glass /DISCARD/ : { *(.plt*) } 74*3742d7a8SSimon Glass /DISCARD/ : { *(.interp*) } 75*3742d7a8SSimon Glass /DISCARD/ : { *(.gnu*) } 76*3742d7a8SSimon Glass} 77