Merge from vendor branch OPENSSH:
[dragonfly.git] / contrib / binutils / ld / scripttempl / aout.sc
1 test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT}
2 test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT}
3 test -z "${ALIGNMENT}" && ALIGNMENT="4"
4
5 cat <<EOF
6 OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
7               "${LITTLE_OUTPUT_FORMAT}")
8 OUTPUT_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);}
15 SECTIONS
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 }
57 EOF