xref: /openbsd-src/gnu/usr.bin/binutils/ld/scripttempl/aix.sc (revision c074d1c999f3e07019cd5e9a2f190b057ef3b935)
12159047fSniklas# AIX linker script.
22159047fSniklas# AIX always uses shared libraries.  The section VMA appears to be
32159047fSniklas# unimportant.  The native linker aligns the sections on boundaries
42159047fSniklas# specified by the -H option.
5*c074d1c9Sdrahn
62159047fSniklascat <<EOF
72159047fSniklasOUTPUT_ARCH(${ARCH})
82159047fSniklas${RELOCATING+${LIB_SEARCH_DIRS}}
92159047fSniklasENTRY(__start)
102159047fSniklasSECTIONS
112159047fSniklas{
122159047fSniklas  .pad 0 : { *(.pad) }
13*c074d1c9Sdrahn
14*c074d1c9Sdrahn  . = 0x10000000;
152159047fSniklas  .text ${RELOCATING-0} : {
162159047fSniklas    ${RELOCATING+PROVIDE (_text = .);}
172159047fSniklas    *(.text)
182159047fSniklas    *(.pr)
192159047fSniklas    *(.ro)
202159047fSniklas    *(.db)
212159047fSniklas    *(.gl)
222159047fSniklas    *(.xo)
232159047fSniklas    *(.ti)
242159047fSniklas    *(.tb)
252159047fSniklas    ${RELOCATING+PROVIDE (_etext = .);}
262159047fSniklas  }
27*c074d1c9Sdrahn  . = ALIGN (0x10000000);
28*c074d1c9Sdrahn  .data . : {
292159047fSniklas    ${RELOCATING+PROVIDE (_data = .);}
302159047fSniklas    *(.data)
312159047fSniklas    *(.rw)
322159047fSniklas    *(.sv)
33*c074d1c9Sdrahn    *(.sv64)
34*c074d1c9Sdrahn    *(.sv3264)
352159047fSniklas    *(.ua)
362159047fSniklas    . = ALIGN(4);
372159047fSniklas    ${CONSTRUCTING+CONSTRUCTORS}
382159047fSniklas    *(.ds)
392159047fSniklas    *(.tc0)
402159047fSniklas    *(.tc)
412159047fSniklas    *(.td)
422159047fSniklas    ${RELOCATING+PROVIDE (_edata = .);}
432159047fSniklas  }
442159047fSniklas  .bss : {
45f7cc78ecSespie    *(.tocbss)
462159047fSniklas    *(.bss)
472159047fSniklas    *(.bs)
482159047fSniklas    *(.uc)
492159047fSniklas    *(COMMON)
502159047fSniklas    ${RELOCATING+PROVIDE (_end = .);}
512159047fSniklas    ${RELOCATING+PROVIDE (end = .);}
522159047fSniklas  }
53*c074d1c9Sdrahn
54*c074d1c9Sdrahn  .loader : {
552159047fSniklas    *(.loader)
562159047fSniklas  }
57*c074d1c9Sdrahn
58*c074d1c9Sdrahn  .debug : {
592159047fSniklas    *(.debug)
602159047fSniklas  }
612159047fSniklas}
622159047fSniklasEOF
63