config.gcc (mips*-*-linux*): If 'enabled_targets' is 'all'...

2011-07-11  Arthur Loiret  <aloiret@debian.org>
            Matthias Klose <doko@debian.org>

        * config.gcc (mips*-*-linux*): If 'enabled_targets' is 'all', build
        a tri-arch compiler defaulting to 32-bit (ABI o32). In this case:
        (tm_file): Add mips/linux64.h.
        (tmake_file): Add mips/t-linux64.
        (tm_defines): Add MIPS_ABI_DEFAULT=ABI_32.
        * config/mips/linux64.h (DRIVER_SELF_SPECS): Use MULTILIB_ABI_DEFAULT
        instead of hardcoded mabi=n32.
        * config/mips/t-linux64 (MULTILIB_DIRNAMES): Set to 'n32 . 64' if
        tm_defines contains MIPS_ABI_DEFAULT ABI_32, to follow the glibc
        convention.

Co-Authored-By: Matthias Klose <doko@debian.org>

From-SVN: r176145
This commit is contained in:
Arthur Loiret 2011-07-11 11:22:15 +00:00 committed by Matthias Klose
parent d3b7e946d7
commit bd5ab709de
4 changed files with 24 additions and 1 deletions

View File

@ -1,3 +1,17 @@
2011-07-11 Arthur Loiret <aloiret@debian.org>
Matthias Klose <doko@debian.org>
* config.gcc (mips*-*-linux*): If 'enabled_targets' is 'all', build
a tri-arch compiler defaulting to 32-bit (ABI o32). In this case:
(tm_file): Add mips/linux64.h.
(tmake_file): Add mips/t-linux64.
(tm_defines): Add MIPS_ABI_DEFAULT=ABI_32.
* config/mips/linux64.h (DRIVER_SELF_SPECS): Use MULTILIB_ABI_DEFAULT
instead of hardcoded mabi=n32.
* config/mips/t-linux64 (MULTILIB_DIRNAMES): Set to 'n32 . 64' if
tm_defines contains MIPS_ABI_DEFAULT ABI_32, to follow the glibc
convention.
2011-07-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* passes.c (init_optimization_passes): Add invariant motion pass

View File

@ -1862,6 +1862,11 @@ mips64*-*-linux* | mipsisa64*-*-linux*)
mips*-*-linux*) # Linux MIPS, either endian.
tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/linux.h"
tmake_file="${tmake_file} mips/t-libgcc-mips16"
if test x$enable_targets = xall; then
tm_file="${tm_file} mips/linux64.h"
tmake_file="${tmake_file} mips/t-linux64"
tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_32"
fi
case ${target} in
mipsisa32r2*)
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"

View File

@ -26,7 +26,7 @@ along with GCC; see the file COPYING3. If not see
BASE_DRIVER_SELF_SPECS, \
LINUX_DRIVER_SELF_SPECS \
" %{!EB:%{!EL:%(endian_spec)}}" \
" %{!mabi=*: -mabi=n32}"
" %{!mabi=*: -" MULTILIB_ABI_DEFAULT "}"
#undef LIB_SPEC
#define LIB_SPEC "\

View File

@ -17,7 +17,11 @@
# <http://www.gnu.org/licenses/>.
MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
ifneq ($(filter MIPS_ABI_DEFAULT=ABI_32,$(tm_defines)),)
MULTILIB_DIRNAMES = n32 . 64
else
MULTILIB_DIRNAMES = n32 32 64
endif
MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64
EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o