1214082Sdim# The PLT-agnostic parts of a generic 32-bit ELF PowerPC target.  Included by:
2214082Sdim# elf32ppc.sh elf32ppcvxworks.sh
3214082SdimTEMPLATE_NAME=elf32
4214082SdimGENERATE_SHLIB_SCRIPT=yes
5214082SdimGENERATE_PIE_SCRIPT=yes
6214082SdimSCRIPT_NAME=elf
7214082SdimOUTPUT_FORMAT="elf32-powerpc"
8214082SdimTEXT_START_ADDR=0x01800000
9214634SdimMAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
10214634SdimCOMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
11214082SdimARCH=powerpc:common
12214082SdimMACHINE=
13214082SdimEXECUTABLE_SYMBOLS='PROVIDE (__stack = 0); PROVIDE (___stack = 0);'
14214082Sdimif test -z "${CREATE_SHLIB}"; then
15214082Sdim  SDATA_START_SYMBOLS="PROVIDE (_SDA_BASE_ = 32768);"
16214082Sdim  SDATA2_START_SYMBOLS="PROVIDE (_SDA2_BASE_ = 32768);"
17214082Sdim  SBSS_START_SYMBOLS="PROVIDE (__sbss_start = .); PROVIDE (___sbss_start = .);"
18214082Sdim  SBSS_END_SYMBOLS="PROVIDE (__sbss_end = .); PROVIDE (___sbss_end = .);"
19214082Sdimelse
20214082Sdim  unset SDATA_START_SYMBOLS
21214082Sdim  unset SDATA2_START_SYMBOLS
22214082Sdim  unset SBSS_START_SYMBOLS
23214082Sdim  unset SBSS_END_SYMBOLS
24214082Sdimfi
25214082SdimOTHER_END_SYMBOLS="__end = .;"
26214082SdimOTHER_RELRO_SECTIONS="
27214082Sdim  .fixup        ${RELOCATING-0} : { *(.fixup) }
28214082Sdim  .got1         ${RELOCATING-0} : { *(.got1) }
29214082Sdim  .got2         ${RELOCATING-0} : { *(.got2) }
30214082Sdim"
31214082SdimOTHER_GOT_RELOC_SECTIONS="
32214082Sdim  .rela.got1         ${RELOCATING-0} : { *(.rela.got1) }
33214082Sdim  .rela.got2         ${RELOCATING-0} : { *(.rela.got2) }
34214082Sdim"
35214082Sdim
36214082Sdim# Treat a host that matches the target with the possible exception of "64"
37214082Sdim# in the name as if it were native.
38214082Sdimif test `echo "$host" | sed -e s/64//` = `echo "$target" | sed -e s/64//`; then
39214082Sdim  case " $EMULATION_LIBPATH " in
40214082Sdim    *" ${EMULATION_NAME} "*)
41214082Sdim      NATIVE=yes
42214082Sdim      ;;
43214082Sdim  esac
44214082Sdimfi
45214082Sdim
46214082Sdim# Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first.
47214082Sdimcase "$EMULATION_NAME" in
48214082Sdim  *64*) LIBPATH_SUFFIX=64 ;;
49214082Sdimesac
50