From: Andreas Tobler Date: Thu, 25 Apr 2019 20:03:35 +0000 (+0200) Subject: freebsd64.h: Add bits for 32-bit multilib support. X-Git-Tag: misc/cutover-git~5905 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b6bf4d8a773cde07e751542f2911307d78b717fd;p=thirdparty%2Fgcc.git freebsd64.h: Add bits for 32-bit multilib support. 2019-04-25 Andreas Tobler * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7cd02c850d3e..3a927ed00d32 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-04-25 Andreas Tobler + + * 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 * doc/extend.texi (vector_size): Add missing comma after @xref. diff --git a/gcc/config.gcc b/gcc/config.gcc index 09fb9ecd2cdb..c7a464c89d06 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 1f99e812f015..bffe19c14fff 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 000000000000..0dd05d479ac3 --- /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 +# . + +# 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