config.gcc (powerpc*-*-linux*): Add support for little-endian multilibs to big-endian target and vice versa.
* config.gcc (powerpc*-*-linux*): Add support for little-endian multilibs to big-endian target and vice versa. * config/rs6000/t-linux64: Use := assignment on all vars. (MULTILIB_EXTRA_OPTS): Remove fPIC. (MULTILIB_OSDIRNAMES): Specify using mapping from multilib_options. * config/rs6000/t-linux64le: New file. * config/rs6000/t-linux64bele: New file. * config/rs6000/t-linux64lebe: New file. From-SVN: r202190
This commit is contained in:
parent
e350969184
commit
93ed07e21a
6 changed files with 47 additions and 6 deletions
|
@ -1,3 +1,14 @@
|
|||
2013-09-03 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* config.gcc (powerpc*-*-linux*): Add support for little-endian
|
||||
multilibs to big-endian target and vice versa.
|
||||
* config/rs6000/t-linux64: Use := assignment on all vars.
|
||||
(MULTILIB_EXTRA_OPTS): Remove fPIC.
|
||||
(MULTILIB_OSDIRNAMES): Specify using mapping from multilib_options.
|
||||
* config/rs6000/t-linux64le: New file.
|
||||
* config/rs6000/t-linux64bele: New file.
|
||||
* config/rs6000/t-linux64lebe: New file.
|
||||
|
||||
2013-09-02 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* ipa-inline-transform.c (inline_transform): Do not
|
||||
|
|
|
@ -2139,7 +2139,7 @@ powerpc*-*-linux*)
|
|||
tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
|
||||
case ${target} in
|
||||
powerpc*le-*-*)
|
||||
tm_file="${tm_file} rs6000/sysv4le.h" ;;
|
||||
tm_file="${tm_file} rs6000/sysv4le.h" ;;
|
||||
esac
|
||||
maybe_biarch=yes
|
||||
case ${target} in
|
||||
|
@ -2162,6 +2162,19 @@ powerpc*-*-linux*)
|
|||
fi
|
||||
tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h glibc-stdint.h"
|
||||
tmake_file="$tmake_file rs6000/t-linux64"
|
||||
case ${target} in
|
||||
powerpc*le-*-*)
|
||||
tmake_file="$tmake_file rs6000/t-linux64le"
|
||||
case ${enable_targets} in
|
||||
all | *powerpc64-* | *powerpc-*)
|
||||
tmake_file="$tmake_file rs6000/t-linux64lebe" ;;
|
||||
esac ;;
|
||||
*)
|
||||
case ${enable_targets} in
|
||||
all | *powerpc64le-* | *powerpcle-*)
|
||||
tmake_file="$tmake_file rs6000/t-linux64bele" ;;
|
||||
esac ;;
|
||||
esac
|
||||
extra_options="${extra_options} rs6000/linux64.opt"
|
||||
;;
|
||||
*)
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
# it doesn't tell anything about the 32bit libraries on those systems. Set
|
||||
# MULTILIB_OSDIRNAMES according to what is found on the target.
|
||||
|
||||
MULTILIB_OPTIONS = m64/m32
|
||||
MULTILIB_DIRNAMES = 64 32
|
||||
MULTILIB_EXTRA_OPTS = fPIC
|
||||
MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
|
||||
MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
|
||||
MULTILIB_OPTIONS := m64/m32
|
||||
MULTILIB_DIRNAMES := 64 32
|
||||
MULTILIB_EXTRA_OPTS :=
|
||||
MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
|
||||
MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
|
||||
|
|
7
gcc/config/rs6000/t-linux64bele
Normal file
7
gcc/config/rs6000/t-linux64bele
Normal file
|
@ -0,0 +1,7 @@
|
|||
#rs6000/t-linux64end
|
||||
|
||||
MULTILIB_OPTIONS += mlittle
|
||||
MULTILIB_DIRNAMES += le
|
||||
MULTILIB_OSDIRNAMES += $(subst =,.mlittle=,$(subst lible32,lib32le,$(subst lible64,lib64le,$(subst lib,lible,$(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))))))
|
||||
MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mlittle%,$(MULTILIB_OSDIRNAMES)))
|
||||
MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN}
|
3
gcc/config/rs6000/t-linux64le
Normal file
3
gcc/config/rs6000/t-linux64le
Normal file
|
@ -0,0 +1,3 @@
|
|||
#rs6000/t-linux64le
|
||||
|
||||
MULTILIB_OSDIRNAMES := $(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))
|
7
gcc/config/rs6000/t-linux64lebe
Normal file
7
gcc/config/rs6000/t-linux64lebe
Normal file
|
@ -0,0 +1,7 @@
|
|||
#rs6000/t-linux64leend
|
||||
|
||||
MULTILIB_OPTIONS += mbig
|
||||
MULTILIB_DIRNAMES += be
|
||||
MULTILIB_OSDIRNAMES += $(subst =,.mbig=,$(subst libbe32,lib32be,$(subst libbe64,lib64be,$(subst lib,libbe,$(subst le-linux,-linux,$(MULTILIB_OSDIRNAMES))))))
|
||||
MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mbig%,$(MULTILIB_OSDIRNAMES)))
|
||||
MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN}
|
Loading…
Add table
Reference in a new issue