source.
(eelf64ppc_fbsd.c): Add rules to build this file.
* Makefile.in: Regenerate.
* configure.tgt: Add target definition for powerpc64-*-freebsd*.
Adjust powerpc-*-freebsd*.
* emultempl/ppc64elf.em: Add a mechanism to override the default
value of 0 for plt_static_chain.
* emulparams/elf32ppc_fbsd.sh (OUTPUT_FORMAT): Override the default.
* emulparams/elf64ppc_fbsd.sh (OUTPUT_FORMAT): Likewise.
(DEFAULT_PLT_STATIC_CHAIN): Define to 1.
+
+ * Makefile.am (ALL_64_EMULATION_SOURCES): Add powerpc64-*-freebsd
+ source.
+ (eelf64ppc_fbsd.c): Add rules to build this file.
+ * Makefile.in: Regenerate.
+ * configure.tgt: Add target definition for powerpc64-*-freebsd*.
+ Adjust powerpc-*-freebsd*.
+ * emultempl/ppc64elf.em: Add a mechanism to override the default
+ value of 0 for plt_static_chain.
+ * emulparams/elf32ppc_fbsd.sh (OUTPUT_FORMAT): Override the default.
+ * emulparams/elf64ppc_fbsd.sh (OUTPUT_FORMAT): Likewise.
+ (DEFAULT_PLT_STATIC_CHAIN): Define to 1.
+
* ldlang.c (insert_pad): Change alignment_needed argument to
eelf64ltsmip_fbsd.c \
eelf64mmix.c \
eelf64ppc.c \
+ eelf64ppc_fbsd.c \
eelf64tilegx.c \
eelf_l1om.c \
eelf_l1om_fbsd.c \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64ppc "$(tdir_elf64ppc)"
+eelf64ppc_fbsd.c: $(srcdir)/emulparams/elf64ppc_fbsd.sh \
+ $(srcdir)/emultempl/ppc64elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64ppc_fbsd "$(tdir_elf64ppc_fbsd)"
eelf64tilegx.c: $(srcdir)/emulparams/elf64tilegx.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
eelf64ltsmip_fbsd.c \
eelf64mmix.c \
eelf64ppc.c \
+ eelf64ppc_fbsd.c \
eelf64tilegx.c \
eelf_l1om.c \
eelf_l1om_fbsd.c \
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ltsmip_fbsd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64mmix.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ppc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ppc_fbsd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64tilegx.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_be.Po@am__quote@
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf64ppc "$(tdir_elf64ppc)"
+eelf64ppc_fbsd.c: $(srcdir)/emulparams/elf64ppc_fbsd.sh \
+ $(srcdir)/emultempl/ppc64elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64ppc_fbsd "$(tdir_elf64ppc_fbsd)"
eelf64tilegx.c: $(srcdir)/emulparams/elf64tilegx.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
pj*-*-*) targ_emul=pjelf
;;
powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu)
- targ_emul=elf32ppc_fbsd;
- targ_extra_emuls="elf32ppc elf32ppcsim";
+ targ_emul=elf32ppc_fbsd
+ targ_extra_emuls="elf32ppc elf32ppcsim"
targ_extra_libpath=elf32ppc;
tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'` ;;
+powerpc64-*-freebsd*)
+ targ_emul=elf64ppc_fbsd
+ targ_extra_emuls="elf64ppc elf32ppc_fbsd elf32ppc"
+ targ_extra_libpath="elf32ppc_fbsd elf32ppc"
+ tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
+ tdir_elf32ppc_fbsd=$tdir_elf32ppc
+ ;;
powerpc*-*-linux*) case "${targ}" in
*64*) targ_emul=elf64ppc
targ_extra_emuls="elf32ppclinux elf32ppc elf32ppcsim"
. ${srcdir}/emulparams/elf32ppc.sh
. ${srcdir}/emulparams/elf_fbsd.sh
+
+OUTPUT_FORMAT="elf32-powerpc-freebsd"
+
--- /dev/null
+. ${srcdir}/emulparams/elf64ppc.sh
+. ${srcdir}/emulparams/elf_fbsd.sh
+
+OUTPUT_FORMAT="elf64-powerpc-freebsd"
+DEFAULT_PLT_STATIC_CHAIN=1
+
static int no_toc_sort = 0;
/* Set if PLT call stubs should load r11. */
-static int plt_static_chain = 0;
+static int plt_static_chain = ${DEFAULT_PLT_STATIC_CHAIN-0};
/* Whether to emit symbols for stubs. */
static int emit_stub_syms = -1;