1test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT} 2test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT} 3test -z "${ALIGNMENT}" && ALIGNMENT="4" 4 5cat <<EOF 6OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}", 7 "${LITTLE_OUTPUT_FORMAT}") 8OUTPUT_ARCH(${ARCH}) 9 10${RELOCATING+${LIB_SEARCH_DIRS}} 11${STACKZERO+${RELOCATING+${STACKZERO}}} 12${SHLIB_PATH+${RELOCATING+${SHLIB_PATH}}} 13${RELOCATING+${EXECUTABLE_SYMBOLS}} 14${RELOCATING+PROVIDE (__stack = 0);} 15SECTIONS 16{ 17 ${RELOCATING+. = ${TEXT_START_ADDR};} 18 .text : 19 { 20 CREATE_OBJECT_SYMBOLS 21 *(.text) 22 /* The next six sections are for SunOS dynamic linking. The order 23 is important. */ 24 *(.dynrel) 25 *(.hash) 26 *(.dynsym) 27 *(.dynstr) 28 *(.rules) 29 *(.need) 30 ${RELOCATING+_etext = .;} 31 ${RELOCATING+__etext = .;} 32 ${PAD_TEXT+${RELOCATING+. = ${DATA_ALIGNMENT};}} 33 } 34 ${RELOCATING+. = ${DATA_ALIGNMENT};} 35 .data : 36 { 37 /* The first three sections are for SunOS dynamic linking. */ 38 *(.dynamic) 39 *(.got) 40 *(.plt) 41 *(.data) 42 *(.linux-dynamic) /* For Linux dynamic linking. */ 43 ${CONSTRUCTING+CONSTRUCTORS} 44 ${RELOCATING+_edata = .;} 45 ${RELOCATING+__edata = .;} 46 } 47 .bss : 48 { 49 ${RELOCATING+ __bss_start = .}; 50 *(.bss) 51 *(COMMON) 52 ${RELOCATING+. = ALIGN(${ALIGNMENT});} 53 ${RELOCATING+_end = . }; 54 ${RELOCATING+__end = . }; 55 } 56} 57EOF 58