Projects
openEuler:24.03:SP1:Everything
gcc
_service:tar_scm:0306-RISC-V-Install-libstdc-li...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:0306-RISC-V-Install-libstdc-libcc1-etc-to-lib64-instead-o.patch of Package gcc
From 84edbc6544ed872aedb3cb6f6d0feb8647ff1d8b Mon Sep 17 00:00:00 2001 From: YunQiang Su <yunqiang@isrc.iscas.ac.cn> Date: Mon, 14 Oct 2024 10:09:46 +0800 Subject: [PATCH] RISC-V: Install libstdc++/libcc1 etc to /lib64 instead of lib The problem is that if we are configured with `--disable-multilib`, gcc -print-multi-os-directory outputs . Thus the dest to install libraries is set to /usr/lib/. While other platforms (x86-64, arm64) it will be /usr/lib/../lib64 Let's sync riscv64 with them Another problem is that gcc -print-file-name=libzstd.so.1 will output /usr/lib64/lp64d/../lib64/libzstd.so.1 which is also need to patched. --- gcc/config.gcc | 3 +++ gcc/config/riscv/linux.h | 2 ++ gcc/config/riscv/t-openEuler | 2 ++ 3 files changed, 7 insertions(+) create mode 100644 gcc/config/riscv/t-openEuler diff --git a/gcc/config.gcc b/gcc/config.gcc index 19b21a280..23c5bee2b 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -2453,6 +2453,9 @@ riscv*-*-linux*) xyes) tmake_file="${tmake_file} riscv/t-linux-multilib" ;; *) echo "Unknown value for enable_multilib"; exit 1 esac + case "x${target_vendor}" in + xopenEuler) tmake_file="${tmake_file} riscv/t-openEuler" + esac tmake_file="${tmake_file} riscv/t-riscv riscv/t-linux" gnu_ld=yes gas=yes diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h index b5c6c5027..a8d65f4e0 100644 --- a/gcc/config/riscv/linux.h +++ b/gcc/config/riscv/linux.h @@ -62,6 +62,8 @@ along with GCC; see the file COPYING3. If not see #define TARGET_ASM_FILE_END file_end_indicate_exec_stack #define STARTFILE_PREFIX_SPEC \ + "/lib" XLEN_SPEC "/ " \ + "/usr/lib" XLEN_SPEC "/ " \ "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \ "/usr/lib" XLEN_SPEC "/" ABI_SPEC "/ " \ "/lib/ " \ diff --git a/gcc/config/riscv/t-openEuler b/gcc/config/riscv/t-openEuler new file mode 100644 index 000000000..26541dd08 --- /dev/null +++ b/gcc/config/riscv/t-openEuler @@ -0,0 +1,2 @@ +MULTILIB_OPTIONS = mabi=lp64d +MULTILIB_DIRNAMES = ../lib64 -- 2.39.5 (Apple Git-154)
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2