From bc0e181af6e8039edf43756fd1840bbbb5754896 Mon Sep 17 00:00:00 2001 From: zhaoshujian Date: Sat, 24 Aug 2024 16:39:31 +0800 Subject: [PATCH] [bugfix] Change libgomp, libfortran, libgcc_s, libitm, libatomic package path. Add gcc-toolset-14 Readme. Signed-off-by: zhaoshujian --- README.md | 48 +++++++++-- gcc-14.spec | 229 ++++++++++++++++++++++++---------------------------- 2 files changed, 144 insertions(+), 133 deletions(-) diff --git a/README.md b/README.md index b87855d..5a084a6 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,55 @@ # gcc-14 #### 介绍 -gcc multi-version toolset for openEuler +openEuler 24.03 LTS 版本选择 GCC 12.3.1 作为开发基线,确保在整 LTS 周期内,系统版本保持相对稳定。 +为满足用户对不同版本编译器的需求,使能多样算力新特性,基于 openEuler 24.09 系统,推出 gcc-toolset-14 副版本编译工具链,形成主版本为 GCC12,副版本为 GCC14 的编译器搭配,为用户提供更加灵活且高效的编译选择。 #### 软件架构 -软件架构说明 +```shell +## 默认 GCC12 路径 +PATH=/usr/bin/ +## 默认动态库路径 +LD_LIBRARY_PATH=/usr/lib64/ + +## gcc-toolset-14 副版本安装路径 +PATH=/opt/openEuler/gcc-toolset-14/root/usr/bin/ +``` + +#### 软件约束 + +| 名称| 版本要求| +| --- | --- | +| 系统版本| openEuler 24.09 以上 | +| 默认GCC | 12.3.1 | +| 架构 | Aarch64 / X86_64| +| Glibc | 2.34 及以上 | +| Binutils | 2.42 及以上| + +约束是指本多版本工具链在以上条件的版本中进行了完整的工程验证和兼容性测试,如果使用在其他场景中,不保证完整功能实现。 #### 安装教程 -1. xxxx -2. xxxx -3. xxxx +1. `yum install gcc-toolset-14-gcc gcc-toolset-14-g++` +2. 如果需要搭配 binutils-2.42,则 `yum install gcc-toolset-14-binutils` #### 使用说明 -1. xxxx -2. xxxx -3. xxxx +1. 安装 scl +> yum install scl-utils + +2. 注册 gcc-toolset-14 +> scl register /opt/openEuler/gcc-toolset-14/ + +使用`scl list-collections`显示 gcc-toolset-14 已经在 scl 中注册成功; + +3. 切换 gcc-toolset-14 +> scl enable gcc-toolset-14 bash + +4. 退出 gcc-toolset-14 +> exit + +退出bash shell会话,此时 GCC 的版本切换成系统默认版本。 #### 参与贡献 diff --git a/gcc-14.spec b/gcc-14.spec index 71a3859..7acc475 100644 --- a/gcc-14.spec +++ b/gcc-14.spec @@ -90,7 +90,7 @@ Summary: Various compilers (C, C++, Objective-C, ...) Name: %{?_scl_prefix}gcc%{gcc_ver} Version: 14.2.1 -Release: 2 +Release: 3 # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have # GCC Runtime Exception. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD @@ -128,7 +128,7 @@ BuildRequires: dblatex, texlive-collection-latex, docbook-style-xsl Requires: %{?_scl_prefix}libasan%{gcc_ver} = %{version}-%{release} %endif Requires: libgcc >= 4.1.2-43 -Requires: libgomp >= 4.4.4-13 +Requires: %{?_scl_prefix}libgomp%{gcc_ver} = %{version}-%{release} # lto-wrapper invokes make Requires: make AutoReq: true @@ -273,7 +273,7 @@ Objective-C dynamically linked programs. Summary: Fortran support for GCC 14 Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release} %if %{build_libquadmath} -Requires: %{?_scl_prefix}libquadmath%{gcc_ver}-devel = %{version}-%{release} +Requires: %{?_scl_prefix}libquadmath%{gcc_ver} = %{version}-%{release} %endif Autoreq: true @@ -288,16 +288,22 @@ Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release} %if 0%{!?scl:1} Requires: libquadmath %endif -Requires: %{?_scl_prefix}libquadmath%{gcc_ver}-devel = %{version}-%{release} +Requires: %{?_scl_prefix}libquadmath%{gcc_ver} = %{version}-%{release} %endif %description -n %{?_scl_prefix}libgfortran%{gcc_ver}-devel This package contains static Fortran libraries. %if %{build_libquadmath} -Requires: %{?_scl_prefix}libquadmath%{gcc_ver}-devel = %{version}-%{release} +Requires: %{?_scl_prefix}libquadmath%{gcc_ver} = %{version}-%{release} %endif Autoreq: true +%package -n %{?_scl_prefix}libgomp%{gcc_ver} +Summary: GCC OpenMP shared support library + +%description -n %{?_scl_prefix}libgomp%{gcc_ver} +This package contains GCC shared support library which is needed +for OpenMP support. %package gdb-plugin Summary: GCC 14 plugin for GDB Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release} @@ -717,23 +723,9 @@ TARGET_PLATFORM=%{gcc_target_platform} # There are some MP bugs in libstdc++ Makefiles make %{?_smp_mflags} -C %{gcc_target_platform}/libstdc++-v3 -%if 0%{?scl:1} -rm -f gcc/libgcc_s.so -echo '/* GNU ld script - Use the shared library, but some functions are only in - the static library, so try that secondarily. */ -%{oformat} -GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > gcc/libgcc_s.so -%endif - make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \ infodir=%{buildroot}%{_infodir} install -%if 0%{?scl:1} -rm -f gcc/libgcc_s.so -ln -sf libgcc_s.so.1 gcc/libgcc_s.so -%endif - FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} @@ -846,25 +838,27 @@ mkdir -p %{buildroot}/%{_lib} mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}%{_prefix}/%{_lib}/libgcc_s-%{gcc_major}.so.1 chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgcc_s-%{gcc_major}.so.1 ln -sf libgcc_s-%{gcc_major}.so.1 %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 -ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so -%ifarch %{multilib_64_archs} -ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so -%endif %ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 ppc64le %{arm} aarch64 riscv64 rm -f $FULLPATH/libgcc_s.so echo '/* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ %{oformat} -GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so +GROUP ( %{_prefix}/%{_lib}/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so +%else +ln -sf %{_prefix}/%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so %endif %ifarch sparcv9 ppc +%ifarch ppc rm -f $FULLPATH/64/libgcc_s.so echo '/* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ %{oformat2} -GROUP ( /lib64/libgcc_s.so.1 libgcc.a )' > $FULLPATH/64/libgcc_s.so +GROUP ( %{_prefix}/lib64/libgcc_s.so.1 libgcc.a )' > $FULLPATH/64/libgcc_s.so +%else +ln -sf %{_prefix}/lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so +%endif %endif %ifarch %{multilib_64_archs} %ifarch x86_64 ppc64 ppc64p7 @@ -873,9 +867,9 @@ echo '/* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ %{oformat2} -GROUP ( /lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/32/libgcc_s.so +GROUP ( %{_prefix}/lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/32/libgcc_s.so %else -ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so +ln -sf %{_prefix}/lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so %endif %endif @@ -918,20 +912,11 @@ cp -a ../gcc/jit/libgccjit*.h $FULLPATH/include/ gzip -9 %{buildroot}/%{_infodir}/libgccjit.info pushd $FULLPATH -echo '/* GNU ld script */ -%{oformat} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libgomp.so.1 )' > libgomp.so - echo '/* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ %{oformat} INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared )' > libstdc++.so -rm -f libgfortran.so - -echo '/* GNU ld script */ -%{oformat} -INPUT ( %{?scl:%{_prefix}}/%{_lib}/libgfortran.so.5 )' > libgfortran.so %if %{build_libquadmath} rm -f libquadmath.so @@ -943,18 +928,7 @@ INPUT ( %{_prefix}/%{_lib}/libquadmath.so.0 )' > libquadmath.so INPUT ( %{_root_prefix}/%{_lib}/libquadmath.so.0 )' > libquadmath.so %endif %endif -%if %{build_libitm} -rm -f libitm.so -echo '/* GNU ld script */ -%{oformat} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libitm.so.1 )' > libitm.so -%endif -%if %{build_libatomic} -rm -f libatomic.so -echo '/* GNU ld script */ -%{oformat} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libatomic.so.1 )' > libatomic.so -%endif + %if %{build_libasan} rm -f libasan.so echo '/* GNU ld script */ @@ -967,6 +941,14 @@ echo '/* GNU ld script */ %{oformat} INPUT ( %{?scl:%{_prefix}}/%{_lib}/libtsan.so.2 )' > libtsan.so %endif +ln -sf ../../../../%{_lib}/libgfortran.so.5.* libgfortran.so +ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so +%if %{build_libitm} +ln -sf ../../../../%{_lib}/libitm.so.1.* libitm.so +%endif +%if %{build_libatomic} +ln -sf ../../../../%{_lib}/libatomic.so.1.* libatomic.so +%endif %if %{build_libubsan} rm -f libubsan.so echo '/* GNU ld script */ @@ -985,8 +967,8 @@ INPUT ( %{?scl:%{_prefix}}/%{_lib}/liblsan.so.0 )' > liblsan.so %endif mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/ mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++fs.*a $FULLLPATH/ -mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a . -mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a . +mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a $FULLLPATH/ +mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a $FULLLPATH/ mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a . %if %{build_libquadmath} mv -f %{buildroot}%{_prefix}/%{_lib}/libquadmath.*a $FULLLPATH/ @@ -1018,20 +1000,16 @@ mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan.*a $FULLPATH/ mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan_preinit.o $FULLPATH/ %endif + %ifarch sparcv9 ppc echo '/* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ %{oformat2} INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libstdc++.so.6 -lstdc++_nonshared )' > 64/libstdc++.so -rm -f 64/libgfortran.so -echo '/* GNU ld script */ +ln -sf ../`echo ../../../../lib/libgfortran.so.5.* | sed s~/lib/~/lib64/~` 64/libgfortran.so +ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so -%{oformat2} -INPUT ( %{_prefix}/lib64/libgfortran.so.5 )' > 64/libgfortran.so -echo '/* GNU ld script */ -%{oformat2} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libgomp.so.1 )' > 64/libgomp.so echo '/* GNU ld script */ %{oformat2} INPUT ( %{_prefix}/lib64/libgccjit.so.0 )' > 64/libgccjit.so @@ -1046,16 +1024,14 @@ INPUT ( %{_root_prefix}/lib64/libquadmath.so.0 )' > 64/libquadmath.so %endif %endif %if %{build_libitm} -rm -f 64/libitm.so -echo '/* GNU ld script */ -%{oformat2} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libitm.so.1 )' > 64/libitm.so +rm -f libitm.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > libitm.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > 64/libitm.so %endif %if %{build_libatomic} -rm -f 64/libatomic.so -echo '/* GNU ld script */ -%{oformat2} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libatomic.so.1 )' > 64/libatomic.so +rm -f libatomic.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > libatomic.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > 64/libatomic.so %endif %if %{build_libasan} rm -f 64/libasan.so @@ -1069,12 +1045,12 @@ echo '/* GNU ld script */ %{oformat2} INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libubsan.so.1 )' > 64/libubsan.so %endif -mv -f %{buildroot}%{_prefix}/lib64/libsupc++.*a 64/ -mv -f %{buildroot}%{_prefix}/lib64/libgfortran.*a 64/ -mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/ +ln -sf lib32/libgfortran.a libgfortran.a +ln -sf ../lib64/libgfortran.a 64/libgfortran.a %if %{build_libquadmath} mv -f %{buildroot}%{_prefix}/lib64/libquadmath.*a 64/ %endif +mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/ ln -sf lib32/libstdc++.a libstdc++.a ln -sf ../lib64/libstdc++.a 64/libstdc++.a ln -sf lib32/libstdc++fs.a libstdc++fs.a @@ -1104,6 +1080,8 @@ ln -sf lib32/libubsan.a libubsan.a ln -sf ../lib64/libubsan.a 64/libubsan.a %endif %endif + + %ifarch %{multilib_64_archs} mkdir -p 32 echo '/* GNU ld script @@ -1111,15 +1089,8 @@ echo '/* GNU ld script the static library, so try that secondarily. */ %{oformat2} INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libstdc++.so.6 -lstdc++_nonshared )' > 32/libstdc++.so -rm -f 32/libgfortran.so -echo '/* GNU ld script */ -%{oformat2} -INPUT ( %{_prefix}}/lib/libgfortran.so.5 )' > 32/libgfortran.so - - -echo '/* GNU ld script */ -%{oformat2} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libgomp.so.1 )' > 32/libgomp.so +ln -sf ../`echo ../../../../lib64/libgfortran.so.5.* | sed s~/../lib64/~/~` 32/libgfortran.so +ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so echo '/* GNU ld script */ %{oformat2} @@ -1135,16 +1106,14 @@ INPUT ( %{_root_prefix}/lib/libquadmath.so.0 )' > 32/libquadmath.so %endif %endif %if %{build_libitm} -rm -f 32/libitm.so -echo '/* GNU ld script */ -%{oformat2} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libitm.so.1 )' > 32/libitm.so +rm -f libitm.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > libitm.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libitm.so.1.* | sed 's,^.*libi,libi,'`' )' > 32/libitm.so %endif %if %{build_libatomic} -rm -f 32/libatomic.so -echo '/* GNU ld script */ -%{oformat2} -INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libatomic.so.1 )' > 32/libatomic.so +rm -f libatomic.so +echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > libatomic.so +echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libatomic.so.1.* | sed 's,^.*liba,liba,'`' )' > 32/libatomic.so %endif %if %{build_libasan} rm -f 32/libasan.so @@ -1158,12 +1127,10 @@ echo '/* GNU ld script */ %{oformat2} INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libubsan.so.1 )' > 32/libubsan.so %endif -mv -f %{buildroot}%{_prefix}/lib/libsupc++.*a 32/ -mv -f %{buildroot}%{_prefix}/lib/libgfortran.*a 32/ -mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/ %if %{build_libquadmath} mv -f %{buildroot}%{_prefix}/lib/libquadmath.*a 32/ %endif +mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/ %endif %ifarch sparc64 ppc64 ln -sf ../lib32/libgfortran.a 32/libgfortran.a @@ -1267,22 +1234,9 @@ chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.* %endif %if %{build_libitm} chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.* -%if 0%{?scl:1} -mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/ -mv %{buildroot}%{_prefix}/%{_lib}/libitm.so.1* %{buildroot}%{_root_prefix}/%{_lib}/ -mkdir -p %{buildroot}%{_root_infodir} - -mv %{buildroot}%{_infodir}/libitm.info* %{buildroot}%{_root_infodir}/ - -%endif %endif %if %{build_libatomic} chmod 755 %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1.* -%if 0%{?scl:1} -mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/ -mv %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1* %{buildroot}%{_root_prefix}/%{_lib}/ -mkdir -p %{buildroot}%{_root_infodir} -%endif %endif %if %{build_libasan} chmod 755 %{buildroot}%{_prefix}/%{_lib}/libasan.so.8.* @@ -1387,22 +1341,22 @@ cd .. # Remove binaries we will not be including, so that they don't end up in # gcc-debuginfo -rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a,libstdc++*,libgfortran*} || : +rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a,libstdc++*,libgfortran.so,libgcc_s.so} || : %if 0%{?scl:1} -rm -f %{buildroot}%{_prefix}/%{_lib}/{libquadmath*,libitm*,libatomic*,libasan.so,libtsan.so,libubsan.so,liblsan.so} -%else - -rm -f %{buildroot}%{_prefix}/%{_lib}/{libitm*,libatomic*} - +rm -f %{buildroot}%{_prefix}/%{_lib}/{libitm.so,libatomic.so,libasan.so,libtsan.so,libubsan.so,liblsan.so} +%if %{build_libquadmath} +rm -f %{buildroot}%{_prefix}/%{_lib}/{libquadmath.so} +%endif +%if %{build_libhwasan} +rm -f %{buildroot}%{_prefix}/%{_lib}/{libhwasan.so} +%endif %endif -rm -f %{buildroot}%{_prefix}/%{_lib}/libgomp* -rm -f %{buildroot}/%{_lib}/libgcc_s* +rm -f %{buildroot}%{_prefix}/%{_lib}/libgomp.so rm -f $FULLEPATH/install-tools/{mkheaders,fixincl} rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a rm -f %{buildroot}%{_prefix}/%{_lib}/libssp* rm -f %{buildroot}%{_prefix}/%{_lib}/libvtv* || : rm -f %{buildroot}/lib/cpp -rm -f %{buildroot}/%{_lib}/libgcc_s* rm -f %{buildroot}%{_prefix}/bin/{gccbug,gnatgcc*} rm -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gfortran %if 0%{!?scl:1} @@ -1505,7 +1459,7 @@ end %ldconfig_scriptlets -n %{?_scl_prefix}libgccjit%{gcc_ver} -%ldconfig_scriptlets -n %{?_scl_prefix}libquadmath%{gcc_ver}-devel +%ldconfig_scriptlets -n %{?_scl_prefix}libquadmath%{gcc_ver} %ldconfig_scriptlets -n %{?_scl_prefix}libitm%{gcc_ver} @@ -1829,8 +1783,6 @@ end %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_s.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.so - - %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgccjit.so %if %{build_libquadmath} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.a @@ -1876,9 +1828,6 @@ end %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so %endif -%if %{build_libatomic} -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so -%endif %if %{build_libtsan} %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.a %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.so @@ -2033,6 +1982,7 @@ end %doc rpm.doc/gfortran/* %files -n %{?_scl_prefix}libgfortran%{gcc_ver}-devel +%{_prefix}/%{_lib}/libgfortran.so.5* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} @@ -2047,14 +1997,27 @@ end %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.a %endif +%files -n %{?_scl_prefix}libgomp%{gcc_ver} +%{_prefix}/%{_lib}/libgomp.so.1* +%{_infodir}/libgomp.info* +%doc rpm.doc/changelogs/libgomp/ChangeLog* + %if %{build_libquadmath} -%files -n %{?_scl_prefix}libquadmath%{gcc_ver}-devel +%files -n %{?_scl_prefix}libquadmath%{gcc_ver} +%{_prefix}/%{_lib}/libquadmath.so.0* +%{_infodir}/libquadmath.info* +%{!?_licensedir:%global license %%doc} +%license rpm.doc/libquadmath/COPYING* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath.h %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath_weak.h +%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so +%endif +%doc rpm.doc/libquadmath/ChangeLog* %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libquadmath.a @@ -2065,17 +2028,24 @@ end %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so %endif -%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} -%doc rpm.doc/libquadmath/ChangeLog* %endif %if %{build_libitm} -%files -n %{?_scl_prefix}libitm%{gcc_ver}-devel +%files -n %{?_scl_prefix}libitm%{gcc_ver} +%{_prefix}/%{_lib}/libitm.so.1* +%{_infodir}/libitm.info* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include +#%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm.h +#%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm_weak.h +%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so +%endif +%doc rpm.doc/libitm/ChangeLog* + %ifarch sparcv9 ppc %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libitm.a @@ -2085,14 +2055,20 @@ end %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libitm.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a %endif -%doc rpm.doc/libitm/ChangeLog* %endif %if %{build_libatomic} -%files -n %{?_scl_prefix}libatomic%{gcc_ver}-devel +%files -n %{?_scl_prefix}libatomic%{gcc_ver} +%{_prefix}/%{_lib}/libatomic.so.1* +%ifarch sparcv9 ppc +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.so +%endif +%ifarch %{multilib_64_archs} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.so +%endif +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} @@ -2105,7 +2081,6 @@ end %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libatomic.a %endif %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 -%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a %endif %doc rpm.doc/changelogs/libatomic/ChangeLog* @@ -2242,6 +2217,10 @@ end %doc rpm.doc/changelogs/libcc1/ChangeLog* %changelog +* Sat Aug 24 2024 zhaoshujian - 14.2.1-3 +- [bugfix] Change libgomp, libfortran, libgcc_s, libitm, libatomic package path +- Add gcc-toolset-14 Readme + * Thu Aug 22 2024 Hu, Lin - 14.2.1-2 - [Backport] Backport fix prefetchi from gcc-14.3.0 -- Gitee