diff --git a/.gitignore b/.gitignore deleted file mode 100644 index d8504cf..0000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/gcc-10.1.1-20200507.tar.xz -/gcc-10.2.1-20200723.tar.xz diff --git a/README.md b/README.md new file mode 100644 index 0000000..24b9ea2 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Package Not Available +This package is not available on CentOS Stream 10. +It may be available on another branch. \ No newline at end of file diff --git a/compat-sap-c++-10.spec b/compat-sap-c++-10.spec deleted file mode 100644 index 0f5cf63..0000000 --- a/compat-sap-c++-10.spec +++ /dev/null @@ -1,448 +0,0 @@ -%global __python /usr/bin/python3 -%global scl 1 -%global scl_prefix compat-sap- -%global _root_prefix /opt/rh/SAP -%global _root_infodir %{_root_prefix}/%{_infodir} -%global _root_mandir %{_root_prefix}/%{_mandir} -%{?scl:%global __strip strip} -%{?scl:%global __objdump objdump} -%global DATE 20200723 -%global gitrev 3fc88aa16f1bf661db4518d6d62869f081981981 -%global gcc_version 10.2.1 -%global gcc_major 10 -# Note, gcc_release must be integer, if you want to add suffixes to -# %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 1 -%global _unpackaged_files_terminate_build 0 -%undefine _annotated_build -%global multilib_64_archs sparc64 ppc64 x86_64 -%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 -%global attr_ifunc 1 -%else -%global attr_ifunc 0 -%endif -%ifarch x86_64 -%global multilib_32_arch i686 -%endif -Summary: C++ compatibility runtime library for SAP applications -Name: %{?scl_prefix}c++-10 -ExclusiveArch: x86_64 ppc64le s390x -Version: %{gcc_version} -Release: %{gcc_release}.2%{?dist} -# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have -# GCC Runtime Exception. -License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD -# The source for this package was pulled from upstream's vcs. Use the -# following commands to generate the tarball: -# git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp -# git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin %%{gitrev} -# git --git-dir=gcc-dir.tmp/.git archive --prefix=%%{name}-%%{version}-%%{DATE}/ %%{gitrev} | xz -9e > %%{name}-%%{version}-%%{DATE}.tar.xz -# rm -rf gcc-dir.tmp -Source0: gcc-%{version}-%{DATE}.tar.xz -URL: http://gcc.gnu.org -# Need binutils with -pie support >= 2.14.90.0.4-4 -# Need binutils which can omit dot symbols and overlap .opd on ppc64 >= 2.15.91.0.2-4 -# Need binutils which handle -msecure-plt on ppc >= 2.16.91.0.2-2 -# Need binutils which support .weakref >= 2.16.91.0.3-1 -# Need binutils which support --hash-style=gnu >= 2.17.50.0.2-7 -# Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8 -# Need binutils which support --build-id >= 2.17.50.0.17-3 -# Need binutils which support %%gnu_unique_object >= 2.19.51.0.14 -# Need binutils which support .cfi_sections >= 2.19.51.0.14-33 -# Need binutils which support --no-add-needed >= 2.20.51.0.2-12 -# Need binutils which support -plugin -# Need binutils which support .loc view >= 2.30 -# Need binutils which support --generate-missing-build-notes=yes >= 2.31 -BuildRequires: binutils >= 2.19.51.0.14-33 -# While gcc doesn't include statically linked binaries, during testing -# -static is used several times. -BuildRequires: glibc-static -BuildRequires: gcc, gcc-c++ -BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo, sharutils, gcc-gfortran -BuildRequires: /usr/bin/pod2man -# For VTA guality testing -BuildRequires: gdb -# Make sure pthread.h doesn't contain __thread tokens -# Make sure glibc supports stack protector -# Make sure glibc supports DT_GNU_HASH -BuildRequires: glibc-devel >= 2.4.90-13 -BuildRequires: elfutils-devel >= 0.147 -BuildRequires: elfutils-libelf-devel >= 0.147 -%if 0%{?rhel} >= 8 -BuildRequires: libzstd-devel -%endif -%ifarch ppc ppc64 ppc64le ppc64p7 s390 s390x sparc sparcv9 alpha -# Make sure glibc supports TFmode long double -BuildRequires: glibc >= 2.3.90-35 -%endif -%ifarch %{multilib_64_archs} sparcv9 ppc -# Ensure glibc{,-devel} is installed for both multilib arches -BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so -%endif -%ifarch ia64 -BuildRequires: libunwind >= 0.98 -%endif -# Need .eh_frame ld optimizations -# Need proper visibility support -# Need -pie support -# Need --as-needed/--no-as-needed support -# On ppc64, need omit dot symbols support and --non-overlapping-opd -# Need binutils that owns /usr/bin/c++filt -# Need binutils that support .weakref -# Need binutils that supports --hash-style=gnu -# Need binutils that support mffgpr/mftgpr -# Need binutils that support --build-id -# Need binutils that support %%gnu_unique_object -# Need binutils that support .cfi_sections -# Need binutils that support --no-add-needed -# Need binutils that support -plugin -# Need binutils that support .loc view >= 2.30 -# Need binutils which support --generate-missing-build-notes=yes >= 2.31 -# Don't require this for compat-sap-c++ (#1491573). -#Requires: binutils >= 2.19.51.0.14-33 -# Make sure gdb will understand DW_FORM_strp -Conflicts: gdb < 5.1-2 -# Don't require this for compat-sap-c++ (#1491573). -#Requires: glibc-devel >= 2.2.90-12 -%ifarch ppc ppc64 ppc64le ppc64p7 s390 s390x sparc sparcv9 alpha -# Make sure glibc supports TFmode long double -Requires: glibc >= 2.3.90-35 -%endif -Requires: libgcc >= 4.1.2-43 -# Keep this for now. -Requires: libgomp >= 4.4.4-13 -BuildRequires: gmp-devel >= 4.1.2-8 -BuildRequires: mpfr-devel >= 3.1.0 -%if 0%{?rhel} >= 7 -BuildRequires: libmpc-devel >= 0.8.1 -%endif -AutoReq: true -AutoProv: false -# Don't provide this for compat-sap-c++ (#1491573). -#%ifarch sparc64 ppc64 ppc64le s390x x86_64 ia64 -#Provides: liblto_plugin.so.0()(64bit) -#%else -#Provides: liblto_plugin.so.0 -#%endif -%global oformat %{nil} -%global oformat2 %{nil} -%ifarch %{ix86} -%global oformat OUTPUT_FORMAT(elf32-i386) -%endif -%ifarch x86_64 -%global oformat OUTPUT_FORMAT(elf64-x86-64) -%global oformat2 OUTPUT_FORMAT(elf32-i386) -%endif -%ifarch ppc -%global oformat OUTPUT_FORMAT(elf32-powerpc) -%global oformat2 OUTPUT_FORMAT(elf64-powerpc) -%endif -%ifarch ppc64 -%global oformat OUTPUT_FORMAT(elf64-powerpc) -%global oformat2 OUTPUT_FORMAT(elf32-powerpc) -%endif -%ifarch s390 -%global oformat OUTPUT_FORMAT(elf32-s390) -%endif -%ifarch s390x -%global oformat OUTPUT_FORMAT(elf64-s390) -%global oformat2 OUTPUT_FORMAT(elf32-s390) -%endif -%ifarch ia64 -%global oformat OUTPUT_FORMAT(elf64-ia64-little) -%endif -%ifarch ppc64le -%global oformat OUTPUT_FORMAT(elf64-powerpcle) -%endif -%ifarch aarch64 -%global oformat OUTPUT_FORMAT(elf64-littleaarch64) -%endif - -Patch0: gcc10-hack.patch -Patch1: gcc10-i386-libgomp.patch -Patch2: gcc10-sparc-config-detection.patch -Patch3: gcc10-libgomp-omp_h-multilib.patch -Patch4: gcc10-libtool-no-rpath.patch -Patch7: gcc10-no-add-needed.patch -Patch8: gcc10-foffload-default.patch -Patch9: gcc10-Wno-format-security.patch -Patch10: gcc10-rh1574936.patch -Patch11: gcc10-d-shared-libphobos.patch - -%if 0%{?rhel} > 7 -%global nonsharedver 80 -%else -%if 0%{?rhel} == 7 -%global nonsharedver 48 -%else -%global nonsharedver 44 -%endif -%endif - -%if 0%{?scl:1} -%global _gnu %{nil} -%else -%global _gnu -gnueabi -%endif -%ifarch sparcv9 -%global gcc_target_platform sparc64-%{_vendor}-%{_target_os} -%endif -%ifarch ppc ppc64p7 -%global gcc_target_platform ppc64-%{_vendor}-%{_target_os} -%endif -%ifnarch sparcv9 ppc ppc64p7 -%global gcc_target_platform %{_target_platform} -%endif - -%description -This package provides runtime compatibility libraries for use by SAP -application binaries only. - -%prep -%setup -q -n gcc-%{version}-%{DATE} -%patch0 -p0 -b .hack~ -%patch1 -p0 -b .i386-libgomp~ -%patch2 -p0 -b .sparc-config-detection~ -%patch3 -p0 -b .libgomp-omp_h-multilib~ -%patch4 -p0 -b .libtool-no-rpath~ -%patch7 -p0 -b .no-add-needed~ -%patch8 -p0 -b .foffload-default~ -%patch9 -p0 -b .Wno-format-security~ -%if 0%{?fedora} >= 29 || 0%{?rhel} > 7 -%patch10 -p0 -b .rh1574936~ -%endif -%patch11 -p0 -b .d-shared-libphobos~ - -echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE - -cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h -cp -a libstdc++-v3/config/cpu/i{4,3}86/opt -echo 'TM_H += $(srcdir)/config/rs6000/rs6000-modes.h' >> gcc/config/rs6000/t-rs6000 - -./contrib/gcc_update --touch - -LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi - -sed -i -e 's/Common Driver Var(flag_report_bug)/& Init(1)/' gcc/common.opt - -%ifarch ppc -if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then - mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64 - mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{,64/}baseline_symbols.txt - mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{32/,}baseline_symbols.txt - rm -rf libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32 -fi -%endif -%ifarch sparc -if [ -d libstdc++-v3/config/abi/post/sparc64-linux-gnu ]; then - mkdir -p libstdc++-v3/config/abi/post/sparc64-linux-gnu/64 - mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{,64/}baseline_symbols.txt - mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{32/,}baseline_symbols.txt - rm -rf libstdc++-v3/config/abi/post/sparc64-linux-gnu/32 -fi -%endif - -%build - -# Undo the broken autoconf change in recent Fedora versions -export CONFIG_SITE=NONE - -rm -rf obj-%{gcc_target_platform} -mkdir obj-%{gcc_target_platform} -cd obj-%{gcc_target_platform} - -%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} - -CC=gcc -CXX=g++ -OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g'` -OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-flto//g;s/-ffat-lto-objects//g'` -OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'` -OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g'` -OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -pipe / /g'` -OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-Werror=format-security/-Wformat-security/g'` -%ifarch sparc -OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'` -%endif -%ifarch %{ix86} -OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g'` -%endif -OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'` -CONFIGURE_OPTS="\ - --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ - --with-bugurl=http://bugzilla.redhat.com/bugzilla \ - --enable-shared --enable-threads=posix --enable-checking=release \ - --disable-multilib \ -%ifarch ppc64le - --enable-targets=powerpcle-linux \ -%endif - --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \ - --enable-gnu-unique-object \ - --enable-linker-build-id --with-gcc-major-version-only \ - --enable-plugin --with-linker-hash-style=gnu \ - --enable-initfini-array \ - --disable-libquadmath \ - --disable-libsanitizer \ - --disable-libvtv \ - --disable-libgomp \ - --disable-libitm \ - --disable-libssp \ - --disable-libatomic \ - --disable-libcilkrts \ - --without-isl \ - --disable-libmpx \ -%if 0%{?fedora} >= 21 || 0%{?rhel} >= 7 -%if %{attr_ifunc} - --enable-gnu-indirect-function \ -%endif -%endif -%ifarch ppc ppc64 ppc64le ppc64p7 - --enable-secureplt \ -%endif -%ifarch ppc ppc64 ppc64p7 -%if 0%{?rhel} >= 7 - --with-cpu-32=power7 --with-tune-32=power7 --with-cpu-64=power7 --with-tune-64=power7 \ -%else - --with-cpu-32=power4 --with-tune-32=power6 --with-cpu-64=power4 --with-tune-64=power6 \ -%endif -%endif -%ifarch ppc64le - --with-cpu-32=power8 --with-tune-32=power8 --with-cpu-64=power8 --with-tune-64=power8 \ -%endif -%ifarch ppc - --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32 -%endif -%ifarch %{ix86} x86_64 - --with-tune=generic \ -%endif -%if 0%{?rhel} >= 7 -%ifarch %{ix86} - --with-arch=x86-64 \ -%endif -%ifarch x86_64 - --with-arch_32=x86-64 \ -%endif -%else -%ifarch %{ix86} - --with-arch=i686 \ -%endif -%ifarch x86_64 - --with-arch_32=i686 \ -%endif -%endif - --build=%{gcc_target_platform} \ - " - -CC="$CC" CXX="$CXX" CFLAGS="$OPT_FLAGS" \ - CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \ - | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \ - XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \ - ../configure --enable-bootstrap \ - --enable-languages=c,c++,lto \ - $CONFIGURE_OPTS - - -make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" - -%install -rm -fr %{buildroot} - -%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} -mkdir -p %{buildroot}%{_root_prefix}/%{_lib} -cd obj-%{gcc_target_platform} -./gcc/xgcc -v 2> %{buildroot}%{_root_prefix}/%{_lib}/README%{gcc_major} - -cp %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so.6.0.* %{buildroot}%{_root_prefix}/%{_lib}/compat-sap-c++-%{gcc_version}.so -cd %{buildroot}%{_root_prefix}/%{_lib}/ -ln -sf compat-sap-c++-%{gcc_version}.so %{buildroot}%{_root_prefix}/%{_lib}/compat-sap-c++-%{gcc_major}.so - -%check -cd obj-%{gcc_target_platform} - -%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} - -# run the tests. -make %{?_smp_mflags} -k check RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || : -( LC_ALL=C ../contrib/test_summary -t || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' > testresults -rm -rf gcc/testsuite.prev -mv gcc/testsuite{,.prev} -rm -f gcc/site.exp -make %{?_smp_mflags} -C gcc -k check-gcc check-g++ ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}' compat.exp struct-layout-1.exp" || : -mv gcc/testsuite/gcc/gcc.sum{,.sent} -mv gcc/testsuite/g++/g++.sum{,.sent} -( LC_ALL=C ../contrib/test_summary -o -t || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' > testresults2 -rm -rf gcc/testsuite.compat -mv gcc/testsuite{,.compat} -mv gcc/testsuite{.prev,} -echo ====================TESTING========================= -cat testresults -echo ===`gcc --version | head -1` compatibility tests==== -cat testresults2 -echo ====================TESTING END===================== -mkdir testlogs-%{_target_platform}-%{version}-%{release} -for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do - ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || : -done -for i in `find gcc/testsuite.compat -name \*.log | grep -v 'config.log\|acats.*/tests/'`; do - ln $i testlogs-%{_target_platform}-%{version}-%{release}/`basename $i`.compat || : -done -tar cf - testlogs-%{_target_platform}-%{version}-%{release} | bzip2 -9c \ - | uuencode testlogs-%{_target_platform}.tar.bz2 || : -rm -rf testlogs-%{_target_platform}-%{version}-%{release} - -%clean -rm -rf %{buildroot} - -%files -%defattr(-,root,root,-) -%dir %{_root_prefix} -%dir %{_root_prefix}/%{_lib} -%{_root_prefix}/%{_lib}/compat-sap-c++-%{gcc_version}.so -%{_root_prefix}/%{_lib}/compat-sap-c++-%{gcc_major}.so -%{_root_prefix}/%{_lib}/README%{gcc_major} -%ghost %{_root_prefix}/%{_lib}/libstdc++.so.6 - -%transfiletriggerin -- %{_root_prefix}/%{_lib} -if ! [ -d %{_root_prefix}/%{_lib} ]; then - exit 0 -fi -symlink=%{_root_prefix}/%{_lib}/libstdc++.so.6 -if [ -e $symlink ] && ! [ -L $symlink ]; then - exit 0 -fi -latest_so=$(ls %{_root_prefix}/%{_lib} | grep "^compat-sap-c++-[1-9][0-9]\.so$" | tail -n1) -if [ -n $latest_so ]; then - ln -sf $latest_so $symlink -fi -%end - -%transfiletriggerpostun -- %{_root_prefix}/%{_lib} -if ! [ -d %{_root_prefix}/%{_lib} ]; then - exit 0 -fi -symlink=%{_root_prefix}/%{_lib}/libstdc++.so.6 -if [ -e $symlink ] && ! [ -L $symlink ]; then - exit 0 -fi -latest_so=$(ls %{_root_prefix}/%{_lib} | grep "^compat-sap-c++-[1-9][0-9]\.so$" | tail -n1) -if [ -n $latest_so ]; then - ln -sf $latest_so $symlink -fi -%end - -%changelog -* Tue Jan 09 2024 Patrick Palka 10.2.1-1.2 -- provide /opt/rh/SAP/lib64/libstdc++.so.6 symlink (RHEL-7257) - -* Thu May 26 2022 Marek Polacek 10.2.1-1.1 -- build on s390x too (#2065777) -- disable multilib - -* Wed Jul 29 2020 Marek Polacek 10.2.1-1 -- GCC 10.2 release -- disable -flto in %%{optflags}, lto bootstrap will be enabled the GCC way - later -- require MPFR Library version 3.1.0 (or later) - -* Thu Jun 4 2020 Marek Polacek 10.1.1-1 -- new package diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..f307bc0 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +compat-sap-cplusplus-10 package is retired on branch c10s for CS-2551 \ No newline at end of file diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index eb7c84f..0000000 --- a/gating.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- !Policy -product_versions: - - rhel-8 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} diff --git a/gcc10-Wno-format-security.patch b/gcc10-Wno-format-security.patch deleted file mode 100644 index 974ea44..0000000 --- a/gcc10-Wno-format-security.patch +++ /dev/null @@ -1,27 +0,0 @@ -2017-02-25 Jakub Jelinek - - * configure.ac: When adding -Wno-format, also add -Wno-format-security. - * configure: Regenerated. - ---- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100 -+++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100 -@@ -480,7 +480,7 @@ AC_ARG_ENABLE(build-format-warnings, - AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]), - [],[enable_build_format_warnings=yes]) - AS_IF([test $enable_build_format_warnings = no], -- [wf_opt=-Wno-format],[wf_opt=]) -+ [wf_opt="-Wno-format -Wno-format-security"],[wf_opt=]) - ACX_PROG_CXX_WARNING_OPTS( - m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ], - [-Wcast-qual -Wno-error=format-diag $wf_opt])), ---- gcc/configure.jj 2017-02-13 12:20:52.000000000 +0100 -+++ gcc/configure 2017-02-25 12:42:50.041946391 +0100 -@@ -6647,7 +6647,7 @@ else - fi - - if test $enable_build_format_warnings = no; then : -- wf_opt=-Wno-format -+ wf_opt="-Wno-format -Wno-format-security" - else - wf_opt= - fi diff --git a/gcc10-d-shared-libphobos.patch b/gcc10-d-shared-libphobos.patch deleted file mode 100644 index 6384bbb..0000000 --- a/gcc10-d-shared-libphobos.patch +++ /dev/null @@ -1,20 +0,0 @@ -2019-01-17 Jakub Jelinek - - * d-spec.cc (lang_specific_driver): Make -shared-libphobos - the default rather than -static-libphobos. - ---- gcc/d/d-spec.cc.jj 2019-01-01 12:37:49.502444257 +0100 -+++ gcc/d/d-spec.cc 2019-01-17 17:09:45.364949246 +0100 -@@ -408,9 +408,9 @@ lang_specific_driver (cl_decoded_option - /* Add `-lgphobos' if we haven't already done so. */ - if (phobos_library != PHOBOS_NOLINK) - { -- /* Default to static linking. */ -- if (phobos_library != PHOBOS_DYNAMIC) -- phobos_library = PHOBOS_STATIC; -+ /* Default to shared linking. */ -+ if (phobos_library != PHOBOS_STATIC) -+ phobos_library = PHOBOS_DYNAMIC; - - #ifdef HAVE_LD_STATIC_DYNAMIC - if (phobos_library == PHOBOS_STATIC && !static_link) diff --git a/gcc10-foffload-default.patch b/gcc10-foffload-default.patch deleted file mode 100644 index 4a87e9f..0000000 --- a/gcc10-foffload-default.patch +++ /dev/null @@ -1,122 +0,0 @@ -2019-01-17 Jakub Jelinek - - * gcc.c (offload_targets_default): New variable. - (process_command): Set it if -foffload is defaulted. - (driver::maybe_putenv_OFFLOAD_TARGETS): Add OFFLOAD_TARGET_DEFAULT=1 - into environment if -foffload has been defaulted. - * lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define. - (compile_offload_image): If OFFLOAD_TARGET_DEFAULT - is in the environment, don't fail if corresponding mkoffload - can't be found. - (compile_images_for_offload_targets): Likewise. Free and clear - offload_names if no valid offload is found. -libgomp/ - * target.c (gomp_load_plugin_for_device): If a plugin can't be - dlopened, assume it has no devices silently. - ---- gcc/gcc.c.jj 2017-01-17 10:28:40.000000000 +0100 -+++ gcc/gcc.c 2017-01-20 16:26:29.649962902 +0100 -@@ -290,6 +290,10 @@ static const char *spec_host_machine = D - - static char *offload_targets = NULL; - -+/* Set to true if -foffload has not been used and offload_targets -+ is set to the configured in default. */ -+static bool offload_targets_default; -+ - /* Nonzero if cross-compiling. - When -b is used, the value comes from the `specs' file. */ - -@@ -4457,7 +4461,10 @@ process_command (unsigned int decoded_op - /* If the user didn't specify any, default to all configured offload - targets. */ - if (ENABLE_OFFLOADING && offload_targets == NULL) -- handle_foffload_option (OFFLOAD_TARGETS); -+ { -+ handle_foffload_option (OFFLOAD_TARGETS); -+ offload_targets_default = true; -+ } - - if (output_file - && strcmp (output_file, "-") != 0 -@@ -7693,6 +7700,8 @@ driver::maybe_putenv_OFFLOAD_TARGETS () - obstack_grow (&collect_obstack, offload_targets, - strlen (offload_targets) + 1); - xputenv (XOBFINISH (&collect_obstack, char *)); -+ if (offload_targets_default) -+ xputenv ("OFFLOAD_TARGET_DEFAULT=1"); - } - - free (offload_targets); ---- gcc/lto-wrapper.c.jj 2017-01-01 12:45:34.000000000 +0100 -+++ gcc/lto-wrapper.c 2017-01-20 16:34:18.294016997 +0100 -@@ -52,6 +52,7 @@ along with GCC; see the file COPYING3. - /* Environment variable, used for passing the names of offload targets from GCC - driver to lto-wrapper. */ - #define OFFLOAD_TARGET_NAMES_ENV "OFFLOAD_TARGET_NAMES" -+#define OFFLOAD_TARGET_DEFAULT_ENV "OFFLOAD_TARGET_DEFAULT" - - enum lto_mode_d { - LTO_MODE_NONE, /* Not doing LTO. */ -@@ -822,6 +823,12 @@ compile_offload_image (const char *targe - break; - } - -+ if (!compiler && getenv (OFFLOAD_TARGET_DEFAULT_ENV)) -+ { -+ free_array_of_ptrs ((void **) paths, n_paths); -+ return NULL; -+ } -+ - if (!compiler) - fatal_error (input_location, - "could not find %s in %s (consider using %<-B%>)", -@@ -885,6 +892,7 @@ compile_images_for_offload_targets (unsi - unsigned num_targets = parse_env_var (target_names, &names, NULL); - - int next_name_entry = 0; -+ bool hsa_seen = false; - const char *compiler_path = getenv ("COMPILER_PATH"); - if (!compiler_path) - goto out; -@@ -897,18 +905,26 @@ compile_images_for_offload_targets (unsi - /* HSA does not use LTO-like streaming and a different compiler, skip - it. */ - if (strcmp (names[i], "hsa") == 0) -- continue; -+ { -+ hsa_seen = true; -+ continue; -+ } - - offload_names[next_name_entry] - = compile_offload_image (names[i], compiler_path, in_argc, in_argv, - compiler_opts, compiler_opt_count, - linker_opts, linker_opt_count); - if (!offload_names[next_name_entry]) -- fatal_error (input_location, -- "problem with building target image for %s", names[i]); -+ continue; - next_name_entry++; - } - -+ if (next_name_entry == 0 && !hsa_seen) -+ { -+ free (offload_names); -+ offload_names = NULL; -+ } -+ - out: - free_array_of_ptrs ((void **) names, num_targets); - } ---- libgomp/target.c.jj 2017-01-01 12:45:52.000000000 +0100 -+++ libgomp/target.c 2017-01-20 20:12:13.756710875 +0100 -@@ -2356,7 +2356,7 @@ gomp_load_plugin_for_device (struct gomp - - void *plugin_handle = dlopen (plugin_name, RTLD_LAZY); - if (!plugin_handle) -- goto dl_fail; -+ return 0; - - /* Check if all required functions are available in the plugin and store - their handlers. None of the symbols can legitimately be NULL, diff --git a/gcc10-hack.patch b/gcc10-hack.patch deleted file mode 100644 index ba80c24..0000000 --- a/gcc10-hack.patch +++ /dev/null @@ -1,126 +0,0 @@ ---- libada/Makefile.in.jj 2019-01-09 13:01:18.015608205 +0100 -+++ libada/Makefile.in 2019-01-11 18:16:23.441726931 +0100 -@@ -71,18 +71,40 @@ version := $(shell @get_gcc_base_ver@ $( - libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR) - ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR)) - -+DEFAULTMULTIFLAGS := -+ifeq ($(MULTISUBDIR),) -+targ:=$(subst -, ,$(target)) -+arch:=$(word 1,$(targ)) -+ifeq ($(words $(targ)),2) -+osys:=$(word 2,$(targ)) -+else -+osys:=$(word 3,$(targ)) -+endif -+ifeq ($(strip $(filter-out i%86 x86_64 powerpc% ppc% s390% sparc% linux%, $(arch) $(osys))),) -+ifeq ($(shell $(CC) $(CFLAGS) -print-multi-os-directory),../lib64) -+DEFAULTMULTIFLAGS := -m64 -+else -+ifeq ($(strip $(filter-out s390%, $(arch))),) -+DEFAULTMULTIFLAGS := -m31 -+else -+DEFAULTMULTIFLAGS := -m32 -+endif -+endif -+endif -+endif -+ - # exeext should not be used because it's the *host* exeext. We're building - # a *target* library, aren't we?!? Likewise for CC. Still, provide bogus - # definitions just in case something slips through the safety net provided - # by recursive make invocations in gcc/ada/Makefile.in - LIBADA_FLAGS_TO_PASS = \ - "MAKEOVERRIDES=" \ -- "LDFLAGS=$(LDFLAGS)" \ -+ "LDFLAGS=$(LDFLAGS) $(DEFAULTMULTIFLAGS)" \ - "LN_S=$(LN_S)" \ - "SHELL=$(SHELL)" \ -- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \ -- "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \ -- "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \ -+ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ -+ "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ -+ "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS)" \ - "PICFLAG_FOR_TARGET=$(PICFLAG)" \ - "THREAD_KIND=$(THREAD_KIND)" \ - "TRACE=$(TRACE)" \ -@@ -93,7 +115,7 @@ LIBADA_FLAGS_TO_PASS = \ - "exeext=.exeext.should.not.be.used " \ - 'CC=the.host.compiler.should.not.be.needed' \ - "GCC_FOR_TARGET=$(CC)" \ -- "CFLAGS=$(CFLAGS)" -+ "CFLAGS=$(CFLAGS) $(DEFAULTMULTIFLAGS)" - - .PHONY: libada gnatlib gnatlib-shared gnatlib-sjlj gnatlib-zcx osconstool - ---- config-ml.in.jj 2019-01-09 12:50:16.646501448 +0100 -+++ config-ml.in 2019-01-11 18:16:23.442726914 +0100 -@@ -511,6 +511,8 @@ multi-do: - ADAFLAGS="$(ADAFLAGS) $${flags}" \ - prefix="$(prefix)" \ - exec_prefix="$(exec_prefix)" \ -+ mandir="$(mandir)" \ -+ infodir="$(infodir)" \ - GOCFLAGS="$(GOCFLAGS) $${flags}" \ - GDCFLAGS="$(GDCFLAGS) $${flags}" \ - CXXFLAGS="$(CXXFLAGS) $${flags}" \ ---- libcpp/macro.c.jj 2019-01-09 13:01:21.420552123 +0100 -+++ libcpp/macro.c 2019-01-11 18:18:17.736876285 +0100 -@@ -3256,8 +3256,6 @@ static cpp_macro * - create_iso_definition (cpp_reader *pfile) - { - bool following_paste_op = false; -- const char *paste_op_error_msg = -- N_("'##' cannot appear at either end of a macro expansion"); - unsigned int num_extra_tokens = 0; - unsigned nparms = 0; - cpp_hashnode **params = NULL; -@@ -3382,7 +3380,9 @@ create_iso_definition (cpp_reader *pfile - function-like macros, but not at the end. */ - if (following_paste_op) - { -- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg); -+ cpp_error (pfile, CPP_DL_ERROR, -+ "'##' cannot appear at either end of a macro " -+ "expansion"); - goto out; - } - if (!vaopt_tracker.completed ()) -@@ -3397,7 +3397,9 @@ create_iso_definition (cpp_reader *pfile - function-like macros, but not at the beginning. */ - if (macro->count == 1) - { -- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg); -+ cpp_error (pfile, CPP_DL_ERROR, -+ "'##' cannot appear at either end of a macro " -+ "expansion"); - goto out; - } - ---- libcpp/expr.c.jj 2019-01-09 13:01:22.415535734 +0100 -+++ libcpp/expr.c 2019-01-11 18:16:23.444726882 +0100 -@@ -788,16 +788,17 @@ cpp_classify_number (cpp_reader *pfile, - if ((result & CPP_N_WIDTH) == CPP_N_LARGE - && CPP_OPTION (pfile, cpp_warn_long_long)) - { -- const char *message = CPP_OPTION (pfile, cplusplus) -- ? N_("use of C++11 long long integer constant") -- : N_("use of C99 long long integer constant"); -- - if (CPP_OPTION (pfile, c99)) - cpp_warning_with_line (pfile, CPP_W_LONG_LONG, virtual_location, -- 0, message); -+ 0, CPP_OPTION (pfile, cplusplus) -+ ? N_("use of C++11 long long integer constant") -+ : N_("use of C99 long long integer constant")); - else - cpp_pedwarning_with_line (pfile, CPP_W_LONG_LONG, -- virtual_location, 0, message); -+ virtual_location, 0, -+ CPP_OPTION (pfile, cplusplus) -+ ? N_("use of C++11 long long integer constant") -+ : N_("use of C99 long long integer constant")); - } - - result |= CPP_N_INTEGER; diff --git a/gcc10-i386-libgomp.patch b/gcc10-i386-libgomp.patch deleted file mode 100644 index 520561e..0000000 --- a/gcc10-i386-libgomp.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- libgomp/configure.tgt.jj 2008-01-10 20:53:48.000000000 +0100 -+++ libgomp/configure.tgt 2008-03-27 12:44:51.000000000 +0100 -@@ -67,7 +67,7 @@ if test $enable_linux_futex = yes; then - ;; - *) - if test -z "$with_arch"; then -- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}" -+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic" - fi - esac - ;; diff --git a/gcc10-libgomp-omp_h-multilib.patch b/gcc10-libgomp-omp_h-multilib.patch deleted file mode 100644 index d0e98d1..0000000 --- a/gcc10-libgomp-omp_h-multilib.patch +++ /dev/null @@ -1,17 +0,0 @@ -2008-06-09 Jakub Jelinek - - * omp.h.in (omp_nest_lock_t): Fix up for Linux multilibs. - ---- libgomp/omp.h.in.jj 2008-06-09 13:34:05.000000000 +0200 -+++ libgomp/omp.h.in 2008-06-09 13:34:48.000000000 +0200 -@@ -42,8 +42,8 @@ typedef struct - - typedef struct - { -- unsigned char _x[@OMP_NEST_LOCK_SIZE@] -- __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@))); -+ unsigned char _x[8 + sizeof (void *)] -+ __attribute__((__aligned__(sizeof (void *)))); - } omp_nest_lock_t; - #endif - diff --git a/gcc10-libtool-no-rpath.patch b/gcc10-libtool-no-rpath.patch deleted file mode 100644 index 466c661..0000000 --- a/gcc10-libtool-no-rpath.patch +++ /dev/null @@ -1,27 +0,0 @@ -libtool sucks. ---- ltmain.sh.jj 2007-12-07 14:53:21.000000000 +0100 -+++ ltmain.sh 2008-09-05 21:51:48.000000000 +0200 -@@ -5394,6 +5394,7 @@ EOF - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do -+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then -@@ -6071,6 +6072,7 @@ EOF - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do -+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then -@@ -6120,6 +6122,7 @@ EOF - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do -+ case "$libdir" in /usr/lib|/usr/lib64|/usr/lib/../lib|/usr/lib/../lib64) continue;; esac - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then diff --git a/gcc10-no-add-needed.patch b/gcc10-no-add-needed.patch deleted file mode 100644 index 5817299..0000000 --- a/gcc10-no-add-needed.patch +++ /dev/null @@ -1,37 +0,0 @@ -2010-02-08 Roland McGrath - - * config/gnu-user.h (LINK_EH_SPEC): Pass --no-add-needed to the linker. - * config/alpha/elf.h (LINK_EH_SPEC): Likewise. - * config/ia64/linux.h (LINK_EH_SPEC): Likewise. - ---- gcc/config/alpha/elf.h.jj 2011-01-03 12:52:31.118056764 +0100 -+++ gcc/config/alpha/elf.h 2011-01-04 18:14:10.931874160 +0100 -@@ -168,5 +168,5 @@ extern int alpha_this_gpdisp_sequence_nu - I imagine that other systems will catch up. In the meantime, it - doesn't harm to make sure that the data exists to be used later. */ - #if defined(HAVE_LD_EH_FRAME_HDR) --#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " -+#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} " - #endif ---- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100 -+++ gcc/config/ia64/linux.h 2011-01-04 18:14:10.931874160 +0100 -@@ -76,7 +76,7 @@ do { \ - Signalize that because we have fde-glibc, we don't need all C shared libs - linked against -lgcc_s. */ - #undef LINK_EH_SPEC --#define LINK_EH_SPEC "" -+#define LINK_EH_SPEC "--no-add-needed " - - #undef TARGET_INIT_LIBFUNCS - #define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs ---- gcc/config/gnu-user.h.jj 2011-01-03 12:53:03.739057299 +0100 -+++ gcc/config/gnu-user.h 2011-01-04 18:14:10.932814884 +0100 -@@ -106,7 +106,7 @@ see the files COPYING3 and COPYING.RUNTI - #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC - - #if defined(HAVE_LD_EH_FRAME_HDR) --#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " -+#define LINK_EH_SPEC "--no-add-needed %{!static|static-pie:--eh-frame-hdr} " - #endif - - #define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \ diff --git a/gcc10-rh1574936.patch b/gcc10-rh1574936.patch deleted file mode 100644 index bc1df51..0000000 --- a/gcc10-rh1574936.patch +++ /dev/null @@ -1,31 +0,0 @@ -crt files and statically linked libgcc objects cause false positives -in annobin coverage, so we add the assembler flag to generate notes -for them. - -The patch also adds notes to libgcc_s.so, but this is harmless because -these notes only confer that there is no other annobin markup. - -2018-07-25 Florian Weimer - - * Makefile.in (LIBGCC2_CFLAGS, CRTSTUFF_CFLAGS): Add - -Wa,--generate-missing-build-notes=yes. - ---- libgcc/Makefile.in 2018-01-13 13:05:41.000000000 +0100 -+++ libgcc/Makefile.in 2018-07-25 13:15:02.036226940 +0200 -@@ -247,6 +247,7 @@ - LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \ - $(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \ - -fbuilding-libgcc -fno-stack-protector \ -+ -Wa,--generate-missing-build-notes=yes \ - $(INHIBIT_LIBC_CFLAGS) - - # Additional options to use when compiling libgcc2.a. -@@ -302,6 +303,7 @@ - $(NO_PIE_CFLAGS) -finhibit-size-directive -fno-inline -fno-exceptions \ - -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \ - -fbuilding-libgcc -fno-stack-protector $(FORCE_EXPLICIT_EH_REGISTRY) \ -+ -Wa,--generate-missing-build-notes=yes \ - $(INHIBIT_LIBC_CFLAGS) $(USE_TM_CLONE_REGISTRY) - - # Extra flags to use when compiling crt{begin,end}.o. - diff --git a/gcc10-sparc-config-detection.patch b/gcc10-sparc-config-detection.patch deleted file mode 100644 index bb06b35..0000000 --- a/gcc10-sparc-config-detection.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500 -+++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500 -@@ -2790,7 +2790,7 @@ sparc-*-rtems*) - tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h" - tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems" - ;; --sparc-*-linux*) -+sparc-*-linux* | sparcv9-*-linux*) - tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h" - extra_options="${extra_options} sparc/long-double-switch.opt" - case ${target} in -@@ -2844,7 +2844,7 @@ sparc64-*-rtems*) - extra_options="${extra_options}" - tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64" - ;; --sparc64-*-linux*) -+sparc64*-*-linux*) - tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h" - extra_options="${extra_options} sparc/long-double-switch.opt" - tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64" ---- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500 -+++ libgcc/config.host 2008-04-24 15:46:49.000000000 -0500 -@@ -1002,7 +1002,7 @@ sparc-*-elf*) - tmake_file="${tmake_file} t-fdpbit t-crtfm" - extra_parts="$extra_parts crti.o crtn.o crtfastmath.o" - ;; --sparc-*-linux*) # SPARC's running GNU/Linux, libc6 -+sparc-*-linux* | sparcv9-*-linux*) # SPARC's running GNU/Linux, libc6 - tmake_file="${tmake_file} t-crtfm" - if test "${host_address}" = 64; then - tmake_file="$tmake_file sparc/t-linux64" -@@ -1050,7 +1050,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd* - tmake_file="$tmake_file t-crtfm" - extra_parts="$extra_parts crtfastmath.o" - ;; --sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux -+sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux - extra_parts="$extra_parts crtfastmath.o" - tmake_file="${tmake_file} t-crtfm sparc/t-linux" - if test "${host_address}" = 64; then diff --git a/sources b/sources deleted file mode 100644 index c60e136..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (gcc-10.2.1-20200723.tar.xz) = e1719e4a18f43bb76acb91c0d768711e78d7e8c478b72e691911094e233570597997ed108ba7ed4fb136542993af935ea38ec462a1972689c9220d4cc0e2933f