libgomp: patch to workaround environ null pointer in initialize_env [release 13.1.1-2mamba;Tue Jun 20 2023]

This commit is contained in:
Silvan Calarco 2024-01-05 22:37:56 +01:00
parent 1c54db45b9
commit 9d818337b1
2 changed files with 54 additions and 16 deletions

View File

@ -0,0 +1,12 @@
--- gcc-13.1.1/libgomp/env.c.orig 2023-06-20 10:11:45.125868665 +0200
+++ gcc-13.1.1/libgomp/env.c 2023-06-20 10:04:18.089095860 +0200
@@ -2059,6 +2059,9 @@
none = gomp_get_initial_icv_item (GOMP_DEVICE_NUM_FOR_NO_SUFFIX);
initialize_icvs (&none->icvs);
+ if (environ == 0) fprintf(stderr, "FIXME: initialize_env: environ is not initialized\n");
+
+ if (environ != 0)
for (env = environ; *env != 0; env++)
{
if (!startswith (*env, "OMP_"))

View File

@ -1,4 +1,6 @@
# openmamba cross platform gcc specfile
%define git_commit 9a167ee2f8b9a0859fbab6cfdc276cf1f272effe
%define git_commit_ver 13.1.1
%define target_cpu %(echo %{_target_platform} | cut -d- -f1)
%if "%{?_target_platform}" != "%{_host}"
@ -39,7 +41,7 @@
%define majver %(echo %version | cut -d. -f 1-2)
Name: gcc
Version: 12.2.0
Version: 13.1.1
Release: 2mamba
Summary: GNU Compiler Collection (C, C++, Fortran, Go, Ada)
Group: Applications/Development
@ -47,8 +49,8 @@ Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://gcc.gnu.org/
Source: https://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz
Source1: ftp://sourceware.org/pub/java/ecj-latest.jar
Source: https://sourceware.org/git/gcc.git/master@%{git_commit}/gcc-%{version}.tar.bz2
#Source: https://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz
Patch0: %{name}-4.5.0-no_fixincludes.patch
Patch1: %{name}-4.0.2-zextract.patch
Patch2: gcc4-java-nomulti.patch
@ -67,6 +69,7 @@ Patch15: gcc-4.9.0-upstream-fixes-1.patch
Patch16: gcc-4.9.2-arm-lra-bootstrap.patch
Patch19: gcc-7.1.0-cross-ftbfs-ucontet_t.patch
Patch20: gcc-10.1.0-arm-provide-futex-atomic-functions.patch
Patch21: gcc-13.1.1-libgomp-workaround-null-environ.patch
License: GPL
## AUTOBUILDREQ-BEGIN
## AUTOBUILDREQ-END
@ -112,7 +115,7 @@ BuildRequires: libisl-devel >= 0.14
#% else
#BuildRequires: cross-%{target_cpu}-glibc%{?glibc_require_append} >= 2.5
%endif
BuildConflicts: libldc-devel
#BuildConflicts: libldc-devel
Requires(post):%{__install_info}
Requires: %{name}-cpp = %{version}-%{release}
Requires: libgcc >= %{version}-%{release}
@ -591,7 +594,15 @@ Cross Platform gcc for %{_target_platform}.
%debug_package
%endif
# Don't clean build at the end
%global __spec_rmbuild_cmd /bin/true
%prep
%if "%{git_commit_ver}" != "%{version}"
echo "Needed to update git commit for gcc %{version}"
exit 1
%endif
%setup -q -n gcc-%{version}%{?gcc_extraver}
#-D -T
#:<< ___EOF
@ -600,15 +611,17 @@ Cross Platform gcc for %{_target_platform}.
%define _build_id_links none
%endif
%if "%{_target_platform}" != "%{_build}"
%patch9 -p1
%endif
#%if "%{_target_platform}" != "%{_build}"
#%patch 9 -p1
#%endif
# psignal_fix_bootstrap_build
%patch11 -p1
## psignal_fix_bootstrap_build
#%patch 11 -p1
%patch 21 -p1
%ifarch arm
%patch20 -p1
%patch 20 -p1
## workaround for gcc-go
#cp libgo/go/internal/syscall/unix/{getrandom_linux_arm.go,dummy.go}
cat >> libgo/go/internal/syscall/unix/dummy.go << __EOF
@ -652,7 +665,7 @@ BUILD_LANGUAGES="${BUILD_LANGUAGES},go"
case %{_target_platform} in
i386-*|i486-*|i586-*|i686-*|athlon-*)
ADDITIONAL_OPTS="--with-arch=i686"
ADDITIONAL_OPTS="--with-arch=pentium4"
;;
ppc-* | powerpc-*)
ADDITIONAL_OPTS=""
@ -1108,7 +1121,7 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
%{_libdir}/libtsan_preinit.o
%endif
%ifarch aarch64
%ifarch aarch64 x86_64
%files -n libhwasan
%defattr(-,root,root)
%{_libdir}/libhwasan.so.*
@ -1117,9 +1130,8 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
%defattr(-,root,root)
%{_libdir}/libhwasan.a
%{_libdir}/libhwasan.so
%endif
%{_libdir}/libhwasan_preinit.o
%ifarch x86_64 aarch64
%files -n liblsan
%defattr(-,root,root)
%{_libdir}/liblsan.so.*
@ -1188,7 +1200,8 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
#
# C++ language
#
%files c++
# NOTE: libstdc++.lang moved here to prevent x86 biarch conflict of libstdc++6
%files c++ -f libstdc++.lang
%defattr(-,root,root)
%{_bindir}/c++
%{_bindir}/g++
@ -1198,7 +1211,7 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
%{_mandir}/man1/g++.1.*
#%doc gcc/cp/ChangeLog*
%files -n %{libstdcxx_name} -f libstdc++.lang
%files -n %{libstdcxx_name}
%defattr(-,root,root)
%{_libdir}/libstdc++.so.*
%ifarch ppc
@ -1212,6 +1225,7 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
%files -n %{libstdcxx_name}-devel
%defattr(-,root,root)
%{_libdir}/libstdc++.a
%{_libdir}/libstdc++exp.a
%{_libdir}/libstdc++.so
%{_libdir}/libsupc++.a
%{_libdir}/libstdc++fs.a
@ -1325,7 +1339,9 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
#%doc gcc/doc/gfortran.pdf
%endif
%endif
%ifnarch arm aarch64
%{_infodir}/libquadmath.info.*
%endif
%if "%{disable_doc}" != "1"
#%doc gcc/doc/cpp.pdf
#%doc gcc/doc/cppinternals.pdf
@ -1347,6 +1363,7 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
%{_prefix}/lib32/libgcc_s.so.1
#
%{_prefix}/lib32/libstdc++.*a
%{_prefix}/lib32/libstdc++exp.a
%{_prefix}/lib32/libstdc++.so
%{_prefix}/lib32/libstdc++.so.*
%{_prefix}/lib32/libstdc++fs.*a
@ -1461,6 +1478,15 @@ rm -f %{buildroot}%{_infodir}/libffi.info*
%endif
%changelog
* Tue Jun 20 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 13.1.1-2mamba
- libgomp: patch to workaround environ null pointer in initialize_env
* Sat Jun 17 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 13.1.1-1mamba
- update to 13.1.1
* Sat Jun 10 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 13.1.0-1mamba
- update to 13.1.0
* Thu Sep 29 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 12.2.0-2mamba
- gcc-multilib: add /usr/lib32 to ldconfig paths