RE: [PATCH] ARC: Add multilib support for linux targets

2018-05-21 Thread Claudiu Zissulescu
Pushed.

Thank you for your contribution,
Claudiu

From: Andrew Burgess [andrew.burg...@embecosm.com]
Sent: Wednesday, May 16, 2018 11:08 PM
To: Alexey Brodkin
Cc: gcc-patches@gcc.gnu.org; Claudiu Zissulescu
Subject: Re: [PATCH] ARC: Add multilib support for linux targets

* Alexey Brodkin <alexey.brod...@synopsys.com> [2018-05-16 22:42:36 +0300]:

> We used to build baremetal (AKA Elf32) multilibbed toolchains for years
> now but never made that for Linux targets since there were problems with
> uClibc n multilib setup. Now with help of Crosstool-NG it is finally
> possible to create uClibc-based multilibbed toolchains and so we add
> relevant CPUs for multilib in case of configuration for "arc*-*-linux*".
>
> This will be essentially useful for glibc-based multilibbbed toolchains
> in the future.
>
> gcc/
> 2018-05-16  Alexey Brodkin <abrod...@synopsys.com>
>
> * config.gcc: Add arc/t-multilib-linux to tmake_file for
> arc*-*-linux*.
> * config/arc/t-multilib-linux: Specify MULTILIB_OPTIONS and
> MULTILIB_DIRNAMES

Looks good.

Thanks,
Andrew

> ---
>  gcc/config.gcc  |  2 +-
>  gcc/config/arc/t-multilib-linux | 25 +
>  2 files changed, 26 insertions(+), 1 deletion(-)
>  create mode 100644 gcc/config/arc/t-multilib-linux
>
> diff --git a/gcc/config.gcc b/gcc/config.gcc
> index a5defb0f0058..8e038a72f613 100644
> --- a/gcc/config.gcc
> +++ b/gcc/config.gcc
> @@ -1059,7 +1059,7 @@ arc*-*-elf*)
>   ;;
>  arc*-*-linux*)
>   tm_file="arc/arc-arch.h dbxelf.h elfos.h gnu-user.h linux.h 
> linux-android.h glibc-stdint.h arc/linux.h ${tm_file}"
> - tmake_file="${tmake_file} arc/t-arc"
> + tmake_file="${tmake_file} arc/t-multilib-linux arc/t-arc"
>   extra_gcc_objs="driver-arc.o"
>   if test "x$with_cpu" != x; then
>   tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu"
> diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux
> new file mode 100644
> index ..f357cfc3f926
> --- /dev/null
> +++ b/gcc/config/arc/t-multilib-linux
> @@ -0,0 +1,25 @@
> +# Copyright (C) 2018 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
> +# 
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.gnu.org_licenses_=DwIBAg=DPL6_X_6JkXFx7AXWqB0tg=vsTQvy464niXQOCG9XdhJKeuxCBV79v90MX02K5iS8c=oN-DVMOAq_s0UKeF-IrKV-fCrXTKUwAT-A5AW7IYLVY=GIXGfFeNsLS3PRtSk0mZO-9NI5311YXbCwSUN2uHMDM=>.
> +
> +MULTILIB_OPTIONS = 
> mcpu=hs/mcpu=archs/mcpu=hs38/mcpu=hs38_linux/mcpu=arc700/mcpu=nps400
> +
> +MULTILIB_DIRNAMES = hs archs hs38 hs38_linux arc700 nps400
> +
> +# Aliases:
> +MULTILIB_MATCHES += mcpu?arc700=mA7
> +MULTILIB_MATCHES += mcpu?arc700=mARC700
> --
> 2.17.0
>


Re: [PATCH] ARC: Add multilib support for linux targets

2018-05-16 Thread Andrew Burgess
* Alexey Brodkin  [2018-05-16 22:42:36 +0300]:

> We used to build baremetal (AKA Elf32) multilibbed toolchains for years
> now but never made that for Linux targets since there were problems with
> uClibc n multilib setup. Now with help of Crosstool-NG it is finally
> possible to create uClibc-based multilibbed toolchains and so we add
> relevant CPUs for multilib in case of configuration for "arc*-*-linux*".
> 
> This will be essentially useful for glibc-based multilibbbed toolchains
> in the future.
> 
> gcc/
> 2018-05-16  Alexey Brodkin 
> 
> * config.gcc: Add arc/t-multilib-linux to tmake_file for
> arc*-*-linux*.
> * config/arc/t-multilib-linux: Specify MULTILIB_OPTIONS and
> MULTILIB_DIRNAMES

Looks good.

Thanks,
Andrew

> ---
>  gcc/config.gcc  |  2 +-
>  gcc/config/arc/t-multilib-linux | 25 +
>  2 files changed, 26 insertions(+), 1 deletion(-)
>  create mode 100644 gcc/config/arc/t-multilib-linux
> 
> diff --git a/gcc/config.gcc b/gcc/config.gcc
> index a5defb0f0058..8e038a72f613 100644
> --- a/gcc/config.gcc
> +++ b/gcc/config.gcc
> @@ -1059,7 +1059,7 @@ arc*-*-elf*)
>   ;;
>  arc*-*-linux*)
>   tm_file="arc/arc-arch.h dbxelf.h elfos.h gnu-user.h linux.h 
> linux-android.h glibc-stdint.h arc/linux.h ${tm_file}"
> - tmake_file="${tmake_file} arc/t-arc"
> + tmake_file="${tmake_file} arc/t-multilib-linux arc/t-arc"
>   extra_gcc_objs="driver-arc.o"
>   if test "x$with_cpu" != x; then
>   tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu"
> diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux
> new file mode 100644
> index ..f357cfc3f926
> --- /dev/null
> +++ b/gcc/config/arc/t-multilib-linux
> @@ -0,0 +1,25 @@
> +# Copyright (C) 2018 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
> +# .
> +
> +MULTILIB_OPTIONS = 
> mcpu=hs/mcpu=archs/mcpu=hs38/mcpu=hs38_linux/mcpu=arc700/mcpu=nps400
> +
> +MULTILIB_DIRNAMES = hs archs hs38 hs38_linux arc700 nps400
> +
> +# Aliases:
> +MULTILIB_MATCHES += mcpu?arc700=mA7
> +MULTILIB_MATCHES += mcpu?arc700=mARC700
> -- 
> 2.17.0
>