public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-2348] C-SKY: Use the common way to define MULTILIB_DIRNAMES.
@ 2021-07-16  8:48 qu
  0 siblings, 0 replies; only message in thread
From: qu @ 2021-07-16  8:48 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:2f11ca2a3a3bea38a7c5bd63e777620a4887e649

commit r12-2348-g2f11ca2a3a3bea38a7c5bd63e777620a4887e649
Author: Cooper Qu <cooper.qu@linux.alibaba.com>
Date:   Fri Jul 16 16:05:39 2021 +0800

    C-SKY: Use the common way to define MULTILIB_DIRNAMES.
    
    C-SKY previously used a forked print-sysroot-suffix.sh and define
    CSKY_MULTILIB_DIRNAMES to specify OS multilib directories. This
    patch delete the forked print-sysroot-suffix.sh and define
    MULTILIB_DIRNAMES to generate same directories.
    
    gcc/
            * config.gcc: Don't use forked print-sysroot-suffix.sh and
            t-sysroot-suffix for C-SKY.
            * config/csky/print-sysroot-suffix.sh: Delete.
            * config/csky/t-csky-linux: Delete.
            * config/csky/t-sysroot-suffix: Define MULTILIB_DIRNAMES
            instead of CSKY_MULTILIB_DIRNAMES.

Diff:
---
 gcc/config.gcc                          |   5 --
 gcc/config/csky/print-sysroot-suffix.sh | 147 --------------------------------
 gcc/config/csky/t-csky-linux            |   2 +-
 gcc/config/csky/t-sysroot-suffix        |  28 ------
 4 files changed, 1 insertion(+), 181 deletions(-)

diff --git a/gcc/config.gcc b/gcc/config.gcc
index f3e94f7c0d8..93e2b3219b9 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1568,11 +1568,6 @@ csky-*-*)
 		tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} csky/csky-linux-elf.h"
 		tmake_file="${tmake_file} csky/t-csky csky/t-csky-linux"
 
-		if test "x${enable_multilib}" = xyes ; then
-		    tm_file="$tm_file ./sysroot-suffix.h"
-		    tmake_file="${tmake_file} csky/t-sysroot-suffix"
-		fi
-
 		case ${target} in
 		    csky-*-linux-gnu*)
 			tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
diff --git a/gcc/config/csky/print-sysroot-suffix.sh b/gcc/config/csky/print-sysroot-suffix.sh
deleted file mode 100644
index 4840bc67d07..00000000000
--- a/gcc/config/csky/print-sysroot-suffix.sh
+++ /dev/null
@@ -1,147 +0,0 @@
-#! /bin/sh
-# Script to generate SYSROOT_SUFFIX_SPEC equivalent to MULTILIB_OSDIRNAMES
-# Arguments are MULTILIB_OSDIRNAMES, MULTILIB_OPTIONS and MULTILIB_MATCHES.
-
-# Copyright (C) 2018-2021 Free Software Foundation, Inc.
-# Contributed by C-SKY Microsystems and Mentor Graphics.
-
-# 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/>.
-
-# This shell script produces a header file fragment that defines
-# SYSROOT_SUFFIX_SPEC.  It assumes that the sysroots will have the same
-# structure and names used by the multilibs.
-
-# Invocation:
-#   print-sysroot-suffix.sh \
-#          MULTILIB_OSDIRNAMES \
-#          MULTILIB_OPTIONS \
-#          MULTILIB_MATCHES \
-#      > t-sysroot-suffix.h
-
-# The three options exactly correspond to the variables of the same
-# names defined in the tmake_file fragments.
-
-# Example:
-#   sh ./gcc/config/print-sysroot-suffix.sh "a=A" "a b/c/d" ""
-# =>
-#   #undef SYSROOT_SUFFIX_SPEC
-#   #define SYSROOT_SUFFIX_SPEC "" \
-#   "%{a:" \
-#     "%{b:A/b/;" \
-#     "c:A/c/;" \
-#     "d:A/d/;" \
-#     ":A/};" \
-#   ":}"
-
-# The script uses temporary subscripts in order to permit a recursive
-# algorithm without the use of functions.
-
-set -e
-
-dirnames="$1"
-options="$2"
-matches="$3"
-
-cat > print-sysroot-suffix3.sh <<\EOF
-#! /bin/sh
-# Print all the multilib matches for this option
-result="$1"
-EOF
-for x in $matches; do
-  l=`echo $x | sed -e 's/=.*$//' -e 's/?/=/g'`
-  r=`echo $x | sed -e 's/^.*=//' -e 's/?/=/g'`
-  echo "[ \"\$1\" = \"$l\" ] && result=\"\$result|$r\"" >> print-sysroot-suffix3.sh
-done
-echo 'echo $result' >> print-sysroot-suffix3.sh
-chmod +x print-sysroot-suffix3.sh
-
-cat > print-sysroot-suffix2.sh <<\EOF
-#! /bin/sh
-# Recursive script to enumerate all multilib combinations, match against
-# multilib directories and output a spec string of the result.
-# Will fold identical trees.
-
-padding="$1"
-optstring="$2"
-shift 2
-n="\" \\
-$padding\""
-if [ $# = 0 ]; then
-EOF
-
-pat=
-for x in $dirnames; do
-#  p=`echo $x | sed -e 's,=!,/$=/,'`
-  p=`echo $x | sed -e 's/=//g'`
-#  pat="$pat -e 's=^//$p='"
-   pat="$pat -e 's/$p/g'"
-done
-echo '  optstring=`echo "/$optstring" | sed '"$pat\`" >> print-sysroot-suffix2.sh
-cat >> print-sysroot-suffix2.sh <<\EOF
-  case $optstring in
-  //*)
-    ;;
-  *)
-    echo "$optstring"
-    ;;
-  esac
-else
-  thisopt="$1"
-  shift
-  bit=
-  lastcond=
-  result=
-  for x in `echo "$thisopt" | sed -e 's,/, ,g'`; do
-    case $x in
-EOF
-for x in `echo "$options" | sed -e 's,/, ,g'`; do
-  match=`./print-sysroot-suffix3.sh "$x"`
-  echo "$x) optmatch=\"$match\" ;;" >> print-sysroot-suffix2.sh
-done
-cat >> print-sysroot-suffix2.sh <<\EOF
-    esac
-    bit=`"$0" "$padding  " "$optstring$x/" "$@"`
-    if [ -z "$lastopt" ]; then
-      lastopt="$optmatch"
-    else
-      if [ "$lastbit" = "$bit" ]; then
-	lastopt="$lastopt|$optmatch"
-      else
-	result="$result$lastopt:$lastbit;$n"
-	lastopt="$optmatch"
-      fi
-    fi
-    lastbit="$bit"
-  done
-  bit=`"$0" "$padding  " "$optstring" "$@"`
-  if [ "$bit" = "$lastbit" ]; then
-    if [ -z "$result" ]; then
-      echo "$bit"
-    else
-      echo "$n%{$result:$bit}"
-    fi
-  else
-    echo "$n%{$result$lastopt:$lastbit;$n:$bit}"
-  fi
-fi
-EOF
-chmod +x ./print-sysroot-suffix2.sh
-result=`./print-sysroot-suffix2.sh \"\" \"\" $options`
-echo "#undef SYSROOT_SUFFIX_SPEC"
-echo "#define SYSROOT_SUFFIX_SPEC \"$result\""
-rm print-sysroot-suffix2.sh
-rm print-sysroot-suffix3.sh
diff --git a/gcc/config/csky/t-csky-linux b/gcc/config/csky/t-csky-linux
index 0730c3a498a..9139040d31b 100644
--- a/gcc/config/csky/t-csky-linux
+++ b/gcc/config/csky/t-csky-linux
@@ -21,7 +21,7 @@
 
 
 MULTILIB_EXCEPTIONS  =
-CSKY_MULTILIB_OSDIRNAMES = mfloat-abi.softfp=/soft-fp mfloat-abi.hard=/hard-fp mfloat-abi.soft=/. mcpu.ck810f=/. mcpu.ck807f=/ck807 mcpu.ck860f=/ck860
+MULTILIB_OSDIRNAMES = ./ ./ck807 ./ck860 ./ ./soft-fp ./hard-fp
 
 # Arch variants.
 MULTILIB_OPTIONS     += mcpu=ck810f/mcpu=ck807f/mcpu=ck860f
diff --git a/gcc/config/csky/t-sysroot-suffix b/gcc/config/csky/t-sysroot-suffix
deleted file mode 100644
index d891f699c80..00000000000
--- a/gcc/config/csky/t-sysroot-suffix
+++ /dev/null
@@ -1,28 +0,0 @@
-# Makefile fragment for C-SKY sysroot suffix.
-#
-# Copyright (C) 2018-2021 Free Software Foundation, Inc.
-# Contributed by C-SKY Microsystems and Mentor Graphics.
-#
-# 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/>.
-
-# Generate SYSROOT_SUFFIX_SPEC from MULTILIB_OSDIRNAMES.
-
-sysroot-suffix.h: $(srcdir)/config/csky/print-sysroot-suffix.sh
-	$(SHELL) $(srcdir)/config/csky/print-sysroot-suffix.sh \
-	  "$(CSKY_MULTILIB_OSDIRNAMES)" "$(MULTILIB_OPTIONS)" \
-	  "$(MULTILIB_MATCHES)" > tmp-sysroot-suffix.h
-	mv tmp-sysroot-suffix.h $@


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-07-16  8:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-16  8:48 [gcc r12-2348] C-SKY: Use the common way to define MULTILIB_DIRNAMES qu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).