diff options
author | Andreas Tobler <andreast@gcc.gnu.org> | 2019-04-25 22:03:35 +0200 |
---|---|---|
committer | Andreas Tobler <andreast@gcc.gnu.org> | 2019-04-25 22:03:35 +0200 |
commit | b6bf4d8a773cde07e751542f2911307d78b717fd (patch) | |
tree | f5f8caad399ac9d8f6e9b9c653584ba6408a2992 | |
parent | 8a55f9c57a1ffd900262aa2fc2015822dc059331 (diff) | |
download | gcc-b6bf4d8a773cde07e751542f2911307d78b717fd.zip gcc-b6bf4d8a773cde07e751542f2911307d78b717fd.tar.gz gcc-b6bf4d8a773cde07e751542f2911307d78b717fd.tar.bz2 |
freebsd64.h: Add bits for 32-bit multilib support.
2019-04-25 Andreas Tobler <andreast@gcc.gnu.org>
* config/i386/freebsd64.h: Add bits for 32-bit multilib support.
* config/i386/t-freebsd64: New file.
* config.gcc: Add the t-freebsd64 for multilib support.
From-SVN: r270586
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config.gcc | 5 | ||||
-rw-r--r-- | gcc/config/i386/freebsd64.h | 5 | ||||
-rw-r--r-- | gcc/config/i386/t-freebsd64 | 30 |
4 files changed, 44 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7cd02c8..3a927ed 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-04-25 Andreas Tobler <andreast@gcc.gnu.org> + + * config/i386/freebsd64.h: Add bits for 32-bit multilib support. + * config/i386/t-freebsd64: New file. + * config.gcc: Add the t-freebsd64 for multilib support. + 2019-04-25 Uroš Bizjak <ubizjak@gmail.com> * doc/extend.texi (vector_size): Add missing comma after @xref. diff --git a/gcc/config.gcc b/gcc/config.gcc index 09fb9ec..c7a464c 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -4927,7 +4927,10 @@ case ${target} in ;; i[34567]86-*-dragonfly* | x86_64-*-dragonfly*) ;; - i[34567]86-*-freebsd* | x86_64-*-freebsd*) + i[34567]86-*-freebsd*) + ;; + x86_64-*-freebsd*) + tmake_file="${tmake_file} i386/t-freebsd64" ;; ia64*-*-linux*) ;; diff --git a/gcc/config/i386/freebsd64.h b/gcc/config/i386/freebsd64.h index 1f99e81..bffe19c 100644 --- a/gcc/config/i386/freebsd64.h +++ b/gcc/config/i386/freebsd64.h @@ -31,7 +31,7 @@ along with GCC; see the file COPYING3. If not see #undef LINK_SPEC #define LINK_SPEC "\ - %{m32:-m elf_i386_fbsd} \ + %{m32:-m elf_i386_fbsd}%{!m32:-m elf_x86_64_fbsd} \ %{p:%nconsider using '-pg' instead of '-p' with gprof(1)} \ %{v:-V} \ %{assert*} %{R*} %{rpath*} %{defsym*} \ @@ -42,3 +42,6 @@ along with GCC; see the file COPYING3. If not see -dynamic-linker %(fbsd_dynamic_linker) } \ %{static:-Bstatic}} \ %{symbolic:-Bsymbolic}" + +#undef MULTILIB_DEFAULTS +#define MULTILIB_DEFAULTS { "m64" } diff --git a/gcc/config/i386/t-freebsd64 b/gcc/config/i386/t-freebsd64 new file mode 100644 index 0000000..0dd05d4 --- /dev/null +++ b/gcc/config/i386/t-freebsd64 @@ -0,0 +1,30 @@ +# Copyright (C) 2019 Free Software Foundation, Inc. +# +# This file is part of GCC. +# +# GCC is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GCC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# <http://www.gnu.org/licenses/>. + +# The 32-bit libraries are found in /usr/lib32 + +# To support i386 and x86-64, the directory structrue +# should be: +# +# /lib has x86-64 libraries. +# /lib32 has i386 libraries. +# + +MULTILIB_OPTIONS = m32 +MULTILIB_DIRNAMES = 32 +MULTILIB_OSDIRNAMES = ../lib32 |