diff --git a/.gitignore b/.gitignore index 8d92f45..8d0fe1d 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,8 @@ /gcc-9.0.1-20190209.tar.xz /gcc-9.0.1-20190215.tar.xz /gcc-9.0.1-20190219.tar.xz +/gcc-9.0.1-20190221.tar.xz +/gcc-9.0.1-20190227.tar.xz +/gcc-9.0.1-20190309.tar.xz +/gcc-9.0.1-20190312.tar.xz +/gcc-9.0.1-20190320.tar.xz diff --git a/gcc.spec b/gcc.spec index 6038f4a..a48b4e1 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,10 +1,10 @@ -%global DATE 20190219 -%global SVNREV 269023 +%global DATE 20190320 +%global SVNREV 269820 %global gcc_version 9.0.1 %global gcc_major 9 # 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 0.6 +%global gcc_release 0.11 %global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f %global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24 %global _unpackaged_files_terminate_build 0 @@ -254,11 +254,7 @@ Patch8: gcc9-foffload-default.patch Patch9: gcc9-Wno-format-security.patch Patch10: gcc9-rh1574936.patch Patch11: gcc9-d-shared-libphobos.patch -Patch12: gcc9-pr89014.patch -Patch13: gcc9-pr89093.patch -Patch14: gcc9-s390x-bootstrap-fix.patch -Patch15: gcc9-pr88714.patch -Patch16: gcc9-pr89402.patch +Patch12: gcc9-pr89093.patch Patch30: libphobos-enable-riscv-v3.patch @@ -771,11 +767,7 @@ to NVidia PTX capable devices if available. %patch10 -p0 -b .rh1574936~ %endif %patch11 -p0 -b .d-shared-libphobos~ -%patch12 -p0 -b .pr89014~ -%patch13 -p0 -b .pr89093~ -%patch14 -p0 -b .s390x-bootstrap~ -%patch15 -p0 -b .pr88714~ -%patch16 -p0 -b .pr89402~ +%patch12 -p0 -b .pr89093~ %patch30 -p1 -b .libphobos-riscv~ @@ -1290,36 +1282,39 @@ mkdir -p %{buildroot}/%{_lib} mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1 chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_major}-%{DATE}.so.1 ln -sf libgcc_s-%{gcc_major}-%{DATE}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1 +%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 ppc64le %{arm} +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. */ +OUTPUT_FORMAT('`gcc -Wl,--print-output-format -nostdlib -r -o /dev/null`') +GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so +%else ln -sf /%{_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. */ +OUTPUT_FORMAT('`gcc -m64 -Wl,--print-output-format -nostdlib -r -o /dev/null`') +GROUP ( /lib64/libgcc_s.so.1 libgcc.a )' > $FULLPATH/64/libgcc_s.so +%else ln -sf /lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so %endif +%endif %ifarch %{multilib_64_archs} +%ifarch x86_64 ppc64 ppc64p7 +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. */ +OUTPUT_FORMAT('`gcc -m32 -Wl,--print-output-format -nostdlib -r -o /dev/null`') +GROUP ( /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 %endif -%ifarch ppc -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. */ -OUTPUT_FORMAT(elf32-powerpc) -GROUP ( /lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so -%endif -%ifarch ppc64 ppc64p7 -rm -f $FULLPATH/32/libgcc_s.so -echo '/* GNU ld script - Use the shared library, but some functions are only in - the static library, so try that secondarily. */ -OUTPUT_FORMAT(elf32-powerpc) -GROUP ( /lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/32/libgcc_s.so -%endif -%ifarch %{arm} -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. */ -OUTPUT_FORMAT(elf32-littlearm) -GROUP ( /lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so %endif mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/ @@ -1908,7 +1903,7 @@ echo gcc-%{version}-%{release}.%{_arch} > $FULLPATH/rpmver cd obj-%{gcc_target_platform} # run the tests. -make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ \ +LC_ALL=C make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ \ %if 0%{?fedora} >= 20 || 0%{?rhel} > 7 RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector-strong}'" || : %else @@ -2986,6 +2981,104 @@ end %endif %changelog +* Wed Mar 20 2019 Jakub Jelinek 9.0.1-0.11 +- update from trunk + - PRs c++/63508, c++/85014, c++/85558, c++/88534, c++/88537, c++/88979, + c++/89512, c++/89571, c++/89630, c++/89640, c++/89660, c++/89682, + c++/89686, c++/89709, c++/89761, c/89734, d/87866, d/88957, + debug/88389, debug/89498, debug/89704, fortran/60091, fortran/66695, + fortran/68009, fortran/77746, fortran/79485, fortran/84394, + fortran/87045, fortran/87673, fortran/88008, fortran/89363, + fortran/89364, fortran/89601, fortran/89724, ipa/89684, + libstdc++/89461, lto/87809, lto/89335, middle-end/86979, + middle-end/88588, middle-end/88945, middle-end/89677, + middle-end/89698, middle-end/89737, other/89712, + rtl-optimization/89679, rtl-optimization/89721, + rtl-optimization/89753, rtl-optimization/89768, sanitizer/80953, + target/52726, target/85860, target/87532, target/87561, target/89378, + target/89411, target/89523, target/89627, target/89650, target/89711, + target/89719, target/89726, target/89736, target/89746, target/89752, + testsuite/83453, testsuite/84174, testsuite/89393, testsuite/89471, + testsuite/89666, tree-optimization/89546, tree-optimization/89644, + tree-optimization/89662, tree-optimization/89688, + tree-optimization/89703, tree-optimization/89710, + tree-optimization/89720 +- turn libgcc_s.so into a linker script on i?86, x86_64, ppc64le and also on + ppc and ppc64 for 64-bit multilib (#1688766) + +* Tue Mar 12 2019 Jakub Jelinek 9.0.1-0.10 +- update from trunk + - PRs bootstrap/89656, c++/70349, c++/86521, c++/87571, c++/87750, + c++/89648, c/88568, contrib/82704, d/89041, fortran/66089, + fortran/71544, fortran/84504, fortran/87734, fortran/89639, + fortran/89651, inline-asm/87010, libbacktrace/89669, libstdc++/89460, + libstdc++/89641, middle-end/68733, middle-end/89655, middle-end/89663, + rtl-optimization/89588, testsuite/89472, tree-optimization/85459, + tree-optimization/85762, tree-optimization/87008, + tree-optimization/89649, tree-optimization/89664 +- fix ICE in constexpr loop handling of SAVE_EXPRs (PR c++/89652) +- temporarily revert -Wredundant-move warning false positive + improvement (PR c++/89660) + +* Sat Mar 9 2019 Jakub Jelinek 9.0.1-0.9 +- update from trunk + - PRs bootstrap/89539, bootstrap/89560, c++/22149, c++/63540, c++/71446, + c++/80916, c++/82075, c++/84518, c++/84605, c++/86485, c++/86969, + c++/87068, c++/87148, c++/87378, c++/88049, c++/88123, c++/88183, + c++/88820, c++/88857, c++/89381, c++/89511, c++/89513, c++/89522, + c++/89532, c++/89537, c++/89576, c++/89585, c++/89599, c++/89622, + c/85870, c/89520, c/89521, c/89525, debug/89631, fortran/71203, + fortran/72714, fortran/77583, fortran/89433, fortran/89516, + gcov-profile/89577, go/63560, go/89227, go/89406, ipa/80000, + ipa/88235, libgfortran/89593, libstdc++/86655, libstdc++/88996, + libstdc++/89562, libstdc++/89608, lto/87525, lto/88585, + middle-end/89497, middle-end/89503, middle-end/89541, + middle-end/89572, middle-end/89578, middle-end/89590, + middle-end/89618, other/80058, rtl-optimization/85899, + rtl-optimization/88845, rtl-optimization/89634, sanitizer/88684, + target/68924, target/78782, target/79645, target/79846, target/79926, + target/80003, target/80190, target/85665, target/86952, target/87558, + target/89222, target/89455, target/89506, target/89517, target/89587, + target/89602, testsuite/89441, testsuite/89551, translation/79999, + tree-optimization/89437, tree-optimization/89487, + tree-optimization/89535, tree-optimization/89536, + tree-optimization/89550, tree-optimization/89566, + tree-optimization/89570, tree-optimization/89594, + tree-optimization/89595 +- fix libstdc++ hashing of > 2GB strings (PR libstdc++/89629) + +* Wed Feb 27 2019 Jakub Jelinek 9.0.1-0.8 +- update from trunk + - PRs c++/84585, c++/84676, c++/87685, c++/88294, c++/88394, c++/88419, + c++/88869, c++/88987, c++/89285, c++/89419, c++/89420, c++/89422, + c++/89481, c++/89488, c++/89507, c/77754, c/80409, c/89425, c/89495, + debug/88878, debug/89514, driver/69471, fortran/43210, fortran/72741, + fortran/78027, fortran/83057, fortran/84387, fortran/88117, + fortran/88326, fortran/89174, fortran/89266, fortran/89282, + fortran/89366, fortran/89385, fortran/89431, fortran/89492, + fortran/89496, go/89170, libfortran/89274, libstdc++/89446, + libstdc++/89466, libstdc++/89477, middle-end/85598, middle-end/87609, + rtl-optimization/86096, rtl-optimization/87761, + rtl-optimization/89445, target/87007, target/88530, target/89324, + target/89338, target/89339, target/89434, target/89438, target/89444, + target/89474, testsuite/89476, tree-optimization/87609, + tree-optimization/88853, tree-optimization/88993, + tree-optimization/89280, tree-optimization/89440, + tree-optimization/89489, tree-optimization/89500, + tree-optimization/89505 +- improve arm and aarch64 casesi (PR target/70341) +- don't use section anchors block infrastructure for mergeable section + data (PR rtl-optimization/89490) + +* Thu Feb 21 2019 Jakub Jelinek 9.0.1-0.7 +- update from trunk + - PRs c++/84536, c++/87513, c++/87921, c++/88368, c++/88380, c++/88572, + c++/88690, c++/89403, c++/89405, c/89410, fortran/86119, + fortran/89384, hsa/89302, libstdc++/89402, libstdc++/89416, + middle-end/89091, middle-end/89392, middle-end/89412, + middle-end/89415, sanitizer/89409, target/86487, target/87412, + target/88100 + * Tue Feb 19 2019 Jakub Jelinek 9.0.1-0.6 - update from trunk - PRs c++/88680, c++/89217, c++/89315, c++/89336, c++/89356, c++/89383, diff --git a/gcc9-pr88714.patch b/gcc9-pr88714.patch deleted file mode 100644 index fddbf38..0000000 --- a/gcc9-pr88714.patch +++ /dev/null @@ -1,39 +0,0 @@ -2019-02-18 Jakub Jelinek - - PR bootstrap/88714 - * constraints.md (q): Remove. - * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use rk constraint - instead of q. - ---- gcc/config/arm/constraints.md.jj 2019-01-01 12:37:27.032812929 +0100 -+++ gcc/config/arm/constraints.md 2019-02-18 20:18:51.816941795 +0100 -@@ -90,9 +90,6 @@ (define_constraint "PJ" - (define_register_constraint "k" "STACK_REG" - "@internal The stack register.") - --(define_register_constraint "q" "(TARGET_ARM && TARGET_LDRD) ? CORE_REGS : GENERAL_REGS" -- "@internal In ARM state with LDRD support, core registers, otherwise general registers.") -- - (define_register_constraint "b" "TARGET_THUMB ? BASE_REGS : NO_REGS" - "@internal - Thumb only. The union of the low registers and the stack register.") ---- gcc/config/arm/ldrdstrd.md.jj 2019-02-18 20:19:34.976233961 +0100 -+++ gcc/config/arm/ldrdstrd.md 2019-02-18 20:19:54.555912842 +0100 -@@ -159,7 +159,7 @@ (define_peephole2 ; swap the destination - (define_insn "*arm_ldrd" - [(parallel [(set (match_operand:SI 0 "s_register_operand" "=r") - (match_operand:SI 2 "memory_operand" "m")) -- (set (match_operand:SI 1 "s_register_operand" "=q") -+ (set (match_operand:SI 1 "s_register_operand" "=rk") - (match_operand:SI 3 "memory_operand" "m"))])] - "TARGET_LDRD && TARGET_ARM && reload_completed - && valid_operands_ldrd_strd (operands, true)" -@@ -180,7 +180,7 @@ (define_insn "*arm_strd" - [(parallel [(set (match_operand:SI 2 "memory_operand" "=m") - (match_operand:SI 0 "s_register_operand" "r")) - (set (match_operand:SI 3 "memory_operand" "=m") -- (match_operand:SI 1 "s_register_operand" "q"))])] -+ (match_operand:SI 1 "s_register_operand" "rk"))])] - "TARGET_LDRD && TARGET_ARM && reload_completed - && valid_operands_ldrd_strd (operands, false)" - { diff --git a/gcc9-pr89014.patch b/gcc9-pr89014.patch deleted file mode 100644 index 6720ec9..0000000 --- a/gcc9-pr89014.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- gcc/config/aarch64/aarch64-option-extensions.def -+++ gcc/config/aarch64/aarch64-option-extensions.def -@@ -43,7 +43,8 @@ - the extension (for example, the 'crypto' extension depends on four - entries: aes, pmull, sha1, sha2 being present). In that case this field - should contain a space (" ") separated list of the strings in 'Features' -- that are required. Their order is not important. */ -+ that are required. Their order is not important. An empty string means -+ do not detect this feature during auto detection. */ - - /* Enabling "fp" just enables "fp". - Disabling "fp" also disables "simd", "crypto", "fp16", "aes", "sha2", ---- gcc/config/aarch64/driver-aarch64.c -+++ gcc/config/aarch64/driver-aarch64.c -@@ -253,6 +253,12 @@ host_detect_local_cpu (int argc, const char **argv) - char *p = NULL; - char *feat_string - = concat (aarch64_extensions[i].feat_string, NULL); -+ -+ /* If the feature contains no HWCAPS string then ignore it for the -+ auto detection. */ -+ if (strlen (feat_string) == 0) -+ continue; -+ - bool enabled = true; - - /* This may be a multi-token feature string. We need ---- gcc/testsuite/gcc.target/aarch64/options_set_10.c -+++ gcc/testsuite/gcc.target/aarch64/options_set_10.c -@@ -0,0 +1,11 @@ -+/* { dg-do compile { target "aarch64*-*-linux*" } } */ -+/* { dg-additional-options "-mcpu=native" } */ -+ -+int main () -+{ -+ return 0; -+} -+ -+/* { dg-final { scan-assembler-not {\.arch .+\+profile.*} } } */ -+ -+ /* Check that an empty feature string is not detected during mcpu=native. */ - diff --git a/gcc9-pr89093.patch b/gcc9-pr89093.patch index 78957e3..4ec2c06 100644 --- a/gcc9-pr89093.patch +++ b/gcc9-pr89093.patch @@ -55,15 +55,19 @@ --- gcc/config/arm/arm.c +++ gcc/config/arm/arm.c -@@ -3759,8 +3759,6 @@ arm_options_perform_arch_sanity_checks (void) +@@ -3761,11 +3761,7 @@ arm_options_perform_arch_sanity_checks ( + if (arm_abi == ARM_ABI_IWMMXT) + arm_pcs_default = ARM_PCS_AAPCS_IWMMXT; else if (TARGET_HARD_FLOAT_ABI) - { - arm_pcs_default = ARM_PCS_AAPCS_VFP; +- { +- arm_pcs_default = ARM_PCS_AAPCS_VFP; - if (!bitmap_bit_p (arm_active_target.isa, isa_bit_vfpv2)) -- error ("-mfloat-abi=hard: selected processor lacks an FPU"); - } +- error ("%<-mfloat-abi=hard%>: selected processor lacks an FPU"); +- } ++ arm_pcs_default = ARM_PCS_AAPCS_VFP; else arm_pcs_default = ARM_PCS_AAPCS; + } --- libgcc/config/arm/pr-support.c +++ libgcc/config/arm/pr-support.c @@ -21,6 +21,8 @@ diff --git a/gcc9-pr89402.patch b/gcc9-pr89402.patch deleted file mode 100644 index a8fc080..0000000 --- a/gcc9-pr89402.patch +++ /dev/null @@ -1,16 +0,0 @@ -2019-02-19 Jakub Jelinek - - PR libstdc++/89402 - * src/c++98/compatibility-ldbl.cc (_ZNKSt4hashIeEclEe): Add - _GLIBCXX_PURE to the alias declaration. - ---- libstdc++-v3/src/c++98/compatibility-ldbl.cc.jj 2019-01-01 12:39:41.530606161 +0100 -+++ libstdc++-v3/src/c++98/compatibility-ldbl.cc 2019-02-19 16:12:52.402123217 +0100 -@@ -75,6 +75,6 @@ namespace std _GLIBCXX_VISIBILITY(defaul - // and std::hash::operator() - // are the same, no need to duplicate them. - extern "C" void _ZNKSt4hashIeEclEe (void) -- __attribute__((alias ("_ZNKSt3tr14hashIeEclEe"))); -+ _GLIBCXX_PURE __attribute__((alias ("_ZNKSt3tr14hashIeEclEe"))); - - #endif diff --git a/gcc9-s390x-bootstrap-fix.patch b/gcc9-s390x-bootstrap-fix.patch deleted file mode 100644 index f010d99..0000000 --- a/gcc9-s390x-bootstrap-fix.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- libgo/go/internal/cpu/cpu_gccgo.c.jj 2019-02-16 07:57:27.882179972 +0100 -+++ libgo/go/internal/cpu/cpu_gccgo.c 2019-02-16 08:36:37.241900882 +0100 -@@ -71,7 +71,7 @@ struct xgetbv_ret xgetbv(void) { - - #endif /* defined(__i386__) || defined(__x86_64__) */ - --#ifdef __s390__ -+#ifdef __s390x__ - - struct facilityList { - uint64_t bits[4]; -@@ -184,4 +184,4 @@ struct queryResult klmdQuery() { - return ret; - } - --#endif /* defined(__s390__) */ -+#endif /* defined(__s390x__) */ diff --git a/sources b/sources index c51b1c7..298fab6 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (gcc-9.0.1-20190219.tar.xz) = 5c4b8f38bc87c19337cb4b7fdbc4910eefabc43f06f4224087f7b4879750722a0b508cd214f0ac880c23ed8f8deb803442cbbe1e7ea6f8f24c6a6365e8d0a1a7 +SHA512 (gcc-9.0.1-20190320.tar.xz) = 20ca885e0afca0470142113271d47eed2876dd778c308f72c9fea86b58a69ab798a8b3b398f240b49a41907adb47446ba087171b75f079597bad3d4348436e18 SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04 SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1