1 /* 2 * model.lds.S - simple linker script for stand-alone Linux booting 3 * 4 * Copyright (C) 2011, 2012 ARM Limited. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions are 9 * met: 10 * 11 * * Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * * Redistributions in binary form must reproduce the above copyright 14 * notice, this list of conditions and the following disclaimer in 15 * the documentation and/or other materials provided with the 16 * distribution. 17 * * Neither the name of ARM nor the names of its contributors may be 18 * used to endorse or promote products derived from this software 19 * without specific prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 22 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 23 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 24 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 27 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 * 33 * This license can also be found in the LICENSE.TXT file. 34 */ 35 36 OUTPUT_FORMAT("elf64-littleaarch64") 37 OUTPUT_ARCH(aarch64) 38 TARGET(binary) 39 40 #ifdef BOOT1 41 INPUT(./boot1.o) 42 #endif 43 44 #ifdef BOOT2 45 INPUT(./boot2.o) 46 #endif 47 48 #ifdef BOOT3 49 INPUT(./boot3.o) 50 #endif 51 52 #ifdef BOOT3F 53 INPUT(./boot3f.o) 54 #endif 55 56 SECTIONS 57 { 58 . = PHYS_OFFSET; 59 #ifdef BOOT1 60 .text : { boot1.o } 61 #endif 62 63 #ifdef BOOT2 64 .text : { boot2.o } 65 #endif 66 67 #ifdef BOOT3 68 .text : { boot3.o } 69 #endif 70 71 #ifdef BOOT3F 72 .text : { boot3f.o } 73 #endif 74 75 .data : { *(.data) } 76 .bss : { *(.bss) } 77 } 78