bfd/
* config.bfd: Add powerpc64le-linux. gas/ * configure.in: Allow little-endian linux. * configure: Regenerate. gold/ * configure.tgt: Add powerpcle and powerpc64le. ld/ * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32lppclinux.c. (eelf32lppclinux.c): New rule. * Makefile.in: Regenerate. * configure.tgt: Merge powerpc-linux and other powerpc-elf targets with corresponding little-endian targets. * emulparams/elf32lppc.sh: Update comment. * emulparams/elf32lppclinux.sh: New.
This commit is contained in:
parent
c65e009ff7
commit
49926cd0c8
13 changed files with 90 additions and 51 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
2013-04-25 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* config.bfd: Add powerpc64le-linux.
|
||||||
|
|
||||||
2013-04-24 H.J. Lu <hongjiu.lu@intel.com>
|
2013-04-24 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* config.bfd (targ_selvecs): Add bfd_elf32_x86_64_vec for
|
* config.bfd (targ_selvecs): Add bfd_elf32_x86_64_vec for
|
||||||
|
|
|
@ -1242,7 +1242,8 @@ case "${targ}" in
|
||||||
targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
|
targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
|
||||||
want64=true
|
want64=true
|
||||||
;;
|
;;
|
||||||
powerpc64le-*-elf* | powerpcle-*-elf64*)
|
powerpc64le-*-elf* | powerpcle-*-elf64* | powerpc64le-*-linux* | \
|
||||||
|
powerpc64le-*-*bsd*)
|
||||||
targ_defvec=bfd_elf64_powerpcle_vec
|
targ_defvec=bfd_elf64_powerpcle_vec
|
||||||
targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpcle_vec bfd_elf32_powerpc_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
|
targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpcle_vec bfd_elf32_powerpc_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
|
||||||
want64=true
|
want64=true
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2013-04-25 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* configure.in: Allow little-endian linux.
|
||||||
|
* configure: Regenerate.
|
||||||
|
|
||||||
2013-04-24 Sandra Loosemore <sandra@codesourcery.com>
|
2013-04-24 Sandra Loosemore <sandra@codesourcery.com>
|
||||||
|
|
||||||
* config/tc-nios2.c (nios2_control_register_arg_p): Rename
|
* config/tc-nios2.c (nios2_control_register_arg_p): Rename
|
||||||
|
|
6
gas/configure
vendored
6
gas/configure
vendored
|
@ -11986,12 +11986,6 @@ $as_echo "$as_me: WARNING: GAS support for ${generic_target} is preliminary and
|
||||||
|
|
||||||
$as_echo "#define AIX_WEAK_SUPPORT 1" >>confdefs.h
|
$as_echo "#define AIX_WEAK_SUPPORT 1" >>confdefs.h
|
||||||
|
|
||||||
;;
|
|
||||||
ppc-*-linux-*)
|
|
||||||
case "$endian" in
|
|
||||||
big) ;;
|
|
||||||
*) as_fn_error "GNU/Linux must be configured big endian" "$LINENO" 5 ;;
|
|
||||||
esac
|
|
||||||
;;
|
;;
|
||||||
ppc-*-solaris*)
|
ppc-*-solaris*)
|
||||||
if test ${this_target} = $target; then
|
if test ${this_target} = $target; then
|
||||||
|
|
|
@ -176,12 +176,6 @@ changequote([,])dnl
|
||||||
AC_DEFINE(AIX_WEAK_SUPPORT, 1,
|
AC_DEFINE(AIX_WEAK_SUPPORT, 1,
|
||||||
[Define if using AIX 5.2 value for C_WEAKEXT.])
|
[Define if using AIX 5.2 value for C_WEAKEXT.])
|
||||||
;;
|
;;
|
||||||
ppc-*-linux-*)
|
|
||||||
case "$endian" in
|
|
||||||
big) ;;
|
|
||||||
*) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
ppc-*-solaris*)
|
ppc-*-solaris*)
|
||||||
if test ${this_target} = $target; then
|
if test ${this_target} = $target; then
|
||||||
AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
|
AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2013-04-25 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* configure.tgt: Add powerpcle and powerpc64le.
|
||||||
|
|
||||||
2013-04-22 Alan Modra <amodra@gmail.com>
|
2013-04-22 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
PR gold/15355
|
PR gold/15355
|
||||||
|
|
|
@ -104,6 +104,14 @@ powerpc-*)
|
||||||
targ_big_endian=true
|
targ_big_endian=true
|
||||||
targ_extra_big_endian=false
|
targ_extra_big_endian=false
|
||||||
;;
|
;;
|
||||||
|
powerpcle-*)
|
||||||
|
targ_obj=powerpc
|
||||||
|
targ_machine=EM_PPC
|
||||||
|
targ_size=32
|
||||||
|
targ_extra_size=64
|
||||||
|
targ_big_endian=false
|
||||||
|
targ_extra_big_endian=true
|
||||||
|
;;
|
||||||
powerpc64-*)
|
powerpc64-*)
|
||||||
targ_obj=powerpc
|
targ_obj=powerpc
|
||||||
targ_machine=EM_PPC64
|
targ_machine=EM_PPC64
|
||||||
|
@ -112,6 +120,14 @@ powerpc64-*)
|
||||||
targ_big_endian=true
|
targ_big_endian=true
|
||||||
targ_extra_big_endian=false
|
targ_extra_big_endian=false
|
||||||
;;
|
;;
|
||||||
|
powerpc64le-*)
|
||||||
|
targ_obj=powerpc
|
||||||
|
targ_machine=EM_PPC64
|
||||||
|
targ_size=64
|
||||||
|
targ_extra_size=32
|
||||||
|
targ_big_endian=false
|
||||||
|
targ_extra_big_endian=true
|
||||||
|
;;
|
||||||
armeb*-*-*|armbe*-*-*)
|
armeb*-*-*|armbe*-*-*)
|
||||||
targ_obj=arm
|
targ_obj=arm
|
||||||
targ_extra_obj=arm-reloc-property
|
targ_extra_obj=arm-reloc-property
|
||||||
|
|
10
ld/ChangeLog
10
ld/ChangeLog
|
@ -1,3 +1,13 @@
|
||||||
|
2013-04-25 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* Makefile.am (ALL_EMULATION_SOURCES): Add eelf32lppclinux.c.
|
||||||
|
(eelf32lppclinux.c): New rule.
|
||||||
|
* Makefile.in: Regenerate.
|
||||||
|
* configure.tgt: Merge powerpc-linux and other powerpc-elf targets
|
||||||
|
with corresponding little-endian targets.
|
||||||
|
* emulparams/elf32lppc.sh: Update comment.
|
||||||
|
* emulparams/elf32lppclinux.sh: New.
|
||||||
|
|
||||||
2013-04-24 H.J. Lu <hongjiu.lu@intel.com>
|
2013-04-24 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* configure.tgt (targ_extra_emuls): Adds elf32_x86_64 for
|
* configure.tgt (targ_extra_emuls): Adds elf32_x86_64 for
|
||||||
|
|
|
@ -247,6 +247,7 @@ ALL_EMULATION_SOURCES = \
|
||||||
eelf32lm32fd.c \
|
eelf32lm32fd.c \
|
||||||
eelf32lmip.c \
|
eelf32lmip.c \
|
||||||
eelf32lppc.c \
|
eelf32lppc.c \
|
||||||
|
eelf32lppclinux.c \
|
||||||
eelf32lppcnto.c \
|
eelf32lppcnto.c \
|
||||||
eelf32lppcsim.c \
|
eelf32lppcsim.c \
|
||||||
eelf32lsmip.c \
|
eelf32lsmip.c \
|
||||||
|
@ -1106,6 +1107,12 @@ eelf32lppc.c: $(srcdir)/emulparams/elf32lppc.sh \
|
||||||
ldemul-list.h \
|
ldemul-list.h \
|
||||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||||
${GENSCRIPTS} elf32lppc "$(tdir_elf32lppc)"
|
${GENSCRIPTS} elf32lppc "$(tdir_elf32lppc)"
|
||||||
|
eelf32lppclinux.c: $(srcdir)/emulparams/elf32lppclinux.sh \
|
||||||
|
$(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \
|
||||||
|
$(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emultempl/ppc32elf.em \
|
||||||
|
ldemul-list.h \
|
||||||
|
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||||
|
${GENSCRIPTS} elf32lppclinux "$(tdir_elf32lppclinux)"
|
||||||
eelf32lppcnto.c: $(srcdir)/emulparams/elf32lppcnto.sh \
|
eelf32lppcnto.c: $(srcdir)/emulparams/elf32lppcnto.sh \
|
||||||
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
|
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
|
||||||
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
|
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
|
||||||
|
|
|
@ -555,6 +555,7 @@ ALL_EMULATION_SOURCES = \
|
||||||
eelf32lm32fd.c \
|
eelf32lm32fd.c \
|
||||||
eelf32lmip.c \
|
eelf32lmip.c \
|
||||||
eelf32lppc.c \
|
eelf32lppc.c \
|
||||||
|
eelf32lppclinux.c \
|
||||||
eelf32lppcnto.c \
|
eelf32lppcnto.c \
|
||||||
eelf32lppcsim.c \
|
eelf32lppcsim.c \
|
||||||
eelf32lsmip.c \
|
eelf32lsmip.c \
|
||||||
|
@ -1188,6 +1189,7 @@ distclean-compile:
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lm32fd.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lm32fd.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lmip.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lmip.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lppc.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lppc.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lppclinux.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lppcnto.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lppcnto.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lppcsim.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lppcsim.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lr5900.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lr5900.Po@am__quote@
|
||||||
|
@ -2591,6 +2593,12 @@ eelf32lppc.c: $(srcdir)/emulparams/elf32lppc.sh \
|
||||||
ldemul-list.h \
|
ldemul-list.h \
|
||||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||||
${GENSCRIPTS} elf32lppc "$(tdir_elf32lppc)"
|
${GENSCRIPTS} elf32lppc "$(tdir_elf32lppc)"
|
||||||
|
eelf32lppclinux.c: $(srcdir)/emulparams/elf32lppclinux.sh \
|
||||||
|
$(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \
|
||||||
|
$(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emultempl/ppc32elf.em \
|
||||||
|
ldemul-list.h \
|
||||||
|
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||||
|
${GENSCRIPTS} elf32lppclinux "$(tdir_elf32lppclinux)"
|
||||||
eelf32lppcnto.c: $(srcdir)/emulparams/elf32lppcnto.sh \
|
eelf32lppcnto.c: $(srcdir)/emulparams/elf32lppcnto.sh \
|
||||||
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
|
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
|
||||||
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
|
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
|
||||||
|
|
|
@ -547,45 +547,29 @@ powerpc64-*-freebsd*)
|
||||||
tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
|
tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
|
||||||
tdir_elf32ppc_fbsd=$tdir_elf32ppc
|
tdir_elf32ppc_fbsd=$tdir_elf32ppc
|
||||||
;;
|
;;
|
||||||
powerpc*-*-linux*) case "${targ}" in
|
powerpc-*-vxworks*)
|
||||||
*64*) targ_emul=elf64ppc
|
targ_emul=elf32ppcvxworks
|
||||||
targ_extra_emuls="elf32ppclinux elf32ppc elf32ppcsim"
|
targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" ;;
|
||||||
targ_extra_libpath="elf32ppclinux elf32ppc"
|
|
||||||
tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
|
|
||||||
tdir_elf32ppclinux=$tdir_elf32ppc
|
|
||||||
tdir_elf32ppcsim=$tdir_elf32ppc
|
|
||||||
;;
|
|
||||||
*) targ_emul=elf32ppclinux
|
|
||||||
targ_extra_emuls="elf32ppc elf32ppcsim"
|
|
||||||
targ_extra_libpath=elf32ppc
|
|
||||||
targ64_extra_emuls=elf64ppc
|
|
||||||
targ64_extra_libpath=elf64ppc
|
|
||||||
;;
|
|
||||||
esac ;;
|
|
||||||
powerpc*le-*-elf* | powerpc*le-*-eabi* | powerpc*le-*-solaris* \
|
|
||||||
| powerpc*le-*-sysv* | powerpc*le-*-vxworks*)
|
|
||||||
case "${targ}" in
|
|
||||||
*64*) targ_emul=elf64lppc
|
|
||||||
targ_extra_emuls="elf32lppc elf32lppcsim"
|
|
||||||
targ_extra_libpath=elf32lppc
|
|
||||||
tdir_elf32lppc=`echo "${targ_alias}" | sed -e 's/64//'`
|
|
||||||
tdir_elf32lppcsim=$tdir_elf32lppc
|
|
||||||
;;
|
|
||||||
*) targ_emul=elf32lppc
|
|
||||||
targ_extra_emuls=elf32lppcsim
|
|
||||||
targ64_extra_emuls=elf64lppc
|
|
||||||
targ64_extra_libpath=elf64lppc
|
|
||||||
;;
|
|
||||||
esac ;;
|
|
||||||
powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \
|
powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \
|
||||||
| powerpc*-*-netbsd* | powerpc-*-openbsd* | powerpc*-*-kaos*)
|
| powerpc*-*-linux* | powerpc*-*-netbsd* | powerpc*-*-openbsd* \
|
||||||
|
| powerpc*-*-solaris* | powerpc*-*-kaos* | powerpc*-*-vxworks*)
|
||||||
case "${targ}" in
|
case "${targ}" in
|
||||||
*64*) targ_emul=elf64ppc
|
*64*) targ_emul=elf64ppc
|
||||||
targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim"
|
targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim"
|
||||||
targ_extra_libpath="elf32ppc elf32ppclinux"
|
targ_extra_libpath="elf32ppc elf32ppclinux"
|
||||||
tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
|
td=tdir_elf32ppc
|
||||||
tdir_elf32ppclinux=$tdir_elf32ppc
|
case "${targ}" in
|
||||||
tdir_elf32ppcsim=$tdir_elf32ppc
|
powerpc*le-*) td=tdir_elf32lppc;;
|
||||||
|
esac
|
||||||
|
eval ${td}=`echo "${targ_alias}" | sed -e 's/64//'`
|
||||||
|
eval ${td}linux=\$${td}
|
||||||
|
eval ${td}sim=\$${td}
|
||||||
|
;;
|
||||||
|
*linux*) targ_emul=elf32ppclinux
|
||||||
|
targ_extra_emuls="elf32ppc elf32ppcsim"
|
||||||
|
targ_extra_libpath=elf32ppc
|
||||||
|
targ64_extra_emuls=elf64ppc
|
||||||
|
targ64_extra_libpath=elf64ppc
|
||||||
;;
|
;;
|
||||||
*) targ_emul=elf32ppc
|
*) targ_emul=elf32ppc
|
||||||
targ_extra_emuls="elf32ppclinux elf32ppcsim"
|
targ_extra_emuls="elf32ppclinux elf32ppcsim"
|
||||||
|
@ -593,10 +577,14 @@ powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \
|
||||||
targ64_extra_emuls=elf64ppc
|
targ64_extra_emuls=elf64ppc
|
||||||
targ64_extra_libpath=elf64ppc
|
targ64_extra_libpath=elf64ppc
|
||||||
;;
|
;;
|
||||||
|
esac
|
||||||
|
case "${targ}" in
|
||||||
|
powerpc*le-*)
|
||||||
|
for z in targ_emul targ_extra_emuls targ_extra_libpath targ64_extra_emuls targ64_extra_libpath
|
||||||
|
do
|
||||||
|
eval ${z}=\"`eval echo \\$${z} | sed -e 's/ppc/lppc/g'`\"
|
||||||
|
done
|
||||||
esac ;;
|
esac ;;
|
||||||
powerpc-*-vxworks*)
|
|
||||||
targ_emul=elf32ppcvxworks
|
|
||||||
targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" ;;
|
|
||||||
powerpc-*-nto*) targ_emul=elf32ppcnto ;;
|
powerpc-*-nto*) targ_emul=elf32ppcnto ;;
|
||||||
powerpcle-*-nto*) targ_emul=elf32lppcnto ;;
|
powerpcle-*-nto*) targ_emul=elf32lppcnto ;;
|
||||||
powerpc-*-rtems*) targ_emul=elf32ppc ;;
|
powerpc-*-rtems*) targ_emul=elf32ppc ;;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# If you change this file, please also look at files which source this one:
|
# If you change this file, please also look at files which source this one:
|
||||||
# elf32lppcsim.sh
|
# elf32lppcsim.sh elf32lppclinux.sh
|
||||||
|
|
||||||
. ${srcdir}/emulparams/elf32ppc.sh
|
. ${srcdir}/emulparams/elf32ppc.sh
|
||||||
OUTPUT_FORMAT="elf32-powerpcle"
|
OUTPUT_FORMAT="elf32-powerpcle"
|
||||||
|
|
8
ld/emulparams/elf32lppclinux.sh
Normal file
8
ld/emulparams/elf32lppclinux.sh
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
. ${srcdir}/emulparams/elf32lppc.sh
|
||||||
|
TEXT_START_ADDR=0x10000000
|
||||||
|
unset EXECUTABLE_SYMBOLS
|
||||||
|
unset OTHER_END_SYMBOLS
|
||||||
|
test -z "${RELOCATING}" || OTHER_SECTIONS="/DISCARD/ : { *(.fixup) }"
|
||||||
|
OTHER_RELRO_SECTIONS="
|
||||||
|
.got1 ${RELOCATING-0} : { *(.got1) }
|
||||||
|
.got2 ${RELOCATING-0} : { *(.got2) }"
|
Loading…
Add table
Reference in a new issue