1 2OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") 3OUTPUT_ARCH(arm) 4ENTRY(_start) 5SECTIONS 6{ 7 . = 0x40700000; 8 __image_copy_start =.; 9 . = ALIGN(4); 10 .text : 11 { 12 __text_start = .; 13 start.o (.text*) 14 init_regs.o (.text*) 15 lowlevel_init_v300.o (.text*) 16 ddr_training_impl.o (.text*) 17 ddr_training_console.o (.text*) 18 ddr_training_ctl.o (.text*) 19 ddr_training_boot.o (.text*) 20 ddr_training_custom.o (.text*) 21 uart.o (.text*) 22 div0.o (.text*) 23 emmc_boot.o (.text*) 24 image_data.o (.text*) 25 startup.o(.text*) 26 reset.o(.text*) 27 mmu.o(.text*) 28 __init_end = .; 29 ASSERT(((__init_end - __text_start) < 0x7800), "init sections too big!"); 30 *(.text*) 31 } 32 __text_end = .; 33 34 . = ALIGN(4); 35 .image : { *(.image) } 36 37 . = ALIGN(4); 38 .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } 39 40 . = ALIGN(4); 41 .data : { *(.data) } 42 43 . = ALIGN(4); 44 .got : { *(.got) } 45 46 . = ALIGN(4); 47 __image_copy_end =.; 48 __bss_start = .; 49 .bss : { *(.bss) } 50 __bss_end = .; 51 _end = .; 52} 53