diff options
author | chenglulu <chenglulu@loongson.cn> | 2021-11-27 14:42:57 +0800 |
---|---|---|
committer | Chenghua Xu <paul.hua.gm@gmail.com> | 2022-03-29 17:43:32 +0800 |
commit | b44786f64019e7164cab687b19914e7e13c949a4 (patch) | |
tree | e76d6abd59f7213457cf95d3a8cfb5ee7d945e3a /gcc/config/loongarch/t-linux | |
parent | c6c0594ef8382754f9cd8869a0cfb2aa2dcc0f43 (diff) | |
download | gcc-b44786f64019e7164cab687b19914e7e13c949a4.tar.gz |
LoongArch Port: gcc build
2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
Lulu Cheng <chenglulu@loongson.cn>
gcc/ChangeLog:
* common/config/loongarch/loongarch-common.cc: New file.
* config/loongarch/genopts/genstr.sh: New file.
* config/loongarch/genopts/loongarch-strings: New file.
* config/loongarch/genopts/loongarch.opt.in: New file.
* config/loongarch/loongarch-str.h: New file.
* config/loongarch/gnu-user.h: New file.
* config/loongarch/linux.h: New file.
* config/loongarch/loongarch-cpu.cc: New file.
* config/loongarch/loongarch-cpu.h: New file.
* config/loongarch/loongarch-def.c: New file.
* config/loongarch/loongarch-def.h: New file.
* config/loongarch/loongarch-driver.cc: New file.
* config/loongarch/loongarch-driver.h: New file.
* config/loongarch/loongarch-opts.cc: New file.
* config/loongarch/loongarch-opts.h: New file.
* config/loongarch/loongarch.opt: New file.
* config/loongarch/t-linux: New file.
* config/loongarch/t-loongarch: New file.
* config.gcc: Add LoongArch support.
* configure.ac: Add LoongArch support.
contrib/ChangeLog:
* gcc_update (files_and_dependencies): Add
config/loongarch/loongarch.opt and config/loongarch/loongarch-str.h.
Diffstat (limited to 'gcc/config/loongarch/t-linux')
-rw-r--r-- | gcc/config/loongarch/t-linux | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux new file mode 100644 index 00000000000..5b9796aea2b --- /dev/null +++ b/gcc/config/loongarch/t-linux @@ -0,0 +1,53 @@ +# Copyright (C) 2021-2022 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/>. + +# Multilib +MULTILIB_OPTIONS = mabi=lp64d/mabi=lp64f/mabi=lp64s +MULTILIB_DIRNAMES = base/lp64d base/lp64f base/lp64s + +# The GCC driver always gets all abi-related options on the command line. +# (see loongarch-driver.c:driver_get_normalized_m_opts) +comma=, +MULTILIB_REQUIRED = $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) + +# Multiarch +ifneq ($(call if_multiarch,yes),yes) + # Define LA_DISABLE_MULTIARCH if multiarch is disabled. + tm_defines += LA_DISABLE_MULTIARCH +else + # Only define MULTIARCH_DIRNAME when multiarch is enabled, + # or it would always introduce ${target} into the search path. + MULTIARCH_DIRNAME = $(LA_MULTIARCH_TRIPLET) +endif + +# Don't define MULTILIB_OSDIRNAMES if multilib is disabled. +ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),) + + MULTILIB_OSDIRNAMES = \ + mabi.lp64d=../lib64$\ + $(call if_multiarch,:loongarch64-linux-gnuf64) + + MULTILIB_OSDIRNAMES += \ + mabi.lp64f=../lib64/f32$\ + $(call if_multiarch,:loongarch64-linux-gnuf32) + + MULTILIB_OSDIRNAMES += \ + mabi.lp64s=../lib64/sf$\ + $(call if_multiarch,:loongarch64-linux-gnusf) + +endif |