import gcc-toolset-12-gcc-12.2.1-7.4.el9
This commit is contained in:
parent
78a46c0860
commit
2c8c7edede
@ -1,8 +1,8 @@
|
|||||||
7f4348418dc3efefd357b32a2b5c8010211ab284 SOURCES/doxygen-1.8.0.src.tar.gz
|
7f4348418dc3efefd357b32a2b5c8010211ab284 SOURCES/doxygen-1.8.0.src.tar.gz
|
||||||
b745356ea1afec83ef254a5b1ce8bdf9e4eb69c8 SOURCES/gcc-12.1.1-20220628.tar.xz
|
ecaedb16188931aa35d627f2edb28dbab5f8f3c1 SOURCES/gcc-12.2.1-20221121.tar.xz
|
||||||
db38c7b67f8eea9f2e5b8a48d219165b2fdab11f SOURCES/gmp-6.1.0.tar.bz2
|
db38c7b67f8eea9f2e5b8a48d219165b2fdab11f SOURCES/gmp-6.1.0.tar.bz2
|
||||||
bbffc5a2b05e4f0c97e882f96c448504491dc4ed SOURCES/isl-0.18.tar.bz2
|
ae5fbb33bcb442121fbbf482a93f6b3c84d489ee SOURCES/isl-0.24.tar.bz2
|
||||||
b8be66396c726fdc36ebb0f692ed8a8cca3bcc66 SOURCES/mpc-1.0.3.tar.gz
|
b8be66396c726fdc36ebb0f692ed8a8cca3bcc66 SOURCES/mpc-1.0.3.tar.gz
|
||||||
e3b0af77f18505184410d621fe0aae179e229dba SOURCES/mpfr-3.1.4.tar.bz2
|
e3b0af77f18505184410d621fe0aae179e229dba SOURCES/mpfr-3.1.4.tar.bz2
|
||||||
6ec33952e824e837fef0e829c93d39d6a507082f SOURCES/newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz
|
1923f9401ce16ce5b818c104e3b09b0bdbb15606 SOURCES/newlib-cygwin-a8526cb52bedabd4d6ba4b227a5185627f871aa1.tar.xz
|
||||||
0e0c6f8d68ab0878f02287ac082c1077c831cd81 SOURCES/nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz
|
ea865cf7e6834b88a8f8aee22b7a7065813ccc99 SOURCES/nvptx-tools-472b6e78b3ba918d727698f79911360b7c808247.tar.xz
|
||||||
|
8
.gitignore
vendored
8
.gitignore
vendored
@ -1,8 +1,8 @@
|
|||||||
SOURCES/doxygen-1.8.0.src.tar.gz
|
SOURCES/doxygen-1.8.0.src.tar.gz
|
||||||
SOURCES/gcc-12.1.1-20220628.tar.xz
|
SOURCES/gcc-12.2.1-20221121.tar.xz
|
||||||
SOURCES/gmp-6.1.0.tar.bz2
|
SOURCES/gmp-6.1.0.tar.bz2
|
||||||
SOURCES/isl-0.18.tar.bz2
|
SOURCES/isl-0.24.tar.bz2
|
||||||
SOURCES/mpc-1.0.3.tar.gz
|
SOURCES/mpc-1.0.3.tar.gz
|
||||||
SOURCES/mpfr-3.1.4.tar.bz2
|
SOURCES/mpfr-3.1.4.tar.bz2
|
||||||
SOURCES/newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz
|
SOURCES/newlib-cygwin-a8526cb52bedabd4d6ba4b227a5185627f871aa1.tar.xz
|
||||||
SOURCES/nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz
|
SOURCES/nvptx-tools-472b6e78b3ba918d727698f79911360b7c808247.tar.xz
|
||||||
|
@ -11,3 +11,16 @@ index 47f97dcb636..66f07aaa749 100644
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
diff --git a/gcc/testsuite/g++.dg/torture/pr106922.C b/gcc/testsuite/g++.dg/torture/pr106922.C
|
||||||
|
index 046fc6cce76..4214a31f276 100644
|
||||||
|
--- a/gcc/testsuite/g++.dg/torture/pr106922.C
|
||||||
|
+++ b/gcc/testsuite/g++.dg/torture/pr106922.C
|
||||||
|
@@ -4,6 +4,8 @@
|
||||||
|
// -O1 doesn't iterate VN and thus has bogus uninit diagnostics
|
||||||
|
// { dg-skip-if "" { *-*-* } { "-O1" } { "" } }
|
||||||
|
|
||||||
|
+#define _GLIBCXX_USE_CXX11_ABI 1
|
||||||
|
+
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include <optional>
|
||||||
|
29
SOURCES/gcc12-FMA-chains.patch
Normal file
29
SOURCES/gcc12-FMA-chains.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
commit 8ac76d504ee1216ebffab08463a544d691d85112
|
||||||
|
Author: Hongyu Wang <hongyu.wang@intel.com>
|
||||||
|
Date: Tue Dec 6 09:53:35 2022 +0800
|
||||||
|
|
||||||
|
i386: Avoid fma_chain for -march=alderlake and sapphirerapids.
|
||||||
|
|
||||||
|
For Alderlake there is similar issue like PR81616, enable
|
||||||
|
avoid_fma256_chain will also benefit on Intel latest platforms
|
||||||
|
Alderlake and Sapphire Rapids.
|
||||||
|
|
||||||
|
gcc/ChangeLog:
|
||||||
|
|
||||||
|
* config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add
|
||||||
|
m_SAPPHIRERAPIDS, m_ALDERLAKE.
|
||||||
|
|
||||||
|
diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def
|
||||||
|
index d983e2f6213..1e1b206a71c 100644
|
||||||
|
--- a/gcc/config/i386/x86-tune.def
|
||||||
|
+++ b/gcc/config/i386/x86-tune.def
|
||||||
|
@@ -485,7 +485,8 @@ DEF_TUNE (X86_TUNE_AVOID_128FMA_CHAINS, "avoid_fma_chains", m_ZNVER)
|
||||||
|
|
||||||
|
/* X86_TUNE_AVOID_256FMA_CHAINS: Avoid creating loops with tight 256bit or
|
||||||
|
smaller FMA chain. */
|
||||||
|
-DEF_TUNE (X86_TUNE_AVOID_256FMA_CHAINS, "avoid_fma256_chains", m_ZNVER2 | m_ZNVER3)
|
||||||
|
+DEF_TUNE (X86_TUNE_AVOID_256FMA_CHAINS, "avoid_fma256_chains", m_ZNVER2 | m_ZNVER3
|
||||||
|
+ | m_ALDERLAKE | m_SAPPHIRERAPIDS)
|
||||||
|
|
||||||
|
/* X86_TUNE_V2DF_REDUCTION_PREFER_PHADDPD: Prefer haddpd
|
||||||
|
for v2df vector reduction. */
|
@ -1,78 +0,0 @@
|
|||||||
commit d644dfe36d9733c767af62d37250253ced6efd8c
|
|
||||||
Author: Cui,Lili <lili.cui@intel.com>
|
|
||||||
Date: Mon Nov 7 11:25:41 2022 +0800
|
|
||||||
|
|
||||||
Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
|
|
||||||
|
|
||||||
gcc/ChangeLog:
|
|
||||||
|
|
||||||
* config/i386/driver-i386.cc (host_detect_local_cpu):
|
|
||||||
Move sapphirerapids out of AVX512_VP2INTERSECT.
|
|
||||||
* config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
|
|
||||||
* doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
|
|
||||||
|
|
||||||
(cherry picked from commit d644dfe36d9733c767af62d37250253ced6efd8c)
|
|
||||||
|
|
||||||
diff --git a/gcc/config/i386/driver-i386.cc b/gcc/config/i386/driver-i386.cc
|
|
||||||
index 9e0ae0b2baa..fcf23fd921d 100644
|
|
||||||
--- a/gcc/config/i386/driver-i386.cc
|
|
||||||
+++ b/gcc/config/i386/driver-i386.cc
|
|
||||||
@@ -574,15 +574,12 @@ const char *host_detect_local_cpu (int argc, const char **argv)
|
|
||||||
/* This is unknown family 0x6 CPU. */
|
|
||||||
if (has_feature (FEATURE_AVX))
|
|
||||||
{
|
|
||||||
+ /* Assume Tiger Lake */
|
|
||||||
if (has_feature (FEATURE_AVX512VP2INTERSECT))
|
|
||||||
- {
|
|
||||||
- if (has_feature (FEATURE_TSXLDTRK))
|
|
||||||
- /* Assume Sapphire Rapids. */
|
|
||||||
- cpu = "sapphirerapids";
|
|
||||||
- else
|
|
||||||
- /* Assume Tiger Lake */
|
|
||||||
- cpu = "tigerlake";
|
|
||||||
- }
|
|
||||||
+ cpu = "tigerlake";
|
|
||||||
+ /* Assume Sapphire Rapids. */
|
|
||||||
+ else if (has_feature (FEATURE_TSXLDTRK))
|
|
||||||
+ cpu = "sapphirerapids";
|
|
||||||
/* Assume Cooper Lake */
|
|
||||||
else if (has_feature (FEATURE_AVX512BF16))
|
|
||||||
cpu = "cooperlake";
|
|
||||||
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
|
|
||||||
index 363082ba47b..a61c32b8957 100644
|
|
||||||
--- a/gcc/config/i386/i386.h
|
|
||||||
+++ b/gcc/config/i386/i386.h
|
|
||||||
@@ -2328,10 +2328,9 @@ constexpr wide_int_bitmask PTA_ICELAKE_SERVER = PTA_ICELAKE_CLIENT
|
|
||||||
constexpr wide_int_bitmask PTA_TIGERLAKE = PTA_ICELAKE_CLIENT | PTA_MOVDIRI
|
|
||||||
| PTA_MOVDIR64B | PTA_CLWB | PTA_AVX512VP2INTERSECT | PTA_KL | PTA_WIDEKL;
|
|
||||||
constexpr wide_int_bitmask PTA_SAPPHIRERAPIDS = PTA_ICELAKE_SERVER | PTA_MOVDIRI
|
|
||||||
- | PTA_MOVDIR64B | PTA_AVX512VP2INTERSECT | PTA_ENQCMD | PTA_CLDEMOTE
|
|
||||||
- | PTA_PTWRITE | PTA_WAITPKG | PTA_SERIALIZE | PTA_TSXLDTRK | PTA_AMX_TILE
|
|
||||||
- | PTA_AMX_INT8 | PTA_AMX_BF16 | PTA_UINTR | PTA_AVXVNNI | PTA_AVX512FP16
|
|
||||||
- | PTA_AVX512BF16;
|
|
||||||
+ | PTA_MOVDIR64B | PTA_ENQCMD | PTA_CLDEMOTE | PTA_PTWRITE | PTA_WAITPKG
|
|
||||||
+ | PTA_SERIALIZE | PTA_TSXLDTRK | PTA_AMX_TILE | PTA_AMX_INT8 | PTA_AMX_BF16
|
|
||||||
+ | PTA_UINTR | PTA_AVXVNNI | PTA_AVX512FP16 | PTA_AVX512BF16;
|
|
||||||
constexpr wide_int_bitmask PTA_KNL = PTA_BROADWELL | PTA_AVX512PF
|
|
||||||
| PTA_AVX512ER | PTA_AVX512F | PTA_AVX512CD | PTA_PREFETCHWT1;
|
|
||||||
constexpr wide_int_bitmask PTA_BONNELL = PTA_CORE2 | PTA_MOVBE;
|
|
||||||
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
|
|
||||||
index 3749e06f13e..cee057a70bf 100644
|
|
||||||
--- a/gcc/doc/invoke.texi
|
|
||||||
+++ b/gcc/doc/invoke.texi
|
|
||||||
@@ -31541,11 +31541,11 @@ Intel sapphirerapids CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3,
|
|
||||||
SSSE3, SSE4.1, SSE4.2, POPCNT, CX16, SAHF, FXSR, AVX, XSAVE, PCLMUL, FSGSBASE,
|
|
||||||
RDRND, F16C, AVX2, BMI, BMI2, LZCNT, FMA, MOVBE, HLE, RDSEED, ADCX, PREFETCHW,
|
|
||||||
AES, CLFLUSHOPT, XSAVEC, XSAVES, SGX, AVX512F, AVX512VL, AVX512BW, AVX512DQ,
|
|
||||||
-AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2
|
|
||||||
+AVX512CD, PKU, AVX512VBMI, AVX512IFMA, SHA, AVX512VNNI, GFNI, VAES, AVX512VBMI2,
|
|
||||||
VPCLMULQDQ, AVX512BITALG, RDPID, AVX512VPOPCNTDQ, PCONFIG, WBNOINVD, CLWB,
|
|
||||||
-MOVDIRI, MOVDIR64B, AVX512VP2INTERSECT, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG,
|
|
||||||
-SERIALIZE, TSXLDTRK, UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512FP16
|
|
||||||
-and AVX512BF16 instruction set support.
|
|
||||||
+MOVDIRI, MOVDIR64B, ENQCMD, CLDEMOTE, PTWRITE, WAITPKG, SERIALIZE, TSXLDTRK,
|
|
||||||
+UINTR, AMX-BF16, AMX-TILE, AMX-INT8, AVX-VNNI, AVX512FP16 and AVX512BF16
|
|
||||||
+instruction set support.
|
|
||||||
|
|
||||||
@item alderlake
|
|
||||||
Intel Alderlake CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3,
|
|
@ -1,13 +1,3 @@
|
|||||||
--- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-2.c
|
|
||||||
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-2.c
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
/* { dg-additional-options "--param openacc-kernels=decompose" } */
|
|
||||||
|
|
||||||
-/* { dg-additional-options "-fchecking" }
|
|
||||||
+/* { dg-additional-options "-fchecking -fno-report-bug" }
|
|
||||||
{ dg-ice TODO { c++ } }
|
|
||||||
{ dg-prune-output "during GIMPLE pass: omp_oacc_kernels_decompose" } */
|
|
||||||
|
|
||||||
--- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-3.c
|
--- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-3.c
|
||||||
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-3.c
|
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-pr100400-1-3.c
|
||||||
@@ -1,6 +1,6 @@
|
@@ -1,6 +1,6 @@
|
||||||
|
@ -26,17 +26,17 @@ diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt
|
|||||||
index 4a269ebb22d..d886c2f33ed 100644
|
index 4a269ebb22d..d886c2f33ed 100644
|
||||||
--- a/gcc/fortran/lang.opt
|
--- a/gcc/fortran/lang.opt
|
||||||
+++ b/gcc/fortran/lang.opt
|
+++ b/gcc/fortran/lang.opt
|
||||||
@@ -502,6 +502,10 @@ fdec-math
|
@@ -506,6 +506,10 @@ fdec-override-kind
|
||||||
Fortran Var(flag_dec_math)
|
Fortran Var(flag_dec_override_kind)
|
||||||
Enable legacy math intrinsics for compatibility.
|
Enable support for per variable kind specification.
|
||||||
|
|
||||||
+fdec-non-logical-if
|
+fdec-non-logical-if
|
||||||
+Fortran Var(flag_dec_non_logical_if)
|
+Fortran Var(flag_dec_non_logical_if)
|
||||||
+Enable support for non-logical expressions in if statements.
|
+Enable support for non-logical expressions in if statements.
|
||||||
+
|
+
|
||||||
fdec-override-kind
|
fdec-structure
|
||||||
Fortran Var(flag_dec_override_kind)
|
Fortran Var(flag_dec_structure)
|
||||||
Enable support for per variable kind specification.
|
Enable support for DEC STRUCTURE/RECORD.
|
||||||
diff --git a/gcc/fortran/options.cc b/gcc/fortran/options.cc
|
diff --git a/gcc/fortran/options.cc b/gcc/fortran/options.cc
|
||||||
index edbab483b36..a946c86790a 100644
|
index edbab483b36..a946c86790a 100644
|
||||||
--- a/gcc/fortran/options.cc
|
--- a/gcc/fortran/options.cc
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
# Generate header and source files from the machine description,
|
# Generate header and source files from the machine description,
|
||||||
# and compile them.
|
# and compile them.
|
||||||
--- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100
|
--- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100
|
||||||
+++ gcc/graphite.h 2016-01-27 13:26:38.309876856 +0100
|
+++ gcc/graphite.h 2022-11-03 19:14:50.369690720 +0100
|
||||||
@@ -24,6 +24,591 @@ along with GCC; see the file COPYING3.
|
@@ -24,6 +24,591 @@ along with GCC; see the file COPYING3.
|
||||||
|
|
||||||
#include "sese.h"
|
#include "sese.h"
|
||||||
@ -41,15 +41,15 @@
|
|||||||
+ DYNSYM (isl_aff_set_coefficient_si); \
|
+ DYNSYM (isl_aff_set_coefficient_si); \
|
||||||
+ DYNSYM (isl_aff_set_constant_si); \
|
+ DYNSYM (isl_aff_set_constant_si); \
|
||||||
+ DYNSYM (isl_aff_zero_on_domain); \
|
+ DYNSYM (isl_aff_zero_on_domain); \
|
||||||
+ DYNSYM (isl_band_free); \
|
+ /* DYNSYM (isl_band_free); */ \
|
||||||
+ DYNSYM (isl_band_get_children); \
|
+ /* DYNSYM (isl_band_get_children); */ \
|
||||||
+ DYNSYM (isl_band_get_partial_schedule); \
|
+ /* DYNSYM (isl_band_get_partial_schedule); */ \
|
||||||
+ DYNSYM (isl_band_has_children); \
|
+ /* DYNSYM (isl_band_has_children); */ \
|
||||||
+ DYNSYM (isl_band_list_free); \
|
+ /* DYNSYM (isl_band_list_free); */ \
|
||||||
+ DYNSYM (isl_band_list_get_band); \
|
+ /* DYNSYM (isl_band_list_get_band); */ \
|
||||||
+ DYNSYM (isl_band_list_get_ctx); \
|
+ /* DYNSYM (isl_band_list_get_ctx); */ \
|
||||||
+ DYNSYM (isl_band_list_n_band); \
|
+ /* DYNSYM (isl_band_list_n_band); */ \
|
||||||
+ DYNSYM (isl_band_n_member); \
|
+ /* DYNSYM (isl_band_n_member); */ \
|
||||||
+ DYNSYM (isl_basic_map_add_constraint); \
|
+ DYNSYM (isl_basic_map_add_constraint); \
|
||||||
+ DYNSYM (isl_basic_map_project_out); \
|
+ DYNSYM (isl_basic_map_project_out); \
|
||||||
+ DYNSYM (isl_basic_map_universe); \
|
+ DYNSYM (isl_basic_map_universe); \
|
||||||
@ -91,7 +91,7 @@
|
|||||||
+ DYNSYM (isl_map_is_empty); \
|
+ DYNSYM (isl_map_is_empty); \
|
||||||
+ DYNSYM (isl_map_lex_ge); \
|
+ DYNSYM (isl_map_lex_ge); \
|
||||||
+ DYNSYM (isl_map_lex_le); \
|
+ DYNSYM (isl_map_lex_le); \
|
||||||
+ DYNSYM (isl_map_n_out); \
|
+ /* DYNSYM (isl_map_n_out); */ \
|
||||||
+ DYNSYM (isl_map_range); \
|
+ DYNSYM (isl_map_range); \
|
||||||
+ DYNSYM (isl_map_set_tuple_id); \
|
+ DYNSYM (isl_map_set_tuple_id); \
|
||||||
+ DYNSYM (isl_map_universe); \
|
+ DYNSYM (isl_map_universe); \
|
||||||
@ -124,7 +124,7 @@
|
|||||||
+ DYNSYM (isl_pw_aff_sub); \
|
+ DYNSYM (isl_pw_aff_sub); \
|
||||||
+ DYNSYM (isl_pw_aff_zero_set); \
|
+ DYNSYM (isl_pw_aff_zero_set); \
|
||||||
+ DYNSYM (isl_schedule_free); \
|
+ DYNSYM (isl_schedule_free); \
|
||||||
+ DYNSYM (isl_schedule_get_band_forest); \
|
+ /* DYNSYM (isl_schedule_get_band_forest); */ \
|
||||||
+ DYNSYM (isl_set_add_constraint); \
|
+ DYNSYM (isl_set_add_constraint); \
|
||||||
+ DYNSYM (isl_set_add_dims); \
|
+ DYNSYM (isl_set_add_dims); \
|
||||||
+ DYNSYM (isl_set_apply); \
|
+ DYNSYM (isl_set_apply); \
|
||||||
@ -641,7 +641,7 @@
|
|||||||
+
|
+
|
||||||
+ if (isl_pointers__.inited)
|
+ if (isl_pointers__.inited)
|
||||||
+ return isl_pointers__.h != NULL;
|
+ return isl_pointers__.h != NULL;
|
||||||
+ h = dlopen ("libisl.so.15", RTLD_LAZY);
|
+ h = dlopen ("libisl.so.23", RTLD_LAZY);
|
||||||
+ isl_pointers__.h = h;
|
+ isl_pointers__.h = h;
|
||||||
+ if (h == NULL)
|
+ if (h == NULL)
|
||||||
+ return false;
|
+ return false;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
* toplev.cc (toplev_main_argv): New variable.
|
* toplev.cc (toplev_main_argv): New variable.
|
||||||
(toplev_main): Initialize it.
|
(toplev_main): Initialize it.
|
||||||
* graphite.cc (init_isl_pointers): Load libisl.so.15 from gcc's private
|
* graphite.cc (init_isl_pointers): Load libisl.so.23 from gcc's private
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
--- gcc/toplev.cc.jj 2008-12-09 23:59:10.000000000 +0100
|
--- gcc/toplev.cc.jj 2008-12-09 23:59:10.000000000 +0100
|
||||||
@ -39,12 +39,12 @@
|
|||||||
|
|
||||||
if (isl_pointers__.inited)
|
if (isl_pointers__.inited)
|
||||||
return isl_pointers__.h != NULL;
|
return isl_pointers__.h != NULL;
|
||||||
- h = dlopen ("libisl.so.15", RTLD_LAZY);
|
- h = dlopen ("libisl.so.23", RTLD_LAZY);
|
||||||
+ len = progname - toplev_main_argv[0];
|
+ len = progname - toplev_main_argv[0];
|
||||||
+ buf = XALLOCAVAR (char, len + sizeof "libisl.so.15");
|
+ buf = XALLOCAVAR (char, len + sizeof "libisl.so.23");
|
||||||
+ memcpy (buf, toplev_main_argv[0], len);
|
+ memcpy (buf, toplev_main_argv[0], len);
|
||||||
+ strcpy (buf + len, "libisl.so.15");
|
+ strcpy (buf + len, "libisl.so.23");
|
||||||
+ len += sizeof "libisl.so.15";
|
+ len += sizeof "libisl.so.23";
|
||||||
+ p = strstr (buf, "/libexec/");
|
+ p = strstr (buf, "/libexec/");
|
||||||
+ if (p != NULL)
|
+ if (p != NULL)
|
||||||
+ {
|
+ {
|
||||||
@ -61,7 +61,7 @@
|
|||||||
+ {
|
+ {
|
||||||
+ len = progname - toplev_main_argv[0];
|
+ len = progname - toplev_main_argv[0];
|
||||||
+ memcpy (buf, toplev_main_argv[0], len);
|
+ memcpy (buf, toplev_main_argv[0], len);
|
||||||
+ strcpy (buf + len, "libisl.so.15");
|
+ strcpy (buf + len, "libisl.so.23");
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ if (h == NULL)
|
+ if (h == NULL)
|
||||||
|
@ -11348,7 +11348,7 @@
|
|||||||
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEmmPKcm");
|
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEmmPKcm");
|
||||||
+#endif
|
+#endif
|
||||||
+#if defined(__s390x__) || defined(__powerpc64__)
|
+#if defined(__s390x__) || defined(__powerpc64__)
|
||||||
+asm (".hidden _ZSt10from_charsPKcS0_RgSt12chars_format");
|
+//asm (".hidden _ZSt10from_charsPKcS0_RgSt12chars_format");
|
||||||
+#endif
|
+#endif
|
||||||
+#if !defined(__i386__)
|
+#if !defined(__i386__)
|
||||||
+asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i");
|
+asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i");
|
||||||
@ -11446,7 +11446,7 @@
|
|||||||
+#endif
|
+#endif
|
||||||
--- libstdc++-v3/src/nonshared17/cow-fs_path.cc.jj 2022-05-12 10:06:51.403502355 +0200
|
--- libstdc++-v3/src/nonshared17/cow-fs_path.cc.jj 2022-05-12 10:06:51.403502355 +0200
|
||||||
+++ libstdc++-v3/src/nonshared17/cow-fs_path.cc 2022-05-12 17:51:19.637951045 +0200
|
+++ libstdc++-v3/src/nonshared17/cow-fs_path.cc 2022-05-12 17:51:19.637951045 +0200
|
||||||
@@ -0,0 +1,117 @@
|
@@ -0,0 +1,129 @@
|
||||||
+// Copyright (C) 2019-2022 Free Software Foundation, Inc.
|
+// Copyright (C) 2019-2022 Free Software Foundation, Inc.
|
||||||
+//
|
+//
|
||||||
+// This file is part of the GNU ISO C++ Library. This library is free
|
+// This file is part of the GNU ISO C++ Library. This library is free
|
||||||
@ -11520,12 +11520,12 @@
|
|||||||
+asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev");
|
+asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev");
|
||||||
+asm (".hidden _ZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_");
|
+asm (".hidden _ZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_");
|
||||||
+asm (".hidden _ZNSt10filesystem8__detail24__throw_conversion_errorEv");
|
+asm (".hidden _ZNSt10filesystem8__detail24__throw_conversion_errorEv");
|
||||||
+asm (".hidden _ZTIZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_E5_UCvt");
|
+//asm (".hidden _ZTIZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_E5_UCvt");
|
||||||
+asm (".hidden _ZTSZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_E5_UCvt");
|
+//asm (".hidden _ZTSZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_E5_UCvt");
|
||||||
+asm (".hidden _ZTVZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_E5_UCvt");
|
+//asm (".hidden _ZTVZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_E5_UCvt");
|
||||||
+asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD0Ev");
|
+//asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD0Ev");
|
||||||
+asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD1Ev");
|
+//asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD1Ev");
|
||||||
+asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD2Ev");
|
+//asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD2Ev");
|
||||||
+asm (".hidden _ZNKSt10filesystem4path5_List5_Impl4copyEv");
|
+asm (".hidden _ZNKSt10filesystem4path5_List5_Impl4copyEv");
|
||||||
+asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv");
|
+asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv");
|
||||||
+asm (".hidden _ZNSs12_M_leak_hardEv");
|
+asm (".hidden _ZNSs12_M_leak_hardEv");
|
||||||
@ -11564,6 +11564,18 @@
|
|||||||
+asm (".hidden _ZSt16__do_str_codecvtISbIwSt11char_traitsIwESaIwEEcSt7codecvtIwc11__mbstate_tES5_MS6_KFNSt12codecvt_base6resultERS5_PKcSB_RSB_PwSD_RSD_EEbPKT0_SJ_RT_RKT1_RT2_RjT3_");
|
+asm (".hidden _ZSt16__do_str_codecvtISbIwSt11char_traitsIwESaIwEEcSt7codecvtIwc11__mbstate_tES5_MS6_KFNSt12codecvt_base6resultERS5_PKcSB_RSB_PwSD_RSD_EEbPKT0_SJ_RT_RKT1_RT2_RjT3_");
|
||||||
+asm (".hidden _ZSt16__do_str_codecvtISswSt7codecvtIwc11__mbstate_tES1_MS2_KFNSt12codecvt_base6resultERS1_PKwS7_RS7_PcS9_RS9_EEbPKT0_SF_RT_RKT1_RT2_RjT3_");
|
+asm (".hidden _ZSt16__do_str_codecvtISswSt7codecvtIwc11__mbstate_tES1_MS2_KFNSt12codecvt_base6resultERS1_PKwS7_RS7_PcS9_RS9_EEbPKT0_SF_RT_RKT1_RT2_RjT3_");
|
||||||
+#endif
|
+#endif
|
||||||
|
+asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED0Ev");
|
||||||
|
+asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED1Ev");
|
||||||
|
+asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED2Ev");
|
||||||
|
+asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED0Ev");
|
||||||
|
+asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED1Ev");
|
||||||
|
+asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED2Ev");
|
||||||
|
+asm (".hidden _ZTINSt10filesystem4path8_CodecvtIwEE");
|
||||||
|
+asm (".hidden _ZTISt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
|
||||||
|
+asm (".hidden _ZTSNSt10filesystem4path8_CodecvtIwEE");
|
||||||
|
+asm (".hidden _ZTSSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
|
||||||
|
+asm (".hidden _ZTVNSt10filesystem4path8_CodecvtIwEE");
|
||||||
|
+asm (".hidden _ZTVSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
|
||||||
--- libstdc++-v3/src/nonshared17/memory_resource.cc.jj 2022-05-12 10:06:51.403502355 +0200
|
--- libstdc++-v3/src/nonshared17/memory_resource.cc.jj 2022-05-12 10:06:51.403502355 +0200
|
||||||
+++ libstdc++-v3/src/nonshared17/memory_resource.cc 2022-05-12 10:06:51.403502355 +0200
|
+++ libstdc++-v3/src/nonshared17/memory_resource.cc 2022-05-12 10:06:51.403502355 +0200
|
||||||
@@ -0,0 +1,68 @@
|
@@ -0,0 +1,68 @@
|
||||||
@ -11637,7 +11649,7 @@
|
|||||||
+asm (".hidden _ZNSt22__shared_mutex_pthread6unlockEv");
|
+asm (".hidden _ZNSt22__shared_mutex_pthread6unlockEv");
|
||||||
--- libstdc++-v3/src/nonshared17/fs_dir.cc.jj 2022-05-12 10:06:51.404502342 +0200
|
--- libstdc++-v3/src/nonshared17/fs_dir.cc.jj 2022-05-12 10:06:51.404502342 +0200
|
||||||
+++ libstdc++-v3/src/nonshared17/fs_dir.cc 2022-05-12 17:52:31.745989435 +0200
|
+++ libstdc++-v3/src/nonshared17/fs_dir.cc 2022-05-12 17:52:31.745989435 +0200
|
||||||
@@ -0,0 +1,100 @@
|
@@ -0,0 +1,103 @@
|
||||||
+// Copyright (C) 2019-2022 Free Software Foundation, Inc.
|
+// Copyright (C) 2019-2022 Free Software Foundation, Inc.
|
||||||
+//
|
+//
|
||||||
+// This file is part of the GNU ISO C++ Library. This library is free
|
+// This file is part of the GNU ISO C++ Library. This library is free
|
||||||
@ -11737,7 +11749,10 @@
|
|||||||
+asm (".hidden _ZNKSt10filesystem7__cxx114_Dir11open_subdirEbbRSt10error_code");
|
+asm (".hidden _ZNKSt10filesystem7__cxx114_Dir11open_subdirEbbRSt10error_code");
|
||||||
+asm (".hidden _ZNKSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stack12current_pathEv");
|
+asm (".hidden _ZNKSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stack12current_pathEv");
|
||||||
+asm (".hidden _ZNSt10filesystem7__cxx1128recursive_directory_iterator7__eraseEPSt10error_code");
|
+asm (".hidden _ZNSt10filesystem7__cxx1128recursive_directory_iterator7__eraseEPSt10error_code");
|
||||||
+asm (".hidden _ZNKSt10filesystem7__cxx114_Dir16dir_and_pathnameEv");
|
+//asm (".hidden _ZNKSt10filesystem7__cxx114_Dir16dir_and_pathnameEv");
|
||||||
|
+asm (".hidden _ZNKSt10filesystem7__cxx114_Dir7currentEv");
|
||||||
|
+asm (".hidden _ZNSt10filesystem7__cxx114_DirC1ERKNS0_4pathEbbbRSt10error_code");
|
||||||
|
+asm (".hidden _ZNSt10filesystem7__cxx114_DirC2ERKNS0_4pathEbbbRSt10error_code");
|
||||||
--- libstdc++-v3/src/nonshared17/fs_ops80.cc.jj 2022-05-12 10:06:51.404502342 +0200
|
--- libstdc++-v3/src/nonshared17/fs_ops80.cc.jj 2022-05-12 10:06:51.404502342 +0200
|
||||||
+++ libstdc++-v3/src/nonshared17/fs_ops80.cc 2022-05-12 17:52:52.357714560 +0200
|
+++ libstdc++-v3/src/nonshared17/fs_ops80.cc 2022-05-12 17:52:52.357714560 +0200
|
||||||
@@ -0,0 +1,41 @@
|
@@ -0,0 +1,41 @@
|
||||||
@ -11784,7 +11799,7 @@
|
|||||||
+#endif
|
+#endif
|
||||||
--- libstdc++-v3/src/nonshared17/fs_path80.cc.jj 2022-05-12 10:06:51.404502342 +0200
|
--- libstdc++-v3/src/nonshared17/fs_path80.cc.jj 2022-05-12 10:06:51.404502342 +0200
|
||||||
+++ libstdc++-v3/src/nonshared17/fs_path80.cc 2022-05-12 17:53:21.460326486 +0200
|
+++ libstdc++-v3/src/nonshared17/fs_path80.cc 2022-05-12 17:53:21.460326486 +0200
|
||||||
@@ -0,0 +1,66 @@
|
@@ -0,0 +1,77 @@
|
||||||
+// Copyright (C) 2019-2022 Free Software Foundation, Inc.
|
+// Copyright (C) 2019-2022 Free Software Foundation, Inc.
|
||||||
+//
|
+//
|
||||||
+// This file is part of the GNU ISO C++ Library. This library is free
|
+// This file is part of the GNU ISO C++ Library. This library is free
|
||||||
@ -11810,12 +11825,12 @@
|
|||||||
+#define _GLIBCXX_NONSHARED_CXX17_80
|
+#define _GLIBCXX_NONSHARED_CXX17_80
|
||||||
+#include "fs_path.cc"
|
+#include "fs_path.cc"
|
||||||
+asm (".hidden _ZNSt10filesystem7__cxx118__detail24__throw_conversion_errorEv");
|
+asm (".hidden _ZNSt10filesystem7__cxx118__detail24__throw_conversion_errorEv");
|
||||||
+asm (".hidden _ZTIZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
|
+//asm (".hidden _ZTIZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
|
||||||
+asm (".hidden _ZTSZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
|
+//asm (".hidden _ZTSZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
|
||||||
+asm (".hidden _ZTVZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
|
+//asm (".hidden _ZTVZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
|
||||||
+asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD0Ev");
|
+//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD0Ev");
|
||||||
+asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD1Ev");
|
+//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD1Ev");
|
||||||
+asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD2Ev");
|
+//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD2Ev");
|
||||||
+asm (".hidden _ZNSt12system_errorC1ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE");
|
+asm (".hidden _ZNSt12system_errorC1ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE");
|
||||||
+asm (".hidden _ZNSt12system_errorC2ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE");
|
+asm (".hidden _ZNSt12system_errorC2ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE");
|
||||||
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_");
|
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_");
|
||||||
@ -11832,7 +11847,6 @@
|
|||||||
+#endif
|
+#endif
|
||||||
+#if defined(__aarch64__) || defined(__x86_64__)
|
+#if defined(__aarch64__) || defined(__x86_64__)
|
||||||
+asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm");
|
+asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm");
|
||||||
+asm (".hidden _ZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_");
|
|
||||||
+#endif
|
+#endif
|
||||||
+#ifdef __powerpc64__
|
+#ifdef __powerpc64__
|
||||||
+asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv");
|
+asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv");
|
||||||
@ -11843,7 +11857,6 @@
|
|||||||
+asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv");
|
+asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv");
|
||||||
+#endif
|
+#endif
|
||||||
+#ifdef __i386__
|
+#ifdef __i386__
|
||||||
+asm (".hidden _ZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_");
|
|
||||||
+asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv");
|
+asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv");
|
||||||
+asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv");
|
+asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv");
|
||||||
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj");
|
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj");
|
||||||
@ -11851,9 +11864,22 @@
|
|||||||
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcj");
|
+asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcj");
|
||||||
+asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEjw");
|
+asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEjw");
|
||||||
+#endif
|
+#endif
|
||||||
|
+asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED0Ev");
|
||||||
|
+asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED1Ev");
|
||||||
|
+asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED2Ev");
|
||||||
|
+asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED0Ev");
|
||||||
|
+asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED1Ev");
|
||||||
|
+asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED2Ev");
|
||||||
|
+asm (".hidden _ZTINSt10filesystem7__cxx114path8_CodecvtIwEE");
|
||||||
|
+asm (".hidden _ZTISt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
|
||||||
|
+asm (".hidden _ZTSNSt10filesystem7__cxx114path8_CodecvtIwEE");
|
||||||
|
+asm (".hidden _ZTSSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
|
||||||
|
+asm (".hidden _ZTVNSt10filesystem7__cxx114path8_CodecvtIwEE");
|
||||||
|
+asm (".hidden _ZTVSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE");
|
||||||
|
+asm (".hidden _ZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_");
|
||||||
--- libstdc++-v3/src/nonshared17/cow-fs_dir.cc.jj 2022-05-12 10:06:51.404502342 +0200
|
--- libstdc++-v3/src/nonshared17/cow-fs_dir.cc.jj 2022-05-12 10:06:51.404502342 +0200
|
||||||
+++ libstdc++-v3/src/nonshared17/cow-fs_dir.cc 2022-05-12 17:50:19.890747818 +0200
|
+++ libstdc++-v3/src/nonshared17/cow-fs_dir.cc 2022-05-12 17:50:19.890747818 +0200
|
||||||
@@ -0,0 +1,106 @@
|
@@ -0,0 +1,107 @@
|
||||||
+// Copyright (C) 2019-2022 Free Software Foundation, Inc.
|
+// Copyright (C) 2019-2022 Free Software Foundation, Inc.
|
||||||
+//
|
+//
|
||||||
+// This file is part of the GNU ISO C++ Library. This library is free
|
+// This file is part of the GNU ISO C++ Library. This library is free
|
||||||
@ -11957,9 +11983,10 @@
|
|||||||
+//asm (".hidden _ZNSt10filesystem4pathC2ISsS0_EERKT_NS0_6formatE");
|
+//asm (".hidden _ZNSt10filesystem4pathC2ISsS0_EERKT_NS0_6formatE");
|
||||||
+//asm (".hidden _ZNSt10filesystem4pathC1ISsS0_EERKT_NS0_6formatE");
|
+//asm (".hidden _ZNSt10filesystem4pathC1ISsS0_EERKT_NS0_6formatE");
|
||||||
+asm (".hidden _ZNSt10filesystem28recursive_directory_iterator7__eraseEPSt10error_code");
|
+asm (".hidden _ZNSt10filesystem28recursive_directory_iterator7__eraseEPSt10error_code");
|
||||||
+asm (".hidden _ZNKSt10filesystem4_Dir16dir_and_pathnameEv");
|
+//asm (".hidden _ZNKSt10filesystem4_Dir16dir_and_pathnameEv");
|
||||||
+asm (".hidden _ZNSt10filesystem4pathD1Ev");
|
+asm (".hidden _ZNSt10filesystem4pathD1Ev");
|
||||||
+asm (".hidden _ZNSt10filesystem4pathD2Ev");
|
+asm (".hidden _ZNSt10filesystem4pathD2Ev");
|
||||||
|
+asm (".hidden _ZNKSt10filesystem4_Dir7currentEv");
|
||||||
--- libstdc++-v3/src/nonshared17/Makefile.am.jj 2022-05-12 10:06:51.404502342 +0200
|
--- libstdc++-v3/src/nonshared17/Makefile.am.jj 2022-05-12 10:06:51.404502342 +0200
|
||||||
+++ libstdc++-v3/src/nonshared17/Makefile.am 2022-05-12 10:06:51.404502342 +0200
|
+++ libstdc++-v3/src/nonshared17/Makefile.am 2022-05-12 10:06:51.404502342 +0200
|
||||||
@@ -0,0 +1,133 @@
|
@@ -0,0 +1,133 @@
|
||||||
@ -12176,12 +12203,12 @@
|
|||||||
+//asm (".hidden _ZNSt10filesystem7__cxx114pathaSISt17basic_string_viewIcSt11char_traitsIcEEEERNSt9enable_ifIXsrSt6__and_IJSt6__not_ISt7is_sameINSt9remove_cvIT_E4typeES1_EES9_ISt7is_voidINSt14remove_pointerISC_E4typeEEENS0_8__detail20__constructible_fromISC_vEEEE5valueES1_E4typeERKSC_");
|
+//asm (".hidden _ZNSt10filesystem7__cxx114pathaSISt17basic_string_viewIcSt11char_traitsIcEEEERNSt9enable_ifIXsrSt6__and_IJSt6__not_ISt7is_sameINSt9remove_cvIT_E4typeES1_EES9_ISt7is_voidINSt14remove_pointerISC_E4typeEEENS0_8__detail20__constructible_fromISC_vEEEE5valueES1_E4typeERKSC_");
|
||||||
+#endif
|
+#endif
|
||||||
+#endif
|
+#endif
|
||||||
+asm (".hidden _ZTIZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
|
+//asm (".hidden _ZTIZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
|
||||||
+asm (".hidden _ZTSZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
|
+//asm (".hidden _ZTSZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
|
||||||
+asm (".hidden _ZTVZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
|
+//asm (".hidden _ZTVZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt");
|
||||||
+asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD0Ev");
|
+//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD0Ev");
|
||||||
+asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD1Ev");
|
+//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD1Ev");
|
||||||
+asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD2Ev");
|
+//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD2Ev");
|
||||||
+asm (".hidden _ZNSt10filesystem7__cxx118__detail24__throw_conversion_errorEv");
|
+asm (".hidden _ZNSt10filesystem7__cxx118__detail24__throw_conversion_errorEv");
|
||||||
+#ifdef __powerpc64__
|
+#ifdef __powerpc64__
|
||||||
+//asm (".hidden _ZNKSt10filesystem7__cxx114path5_List5_Impl4copyEv");
|
+//asm (".hidden _ZNKSt10filesystem7__cxx114path5_List5_Impl4copyEv");
|
||||||
@ -13197,9 +13224,9 @@
|
|||||||
+asm (".hidden _ZNSt8__detail10__to_charsIjEESt15to_chars_resultPcS2_T_i");
|
+asm (".hidden _ZNSt8__detail10__to_charsIjEESt15to_chars_resultPcS2_T_i");
|
||||||
+#endif
|
+#endif
|
||||||
+#if defined (__powerpc64__) || defined (__s390x__)
|
+#if defined (__powerpc64__) || defined (__s390x__)
|
||||||
+asm (".hidden _ZSt8to_charsPcS_g");
|
+//asm (".hidden _ZSt8to_charsPcS_g");
|
||||||
+asm (".hidden _ZSt8to_charsPcS_gSt12chars_format");
|
+//asm (".hidden _ZSt8to_charsPcS_gSt12chars_format");
|
||||||
+asm (".hidden _ZSt8to_charsPcS_gSt12chars_formati");
|
+//asm (".hidden _ZSt8to_charsPcS_gSt12chars_formati");
|
||||||
+#endif
|
+#endif
|
||||||
+#if !defined (__powerpc64__) && !defined (__s390x__)
|
+#if !defined (__powerpc64__) && !defined (__s390x__)
|
||||||
+asm (".hidden _ZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
|
+asm (".hidden _ZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_");
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<a class="link" href="https://www.fsf.org" target="_top">FSF
|
<a class="link" href="https://www.fsf.org" target="_top">FSF
|
||||||
</a>
|
</a>
|
||||||
</p><p>
|
</p><p>
|
||||||
+ Release 12.1.1
|
+ Release 12.2.1
|
||||||
+ </p><p>
|
+ </p><p>
|
||||||
Permission is granted to copy, distribute and/or modify this
|
Permission is granted to copy, distribute and/or modify this
|
||||||
document under the terms of the GNU Free Documentation
|
document under the terms of the GNU Free Documentation
|
||||||
@ -17,7 +17,7 @@
|
|||||||
</p><p>
|
</p><p>
|
||||||
- The API documentation, rendered into HTML, can be viewed online
|
- The API documentation, rendered into HTML, can be viewed online
|
||||||
+ The API documentation, rendered into HTML, can be viewed locally
|
+ The API documentation, rendered into HTML, can be viewed locally
|
||||||
+ <a class="link" href="api/index.html" target="_top">for the 12.1.1 release</a>,
|
+ <a class="link" href="api/index.html" target="_top">for the 12.2.1 release</a>,
|
||||||
+ online
|
+ online
|
||||||
<a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
|
<a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
|
||||||
and
|
and
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
commit r12-8527-g7811663964aa7e31c3939b859bbfa2e16919639f
|
|
||||||
Author: Martin Liska <mliska@suse.cz>
|
|
||||||
Date: Wed Jun 29 15:28:07 2022 +0200
|
|
||||||
|
|
||||||
libsanitizer: cherry-pick 791e0d1bc85d
|
|
||||||
|
|
||||||
791e0d1bc85d: [compiler-rt] Add NO_EXEC_STACK_DIRECTIVE on s390x
|
|
||||||
(cherry picked from commit aa87b7541b4c11f59c521154513f844ea6b5c977)
|
|
||||||
|
|
||||||
--- libsanitizer/tsan/tsan_rtl_s390x.S
|
|
||||||
+++ libsanitizer/tsan/tsan_rtl_s390x.S
|
|
||||||
@@ -45,3 +45,5 @@ intercept setjmp, _ZN14__interception11real_setjmpE
|
|
||||||
intercept _setjmp, _ZN14__interception12real__setjmpE
|
|
||||||
intercept sigsetjmp, _ZN14__interception14real_sigsetjmpE
|
|
||||||
intercept __sigsetjmp, _ZN14__interception16real___sigsetjmpE
|
|
||||||
+
|
|
||||||
+NO_EXEC_STACK_DIRECTIVE
|
|
@ -1,28 +0,0 @@
|
|||||||
2022-05-11 Richard Biener <rguenther@suse.de>
|
|
||||||
|
|
||||||
PR bootstrap/105551
|
|
||||||
* opts.cc (finish_options): Also disable var-tracking if
|
|
||||||
!DWARF2_DEBUGGING_INFO.
|
|
||||||
|
|
||||||
--- gcc/opts.cc
|
|
||||||
+++ gcc/opts.cc
|
|
||||||
@@ -1334,11 +1334,15 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
|
|
||||||
|| opts->x_flag_selective_scheduling2));
|
|
||||||
|
|
||||||
/* We know which debug output will be used so we can set flag_var_tracking
|
|
||||||
- and flag_var_tracking_uninit if the user has not specified them. Note
|
|
||||||
- we have not yet initialized debug_hooks so we might uselessly run
|
|
||||||
- var-tracking on targets without var_location debug hook support. */
|
|
||||||
+ and flag_var_tracking_uninit if the user has not specified them. */
|
|
||||||
if (opts->x_debug_info_level < DINFO_LEVEL_NORMAL
|
|
||||||
- || !dwarf_debuginfo_p (opts))
|
|
||||||
+ || !dwarf_debuginfo_p (opts)
|
|
||||||
+ /* We have not yet initialized debug hooks so match that to check
|
|
||||||
+ whether we're only doing DWARF2_LINENO_DEBUGGING_INFO. */
|
|
||||||
+#ifndef DWARF2_DEBUGGING_INFO
|
|
||||||
+ || true
|
|
||||||
+#endif
|
|
||||||
+ )
|
|
||||||
{
|
|
||||||
if ((opts_set->x_flag_var_tracking && opts->x_flag_var_tracking == 1)
|
|
||||||
|| (opts_set->x_flag_var_tracking_uninit
|
|
@ -1,89 +0,0 @@
|
|||||||
commit 6c175b3d170de2bb02b7bd45b3348eec05d28451
|
|
||||||
Author: Roger Sayle <roger@nextmovesoftware.com>
|
|
||||||
Date: Mon Jul 4 13:58:37 2022 +0100
|
|
||||||
|
|
||||||
PR target/105991: Recognize PLUS and XOR forms of rldimi in rs6000.md.
|
|
||||||
|
|
||||||
This patch addresses PR target/105991 where a change to prefer representing
|
|
||||||
shifts and adds at the tree-level as multiplications, causes problems for
|
|
||||||
the rldimi patterns in the powerpc backend. The issue is that rs6000.md
|
|
||||||
models this pattern using IOR, and some variants that have the equivalent
|
|
||||||
PLUS or XOR in the RTL fail to match some *rotl<mode>4_insert patterns.
|
|
||||||
This is fixed in this patch by adding a define_insn_and_split to locally
|
|
||||||
canonicalize the PLUS and XOR forms to the backend's preferred IOR form.
|
|
||||||
|
|
||||||
Backported from master.
|
|
||||||
|
|
||||||
2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
|
|
||||||
Marek Polacek <polacek@redhat.com>
|
|
||||||
Segher Boessenkool <segher@kernel.crashing.org>
|
|
||||||
Kewen Lin <linkw@linux.ibm.com>
|
|
||||||
|
|
||||||
gcc/ChangeLog
|
|
||||||
PR target/105991
|
|
||||||
* config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
|
|
||||||
exact_log2 doesn't return -1 (or zero).
|
|
||||||
(plus_xor): New code iterator.
|
|
||||||
(*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
|
|
||||||
|
|
||||||
gcc/testsuite/ChangeLog
|
|
||||||
PR target/105991
|
|
||||||
* gcc.target/powerpc/pr105991.c: New test case.
|
|
||||||
|
|
||||||
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
|
|
||||||
index 64049a6e521..6082ded8c31 100644
|
|
||||||
--- a/gcc/config/rs6000/rs6000.md
|
|
||||||
+++ b/gcc/config/rs6000/rs6000.md
|
|
||||||
@@ -4178,7 +4178,8 @@ (define_insn "rotl<mode>3_insert_3"
|
|
||||||
(match_operand:GPR 4 "const_int_operand" "n"))
|
|
||||||
(ashift:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")
|
|
||||||
(match_operand:SI 2 "const_int_operand" "n"))))]
|
|
||||||
- "INTVAL (operands[2]) == exact_log2 (UINTVAL (operands[4]) + 1)"
|
|
||||||
+ "INTVAL (operands[2]) > 0
|
|
||||||
+ && INTVAL (operands[2]) == exact_log2 (UINTVAL (operands[4]) + 1)"
|
|
||||||
{
|
|
||||||
if (<MODE>mode == SImode)
|
|
||||||
return "rlwimi %0,%1,%h2,0,31-%h2";
|
|
||||||
@@ -4187,6 +4188,24 @@ (define_insn "rotl<mode>3_insert_3"
|
|
||||||
}
|
|
||||||
[(set_attr "type" "insert")])
|
|
||||||
|
|
||||||
+; Canonicalize the PLUS and XOR forms to IOR for rotl<mode>3_insert_3
|
|
||||||
+(define_code_iterator plus_xor [plus xor])
|
|
||||||
+
|
|
||||||
+(define_insn_and_split "*rotl<mode>3_insert_3_<code>"
|
|
||||||
+ [(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
|
|
||||||
+ (plus_xor:GPR
|
|
||||||
+ (and:GPR (match_operand:GPR 3 "gpc_reg_operand" "0")
|
|
||||||
+ (match_operand:GPR 4 "const_int_operand" "n"))
|
|
||||||
+ (ashift:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")
|
|
||||||
+ (match_operand:SI 2 "const_int_operand" "n"))))]
|
|
||||||
+ "INTVAL (operands[2]) > 0
|
|
||||||
+ && INTVAL (operands[2]) == exact_log2 (UINTVAL (operands[4]) + 1)"
|
|
||||||
+ "#"
|
|
||||||
+ "&& 1"
|
|
||||||
+ [(set (match_dup 0)
|
|
||||||
+ (ior:GPR (and:GPR (match_dup 3) (match_dup 4))
|
|
||||||
+ (ashift:GPR (match_dup 1) (match_dup 2))))])
|
|
||||||
+
|
|
||||||
(define_code_iterator plus_ior_xor [plus ior xor])
|
|
||||||
|
|
||||||
(define_split
|
|
||||||
diff --git a/gcc/testsuite/gcc.target/powerpc/pr105991.c b/gcc/testsuite/gcc.target/powerpc/pr105991.c
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..0d9d130cb63
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/gcc/testsuite/gcc.target/powerpc/pr105991.c
|
|
||||||
@@ -0,0 +1,12 @@
|
|
||||||
+/* { dg-do compile } */
|
|
||||||
+/* { dg-options "-O2" } */
|
|
||||||
+/* { dg-require-effective-target lp64 } */
|
|
||||||
+unsigned long long
|
|
||||||
+foo (unsigned long long value)
|
|
||||||
+{
|
|
||||||
+ value &= 0xffffffff;
|
|
||||||
+ value |= value << 32;
|
|
||||||
+ return value;
|
|
||||||
+}
|
|
||||||
+/* { dg-final { scan-assembler {\mrldimi\M} } } */
|
|
||||||
+
|
|
124
SOURCES/gcc12-pr107468.patch
Normal file
124
SOURCES/gcc12-pr107468.patch
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
libstdc++: Update from latest fast_float [PR107468]
|
||||||
|
|
||||||
|
The following patch is a cherry-pick from
|
||||||
|
https://github.com/fastfloat/fast_float/pull/153
|
||||||
|
to restrict fast_float Clinger's fast path to when rounding mode
|
||||||
|
is FE_TONEAREST.
|
||||||
|
Using std::fegetround showed in benchmarks too slow, so instead
|
||||||
|
it uses a check with 2 float additions and comparison to verify
|
||||||
|
if rounding is FE_TONEAREST.
|
||||||
|
|
||||||
|
2022-11-20 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR libstdc++/107468
|
||||||
|
* src/c++17/fast_float/fast_float.h (detail::rounds_to_nearest): New
|
||||||
|
function, taken from https://github.com/fastfloat/fast_float/pull/153.
|
||||||
|
(from_chars_advanced): Only use Clinger's fast path if
|
||||||
|
detail::rounds_to_nearest().
|
||||||
|
* testsuite/20_util/from_chars/pr107468.cc: New test.
|
||||||
|
|
||||||
|
--- libstdc++-v3/src/c++17/fast_float/fast_float.h.jj 2022-04-28 15:56:18.315632888 +0200
|
||||||
|
+++ libstdc++-v3/src/c++17/fast_float/fast_float.h 2022-11-20 18:53:49.570830249 +0100
|
||||||
|
@@ -2842,6 +2842,48 @@ from_chars_result parse_infnan(const cha
|
||||||
|
return answer;
|
||||||
|
}
|
||||||
|
|
||||||
|
+/**
|
||||||
|
+ * Returns true if the floating-pointing rounding mode is to 'nearest'.
|
||||||
|
+ * It is the default on most system. This function is meant to be inexpensive.
|
||||||
|
+ * Credit : @mwalcott3
|
||||||
|
+ */
|
||||||
|
+fastfloat_really_inline bool rounds_to_nearest() noexcept {
|
||||||
|
+ // See
|
||||||
|
+ // A fast function to check your floating-point rounding mode
|
||||||
|
+ // https://lemire.me/blog/2022/11/16/a-fast-function-to-check-your-floating-point-rounding-mode/
|
||||||
|
+ //
|
||||||
|
+ // This function is meant to be equivalent to :
|
||||||
|
+ // prior: #include <cfenv>
|
||||||
|
+ // return fegetround() == FE_TONEAREST;
|
||||||
|
+ // However, it is expected to be much faster than the fegetround()
|
||||||
|
+ // function call.
|
||||||
|
+ //
|
||||||
|
+ // The volatile keywoard prevents the compiler from computing the function
|
||||||
|
+ // at compile-time.
|
||||||
|
+ // There might be other ways to prevent compile-time optimizations (e.g., asm).
|
||||||
|
+ // The value does not need to be std::numeric_limits<float>::min(), any small
|
||||||
|
+ // value so that 1 + x should round to 1 would do (after accounting for excess
|
||||||
|
+ // precision, as in 387 instructions).
|
||||||
|
+ static volatile float fmin = std::numeric_limits<float>::min();
|
||||||
|
+ float fmini = fmin; // we copy it so that it gets loaded at most once.
|
||||||
|
+ //
|
||||||
|
+ // Explanation:
|
||||||
|
+ // Only when fegetround() == FE_TONEAREST do we have that
|
||||||
|
+ // fmin + 1.0f == 1.0f - fmin.
|
||||||
|
+ //
|
||||||
|
+ // FE_UPWARD:
|
||||||
|
+ // fmin + 1.0f > 1
|
||||||
|
+ // 1.0f - fmin == 1
|
||||||
|
+ //
|
||||||
|
+ // FE_DOWNWARD or FE_TOWARDZERO:
|
||||||
|
+ // fmin + 1.0f == 1
|
||||||
|
+ // 1.0f - fmin < 1
|
||||||
|
+ //
|
||||||
|
+ // Note: This may fail to be accurate if fast-math has been
|
||||||
|
+ // enabled, as rounding conventions may not apply.
|
||||||
|
+ return (fmini + 1.0f == 1.0f - fmini);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
} // namespace detail
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
@@ -2870,7 +2912,7 @@ from_chars_result from_chars_advanced(co
|
||||||
|
answer.ec = std::errc(); // be optimistic
|
||||||
|
answer.ptr = pns.lastmatch;
|
||||||
|
// Next is Clinger's fast path.
|
||||||
|
- if (binary_format<T>::min_exponent_fast_path() <= pns.exponent && pns.exponent <= binary_format<T>::max_exponent_fast_path() && pns.mantissa <=binary_format<T>::max_mantissa_fast_path() && !pns.too_many_digits) {
|
||||||
|
+ if (binary_format<T>::min_exponent_fast_path() <= pns.exponent && pns.exponent <= binary_format<T>::max_exponent_fast_path() && pns.mantissa <=binary_format<T>::max_mantissa_fast_path() && !pns.too_many_digits && detail::rounds_to_nearest()) {
|
||||||
|
value = T(pns.mantissa);
|
||||||
|
if (pns.exponent < 0) { value = value / binary_format<T>::exact_power_of_ten(-pns.exponent); }
|
||||||
|
else { value = value * binary_format<T>::exact_power_of_ten(pns.exponent); }
|
||||||
|
--- libstdc++-v3/testsuite/20_util/from_chars/pr107468.cc.jj
|
||||||
|
+++ libstdc++-v3/testsuite/20_util/from_chars/pr107468.cc
|
||||||
|
@@ -0,0 +1,42 @@
|
||||||
|
+// Copyright (C) 2022 Free Software Foundation, Inc.
|
||||||
|
+//
|
||||||
|
+// This file is part of the GNU ISO C++ Library. This library is free
|
||||||
|
+// software; you can redistribute it and/or modify it under the
|
||||||
|
+// terms of the GNU General Public License as published by the
|
||||||
|
+// Free Software Foundation; either version 3, or (at your option)
|
||||||
|
+// any later version.
|
||||||
|
+
|
||||||
|
+// This library is distributed in the hope that it will be useful,
|
||||||
|
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+// GNU General Public License for more details.
|
||||||
|
+
|
||||||
|
+// You should have received a copy of the GNU General Public License along
|
||||||
|
+// with this library; see the file COPYING3. If not see
|
||||||
|
+// <http://www.gnu.org/licenses/>.
|
||||||
|
+
|
||||||
|
+// { dg-do run { target c++17 } }
|
||||||
|
+// { dg-add-options ieee }
|
||||||
|
+
|
||||||
|
+#include <charconv>
|
||||||
|
+#include <string>
|
||||||
|
+#include <cfenv>
|
||||||
|
+#include <testsuite_hooks.h>
|
||||||
|
+
|
||||||
|
+int
|
||||||
|
+main()
|
||||||
|
+{
|
||||||
|
+ // FP from_char not available otherwise.
|
||||||
|
+#if __cpp_lib_to_chars >= 201611L \
|
||||||
|
+ && _GLIBCXX_USE_C99_FENV_TR1 \
|
||||||
|
+ && defined(FE_DOWNWARD) \
|
||||||
|
+ && defined(_GLIBCXX_FLOAT_IS_IEEE_BINARY32)
|
||||||
|
+ // PR libstdc++/107468
|
||||||
|
+ float f;
|
||||||
|
+ char buf[] = "3.355447e+07";
|
||||||
|
+ std::fesetround(FE_DOWNWARD);
|
||||||
|
+ auto [ptr, ec] = std::from_chars(buf, buf + sizeof(buf) - 1, f, std::chars_format::scientific);
|
||||||
|
+ VERIFY( ec == std::errc() && ptr == buf + sizeof(buf) - 1 );
|
||||||
|
+ VERIFY( f == 33554472.0f );
|
||||||
|
+#endif
|
||||||
|
+}
|
178
SOURCES/gcc12-static-libquadmath.patch
Normal file
178
SOURCES/gcc12-static-libquadmath.patch
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||||||
|
Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR fortran/46539
|
||||||
|
gcc/
|
||||||
|
* common.opt (static-libquadmath): New option.
|
||||||
|
* gcc.cc (driver_handle_option): Always accept -static-libquadmath.
|
||||||
|
* config/darwin.h (LINK_SPEC): Handle -static-libquadmath.
|
||||||
|
gcc/fortran/
|
||||||
|
* lang.opt (static-libquadmath): New option.
|
||||||
|
* invoke.texi (-static-libquadmath): Document it.
|
||||||
|
libgfortran/
|
||||||
|
* acinclude.m4 (LIBQUADSPEC): From $FC -static-libgfortran -###
|
||||||
|
output determine -Bstatic/-Bdynamic, -bstatic/-bdynamic,
|
||||||
|
-aarchive_shared/-adefault linker support or Darwin remapping
|
||||||
|
of -lgfortran to libgfortran.a%s and use that around or instead
|
||||||
|
of -lquadmath in LIBQUADSPEC.
|
||||||
|
* configure: Regenerated.
|
||||||
|
|
||||||
|
--- gcc/common.opt.jj 2022-04-28 15:56:02.822846833 +0200
|
||||||
|
+++ gcc/common.opt 2022-09-29 19:41:37.250880668 +0200
|
||||||
|
@@ -3563,6 +3563,10 @@ static-libphobos
|
||||||
|
Driver
|
||||||
|
; Documented for D, but always accepted by driver.
|
||||||
|
|
||||||
|
+static-libquadmath
|
||||||
|
+Driver
|
||||||
|
+; Documented for Fortran, but always accepted by driver.
|
||||||
|
+
|
||||||
|
static-libstdc++
|
||||||
|
Driver
|
||||||
|
|
||||||
|
--- gcc/gcc.cc.jj 2022-04-28 15:56:04.771819920 +0200
|
||||||
|
+++ gcc/gcc.cc 2022-09-29 19:41:37.296880041 +0200
|
||||||
|
@@ -4583,12 +4583,14 @@ driver_handle_option (struct gcc_options
|
||||||
|
case OPT_static_libgcc:
|
||||||
|
case OPT_shared_libgcc:
|
||||||
|
case OPT_static_libgfortran:
|
||||||
|
+ case OPT_static_libquadmath:
|
||||||
|
case OPT_static_libphobos:
|
||||||
|
case OPT_static_libstdc__:
|
||||||
|
/* These are always valid, since gcc.cc itself understands the
|
||||||
|
first two, gfortranspec.cc understands -static-libgfortran,
|
||||||
|
- d-spec.cc understands -static-libphobos, and g++spec.cc
|
||||||
|
- understands -static-libstdc++ */
|
||||||
|
+ d-spec.cc understands -static-libphobos, g++spec.cc
|
||||||
|
+ understands -static-libstdc++ and libgfortran.spec handles
|
||||||
|
+ -static-libquadmath. */
|
||||||
|
validated = true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
--- gcc/config/darwin.h.jj 2022-06-18 21:56:40.666675606 +0200
|
||||||
|
+++ gcc/config/darwin.h 2022-09-29 19:41:37.261880518 +0200
|
||||||
|
@@ -443,6 +443,7 @@ extern GTY(()) int darwin_ms_struct;
|
||||||
|
%:replace-outfile(-lobjc libobjc-gnu.a%s); \
|
||||||
|
:%:replace-outfile(-lobjc -lobjc-gnu )}}\
|
||||||
|
%{static|static-libgcc|static-libgfortran:%:replace-outfile(-lgfortran libgfortran.a%s)}\
|
||||||
|
+ %{static|static-libgcc|static-libquadmath:%:replace-outfile(-lquadmath libquadmath.a%s)}\
|
||||||
|
%{static|static-libgcc|static-libphobos:%:replace-outfile(-lgphobos libgphobos.a%s)}\
|
||||||
|
%{static|static-libgcc|static-libstdc++|static-libgfortran:%:replace-outfile(-lgomp libgomp.a%s)}\
|
||||||
|
%{static|static-libgcc|static-libstdc++:%:replace-outfile(-lstdc++ libstdc++.a%s)}\
|
||||||
|
--- gcc/fortran/lang.opt.jj 2022-04-28 15:56:04.579822571 +0200
|
||||||
|
+++ gcc/fortran/lang.opt 2022-09-29 19:41:37.279880273 +0200
|
||||||
|
@@ -863,6 +863,10 @@ static-libgfortran
|
||||||
|
Fortran
|
||||||
|
Statically link the GNU Fortran helper library (libgfortran).
|
||||||
|
|
||||||
|
+static-libquadmath
|
||||||
|
+Driver
|
||||||
|
+Statically link the GCC Quad-Precision Math Library (libquadmath).
|
||||||
|
+
|
||||||
|
std=f2003
|
||||||
|
Fortran
|
||||||
|
Conform to the ISO Fortran 2003 standard.
|
||||||
|
--- gcc/fortran/invoke.texi.jj 2022-04-29 15:51:59.080720092 +0200
|
||||||
|
+++ gcc/fortran/invoke.texi 2022-09-29 19:41:37.273880354 +0200
|
||||||
|
@@ -170,7 +170,7 @@ and warnings}.
|
||||||
|
|
||||||
|
@item Link Options
|
||||||
|
@xref{Link Options,,Options for influencing the linking step}.
|
||||||
|
-@gccoptlist{-static-libgfortran}
|
||||||
|
+@gccoptlist{-static-libgfortran -static-libquadmath}
|
||||||
|
|
||||||
|
@item Runtime Options
|
||||||
|
@xref{Runtime Options,,Options for influencing runtime behavior}.
|
||||||
|
@@ -1425,6 +1425,20 @@ configured, this option has no effect.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
|
||||||
|
+@table @gcctabopt
|
||||||
|
+@item -static-libquadmath
|
||||||
|
+@opindex @code{static-libquadmath}
|
||||||
|
+On systems that provide @file{libquadmath} as a shared and a static
|
||||||
|
+library, this option forces the use of the static version. If no
|
||||||
|
+shared version of @file{libquadmath} was built when the compiler was
|
||||||
|
+configured, this option has no effect.
|
||||||
|
+
|
||||||
|
+Please note that the @file{libquadmath} runtime library is licensed under the
|
||||||
|
+GNU Lesser General Public License (LGPL), and linking it statically introduces
|
||||||
|
+requirements when redistributing the resulting binaries.
|
||||||
|
+@end table
|
||||||
|
+
|
||||||
|
+
|
||||||
|
@node Runtime Options
|
||||||
|
@section Influencing runtime behavior
|
||||||
|
@cindex options, runtime
|
||||||
|
--- libgfortran/acinclude.m4.jj 2022-09-29 19:41:37.306879904 +0200
|
||||||
|
+++ libgfortran/acinclude.m4 2022-09-29 19:42:42.641988408 +0200
|
||||||
|
@@ -338,11 +338,32 @@ AC_DEFUN([LIBGFOR_CHECK_FLOAT128], [
|
||||||
|
ac_[]_AC_LANG_ABBREV[]_werror_flag=$ac_xsave_[]_AC_LANG_ABBREV[]_werror_flag
|
||||||
|
])
|
||||||
|
|
||||||
|
+ dnl Determine -Bstatic ... -Bdynamic etc. support from gfortran -### stderr.
|
||||||
|
+ touch conftest1.$ac_objext conftest2.$ac_objext
|
||||||
|
+ LQUADMATH=-lquadmath
|
||||||
|
+ $FC -static-libgfortran -### -o conftest \
|
||||||
|
+ conftest1.$ac_objext -lgfortran conftest2.$ac_objext 2>&1 >/dev/null \
|
||||||
|
+ | grep "conftest1.$ac_objext.*conftest2.$ac_objext" > conftest.cmd
|
||||||
|
+ if grep "conftest1.$ac_objext.* -Bstatic -lgfortran -Bdynamic .*conftest2.$ac_objext" \
|
||||||
|
+ conftest.cmd >/dev/null 2>&1; then
|
||||||
|
+ LQUADMATH="%{static-libquadmath:-Bstatic} -lquadmath %{static-libquadmath:-Bdynamic}"
|
||||||
|
+ elif grep "conftest1.$ac_objext.* -bstatic -lgfortran -bdynamic .*conftest2.$ac_objext" \
|
||||||
|
+ conftest.cmd >/dev/null 2>&1; then
|
||||||
|
+ LQUADMATH="%{static-libquadmath:-bstatic} -lquadmath %{static-libquadmath:-bdynamic}"
|
||||||
|
+ elif grep "conftest1.$ac_objext.* -aarchive_shared -lgfortran -adefault .*conftest2.$ac_objext" \
|
||||||
|
+ conftest.cmd >/dev/null 2>&1; then
|
||||||
|
+ LQUADMATH="%{static-libquadmath:-aarchive_shared} -lquadmath %{static-libquadmath:-adefault}"
|
||||||
|
+ elif grep "conftest1.$ac_objext.*libgfortran.a .*conftest2.$ac_objext" \
|
||||||
|
+ conftest.cmd >/dev/null 2>&1; then
|
||||||
|
+ LQUADMATH="%{static-libquadmath:libquadmath.a%s;:-lquadmath}"
|
||||||
|
+ fi
|
||||||
|
+ rm -f conftest1.$ac_objext conftest2.$ac_objext conftest conftest.cmd
|
||||||
|
+
|
||||||
|
dnl For static libgfortran linkage, depend on libquadmath only if needed.
|
||||||
|
if test "x$libgfor_cv_have_as_needed" = xyes; then
|
||||||
|
- LIBQUADSPEC="%{static-libgfortran:$libgfor_cv_as_needed_option} -lquadmath %{static-libgfortran:$libgfor_cv_no_as_needed_option}"
|
||||||
|
+ LIBQUADSPEC="%{static-libgfortran:$libgfor_cv_as_needed_option} $LQUADMATH %{static-libgfortran:$libgfor_cv_no_as_needed_option}"
|
||||||
|
else
|
||||||
|
- LIBQUADSPEC="-lquadmath"
|
||||||
|
+ LIBQUADSPEC="$LQUADMATH"
|
||||||
|
fi
|
||||||
|
if test -f ../libquadmath/libquadmath.la; then
|
||||||
|
LIBQUADLIB=../libquadmath/libquadmath.la
|
||||||
|
--- libgfortran/configure.jj 2022-09-29 19:41:37.345879372 +0200
|
||||||
|
+++ libgfortran/configure 2022-09-29 19:42:59.878753212 +0200
|
||||||
|
@@ -27301,10 +27301,30 @@ fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgfor_cv_have_as_needed" >&5
|
||||||
|
$as_echo "$libgfor_cv_have_as_needed" >&6; }
|
||||||
|
|
||||||
|
+ touch conftest1.$ac_objext conftest2.$ac_objext
|
||||||
|
+ LQUADMATH=-lquadmath
|
||||||
|
+ $FC -static-libgfortran -### -o conftest \
|
||||||
|
+ conftest1.$ac_objext -lgfortran conftest2.$ac_objext 2>&1 >/dev/null \
|
||||||
|
+ | grep "conftest1.$ac_objext.*conftest2.$ac_objext" > conftest.cmd
|
||||||
|
+ if grep "conftest1.$ac_objext.* -Bstatic -lgfortran -Bdynamic .*conftest2.$ac_objext" \
|
||||||
|
+ conftest.cmd >/dev/null 2>&1; then
|
||||||
|
+ LQUADMATH="%{static-libquadmath:-Bstatic} -lquadmath %{static-libquadmath:-Bdynamic}"
|
||||||
|
+ elif grep "conftest1.$ac_objext.* -bstatic -lgfortran -bdynamic .*conftest2.$ac_objext" \
|
||||||
|
+ conftest.cmd >/dev/null 2>&1; then
|
||||||
|
+ LQUADMATH="%{static-libquadmath:-bstatic} -lquadmath %{static-libquadmath:-bdynamic}"
|
||||||
|
+ elif grep "conftest1.$ac_objext.* -aarchive_shared -lgfortran -adefault .*conftest2.$ac_objext" \
|
||||||
|
+ conftest.cmd >/dev/null 2>&1; then
|
||||||
|
+ LQUADMATH="%{static-libquadmath:-aarchive_shared} -lquadmath %{static-libquadmath:-adefault}"
|
||||||
|
+ elif grep "conftest1.$ac_objext.*libgfortran.a .*conftest2.$ac_objext" \
|
||||||
|
+ conftest.cmd >/dev/null 2>&1; then
|
||||||
|
+ LQUADMATH="%{static-libquadmath:libquadmath.a%s;:-lquadmath}"
|
||||||
|
+ fi
|
||||||
|
+ rm -f conftest1.$ac_objext conftest2.$ac_objext conftest conftest.cmd
|
||||||
|
+
|
||||||
|
if test "x$libgfor_cv_have_as_needed" = xyes; then
|
||||||
|
- LIBQUADSPEC="%{static-libgfortran:$libgfor_cv_as_needed_option} -lquadmath %{static-libgfortran:$libgfor_cv_no_as_needed_option}"
|
||||||
|
+ LIBQUADSPEC="%{static-libgfortran:$libgfor_cv_as_needed_option} $LQUADMATH %{static-libgfortran:$libgfor_cv_no_as_needed_option}"
|
||||||
|
else
|
||||||
|
- LIBQUADSPEC="-lquadmath"
|
||||||
|
+ LIBQUADSPEC="$LQUADMATH"
|
||||||
|
fi
|
||||||
|
if test -f ../libquadmath/libquadmath.la; then
|
||||||
|
LIBQUADLIB=../libquadmath/libquadmath.la
|
41
SOURCES/gcc12-testsuite-typo.patch
Normal file
41
SOURCES/gcc12-testsuite-typo.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
From 023c5b36e476976cb3b45ff32c7c64990c5a6d45 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kewen Lin <linkw@linux.ibm.com>
|
||||||
|
Date: Thu, 1 Sep 2022 00:27:11 -0500
|
||||||
|
Subject: [PATCH] rs6000/test: Fix typo in pr86731-fwrapv-longlong.c [PR106682]
|
||||||
|
|
||||||
|
Commit r12-2266 updated the scanned assembly content from
|
||||||
|
|
||||||
|
"{\mlvx\M|\mlxv\M|\mlxvd2x\M}"
|
||||||
|
|
||||||
|
to
|
||||||
|
|
||||||
|
"{\mp?lxv\M|\mlxv\M|\mlxvd2x\M}"
|
||||||
|
|
||||||
|
for the test case pr86731-fwrapv-longlong.c unexpectedly.
|
||||||
|
|
||||||
|
It's meant to update "lxv" to "p?lxv", should leave the
|
||||||
|
"lvx" unchanged. So fix the typo accordingly.
|
||||||
|
|
||||||
|
PR testsuite/106682
|
||||||
|
|
||||||
|
gcc/testsuite/ChangeLog:
|
||||||
|
|
||||||
|
* gcc.target/powerpc/pr86731-fwrapv-longlong.c: Fix typo.
|
||||||
|
---
|
||||||
|
gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c b/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c
|
||||||
|
index dcb30e1d886..018e1cf9749 100644
|
||||||
|
--- a/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c
|
||||||
|
+++ b/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c
|
||||||
|
@@ -31,5 +31,5 @@ vector signed long long splats4(void)
|
||||||
|
|
||||||
|
/* { dg-final { scan-assembler-times {\mvspltis[bhw]\M} 0 } } */
|
||||||
|
/* { dg-final { scan-assembler-times {\mvsl[bhwd]\M} 0 } } */
|
||||||
|
-/* { dg-final { scan-assembler-times {\mp?lxv\M|\mlxv\M|\mlxvd2x\M|\mxxspltidp\M} 2 } } */
|
||||||
|
+/* { dg-final { scan-assembler-times {\mp?lxv\M|\mlvx\M|\mlxvd2x\M|\mxxspltidp\M} 2 } } */
|
||||||
|
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
85
SOURCES/isl-rh2155127.patch
Normal file
85
SOURCES/isl-rh2155127.patch
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
From: Sven Verdoolaege <sven.verdoolaege@gmail.com>
|
||||||
|
Date: Mon, 6 Jun 2022 12:56:02 +0000 (+0200)
|
||||||
|
Subject: update m4/ax_prog_cc_for_build.m4
|
||||||
|
X-Git-Tag: isl-0.25~11
|
||||||
|
X-Git-Url: https://repo.or.cz/isl.git/commitdiff_plain/b4dcdfadc29a6c9f410a72f345f3f32725b1d38b
|
||||||
|
|
||||||
|
update m4/ax_prog_cc_for_build.m4
|
||||||
|
|
||||||
|
In particular, update to the latest version from the autoconf archive,
|
||||||
|
but preserve the changes from isl-0.22.1-358-gcd42abdf2
|
||||||
|
(m4/ax_prog_cc_for_build.m4: do not override host compiler dependency style,
|
||||||
|
Tue Jun 9 10:54:10 2020 +0200).
|
||||||
|
|
||||||
|
Signed-off-by: Sven Verdoolaege <sven.verdoolaege@gmail.com>
|
||||||
|
|
||||||
|
--- isl-0.24/m4/ax_prog_cc_for_build.m4.jj 2021-03-02 12:07:09.000000000 +0100
|
||||||
|
+++ isl-0.24/m4/ax_prog_cc_for_build.m4 2022-12-20 18:11:18.855777817 +0100
|
||||||
|
@@ -32,7 +32,7 @@
|
||||||
|
# and this notice are preserved. This file is offered as-is, without any
|
||||||
|
# warranty.
|
||||||
|
|
||||||
|
-#serial 18
|
||||||
|
+#serial 21
|
||||||
|
|
||||||
|
AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
|
||||||
|
AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
|
||||||
|
@@ -44,6 +44,8 @@ dnl Use the standard macros, but make th
|
||||||
|
dnl
|
||||||
|
pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
|
||||||
|
pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
|
||||||
|
+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
|
||||||
|
+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
|
||||||
|
pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
|
||||||
|
pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
|
||||||
|
pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
|
||||||
|
@@ -86,7 +88,21 @@ AS_IF([test -n "$build"], [ac_build
|
||||||
|
[test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
|
||||||
|
|
||||||
|
AC_LANG_PUSH([C])
|
||||||
|
+
|
||||||
|
+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
|
||||||
|
+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
|
||||||
|
+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
|
||||||
|
+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
|
||||||
|
+AS_IF([test ${was_set_c_compiler_gnu}],
|
||||||
|
+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
|
||||||
|
+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
|
||||||
|
+
|
||||||
|
AC_PROG_CC
|
||||||
|
+
|
||||||
|
+dnl Restore ac_cv_c_compiler_gnu
|
||||||
|
+AS_IF([test ${was_set_c_compiler_gnu}],
|
||||||
|
+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
|
||||||
|
+
|
||||||
|
_AC_COMPILER_EXEEXT
|
||||||
|
_AC_COMPILER_OBJEXT
|
||||||
|
AC_PROG_CPP
|
||||||
|
--- isl-0.24/configure.jj 2021-04-26 11:13:19.000000000 +0200
|
||||||
|
+++ isl-0.24/configure 2022-12-20 18:11:36.882518568 +0100
|
||||||
|
@@ -5002,6 +4990,13 @@ ac_compile='$CC_FOR_BUILD -c $CFLAGS_FOR
|
||||||
|
ac_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5'
|
||||||
|
ac_compiler_gnu=$ac_cv_build_c_compiler_gnu
|
||||||
|
|
||||||
|
+
|
||||||
|
+was_set_c_compiler_gnu=${ac_cv_c_compiler_gnu+y}
|
||||||
|
+if test ${was_set_c_compiler_gnu}; then :
|
||||||
|
+ saved_c_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||||
|
+ { ac_cv_c_compiler_gnu=; unset ac_cv_c_compiler_gnu;}
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
ac_ext=c
|
||||||
|
ac_cpp='$CPP_FOR_BUILD $CPPFLAGS_FOR_BUILD'
|
||||||
|
ac_compile='$CC_FOR_BUILD -c $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD conftest.$ac_ext >&5'
|
||||||
|
@@ -5728,6 +5723,11 @@ else
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
+
|
||||||
|
+if test ${was_set_c_compiler_gnu}; then :
|
||||||
|
+ ac_cv_c_compiler_gnu=$saved_c_compiler_gnu
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
129
SPECS/gcc.spec
129
SPECS/gcc.spec
@ -2,17 +2,17 @@
|
|||||||
%{?scl:%global __strip %%{_scl_root}/usr/bin/strip}
|
%{?scl:%global __strip %%{_scl_root}/usr/bin/strip}
|
||||||
%{?scl:%global __objdump %%{_scl_root}/usr/bin/objdump}
|
%{?scl:%global __objdump %%{_scl_root}/usr/bin/objdump}
|
||||||
%{?scl:%scl_package gcc}
|
%{?scl:%scl_package gcc}
|
||||||
%global DATE 20220628
|
%global DATE 20221121
|
||||||
%global gitrev 874cb9452c56f1c3b3a7b5bfed93a262504b9856
|
%global gitrev b3f5a0d53b84ed27cf00cfa2b9c3e2c78935c07d
|
||||||
%global gcc_version 12.1.1
|
%global gcc_version 12.2.1
|
||||||
%global gcc_major 12
|
%global gcc_major 12
|
||||||
# Note, gcc_release must be integer, if you want to add suffixes to
|
# Note, gcc_release must be integer, if you want to add suffixes to
|
||||||
# %%{release}, append them after %%{gcc_release} on Release: line.
|
# %%{release}, append them after %%{gcc_release} on Release: line.
|
||||||
%global gcc_release 3
|
%global gcc_release 7
|
||||||
%global nvptx_tools_gitrev 5f6f343a302d620b0868edab376c00b15741e39e
|
%global nvptx_tools_gitrev 472b6e78b3ba918d727698f79911360b7c808247
|
||||||
%global newlib_cygwin_gitrev 50e2a63b04bdd018484605fbb954fd1bd5147fa0
|
%global newlib_cygwin_gitrev a8526cb52bedabd4d6ba4b227a5185627f871aa1
|
||||||
%global mpc_version 1.0.3
|
%global mpc_version 1.0.3
|
||||||
%global isl_version 0.18
|
%global isl_version 0.24
|
||||||
%global mpfr_version 3.1.4
|
%global mpfr_version 3.1.4
|
||||||
%global gmp_version 6.1.0
|
%global gmp_version 6.1.0
|
||||||
%global doxygen_version 1.8.0
|
%global doxygen_version 1.8.0
|
||||||
@ -51,7 +51,7 @@
|
|||||||
%else
|
%else
|
||||||
%global build_go 0
|
%global build_go 0
|
||||||
%endif
|
%endif
|
||||||
%ifarch %{ix86} x86_64 %{arm} %{mips} s390 s390x riscv64
|
%ifarch %{ix86} x86_64 %{arm} aarch64 %{mips} s390 s390x riscv64
|
||||||
%global build_d 1
|
%global build_d 1
|
||||||
%else
|
%else
|
||||||
%global build_d 0
|
%global build_d 0
|
||||||
@ -139,7 +139,7 @@
|
|||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
%global multilib_32_arch i686
|
%global multilib_32_arch i686
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?fedora} >= 36 || 0%{?rhel} >= 10
|
%if 0%{?fedora} >= 36 || 0%{?rhel} >= 8
|
||||||
%global build_annobin_plugin 1
|
%global build_annobin_plugin 1
|
||||||
%else
|
%else
|
||||||
%global build_annobin_plugin 0
|
%global build_annobin_plugin 0
|
||||||
@ -147,7 +147,7 @@
|
|||||||
Summary: GCC version 12
|
Summary: GCC version 12
|
||||||
Name: %{?scl_prefix}gcc
|
Name: %{?scl_prefix}gcc
|
||||||
Version: %{gcc_version}
|
Version: %{gcc_version}
|
||||||
Release: %{gcc_release}.5%{?dist}
|
Release: %{gcc_release}.4%{?dist}
|
||||||
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
|
# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
|
||||||
# GCC Runtime Exception.
|
# GCC Runtime Exception.
|
||||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
|
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
|
||||||
@ -348,12 +348,9 @@ Patch8: gcc12-no-add-needed.patch
|
|||||||
Patch9: gcc12-Wno-format-security.patch
|
Patch9: gcc12-Wno-format-security.patch
|
||||||
Patch10: gcc12-rh1574936.patch
|
Patch10: gcc12-rh1574936.patch
|
||||||
Patch11: gcc12-d-shared-libphobos.patch
|
Patch11: gcc12-d-shared-libphobos.patch
|
||||||
Patch12: gcc12-pr105551.patch
|
Patch12: gcc12-pr107468.patch
|
||||||
Patch13: gcc12-libtsan-s390x.patch
|
Patch15: gcc12-static-libquadmath.patch
|
||||||
# This has been backported to GCC 12, so eventually we can drop it.
|
Patch16: gcc12-FMA-chains.patch
|
||||||
Patch14: gcc12-pr105991.patch
|
|
||||||
# For DTS 12.0.z.
|
|
||||||
Patch15: gcc12-detect-sapphirerapids.patch
|
|
||||||
|
|
||||||
Patch100: gcc12-fortran-fdec-duplicates.patch
|
Patch100: gcc12-fortran-fdec-duplicates.patch
|
||||||
Patch101: gcc12-fortran-flogical-as-integer.patch
|
Patch101: gcc12-fortran-flogical-as-integer.patch
|
||||||
@ -367,6 +364,7 @@ Patch1002: gcc12-libgfortran-compat.patch
|
|||||||
Patch2001: doxygen-1.7.1-config.patch
|
Patch2001: doxygen-1.7.1-config.patch
|
||||||
Patch2002: doxygen-1.7.5-timestamp.patch
|
Patch2002: doxygen-1.7.5-timestamp.patch
|
||||||
Patch2003: doxygen-1.8.0-rh856725.patch
|
Patch2003: doxygen-1.8.0-rh856725.patch
|
||||||
|
Patch2004: isl-rh2155127.patch
|
||||||
|
|
||||||
Patch3000: 0001-basic_string-reserve-n-semantics-are-not-available-i.patch
|
Patch3000: 0001-basic_string-reserve-n-semantics-are-not-available-i.patch
|
||||||
Patch3001: 0004-operator-istream-char-N-eofbit-fixes-are-not-availab.patch
|
Patch3001: 0004-operator-istream-char-N-eofbit-fixes-are-not-availab.patch
|
||||||
@ -388,6 +386,7 @@ Patch3016: 0019-xfails.patch
|
|||||||
Patch3017: 0020-more-fixes.patch
|
Patch3017: 0020-more-fixes.patch
|
||||||
Patch3018: 0021-libstdc++-disable-tests.patch
|
Patch3018: 0021-libstdc++-disable-tests.patch
|
||||||
Patch3019: 0022-libstdc++-revert-behavior.patch
|
Patch3019: 0022-libstdc++-revert-behavior.patch
|
||||||
|
Patch3020: gcc12-testsuite-typo.patch
|
||||||
|
|
||||||
%if 0%{?rhel} == 9
|
%if 0%{?rhel} == 9
|
||||||
%global nonsharedver 110
|
%global nonsharedver 110
|
||||||
@ -694,17 +693,17 @@ NVidia PTX. OpenMP and OpenACC programs linked with -fopenmp will
|
|||||||
by default add PTX code into the binaries, which can be offloaded
|
by default add PTX code into the binaries, which can be offloaded
|
||||||
to NVidia PTX capable devices if available.
|
to NVidia PTX capable devices if available.
|
||||||
|
|
||||||
%package plugin-annobin
|
|
||||||
Summary: The annobin plugin for gcc, built by the installed version of gcc
|
|
||||||
Requires: gcc = %{version}-%{release}
|
|
||||||
%if %{build_annobin_plugin}
|
%if %{build_annobin_plugin}
|
||||||
BuildRequires: annobin >= 10.62, annobin-plugin-gcc, rpm-devel, binutils-devel, xz
|
%package -n %{?scl_prefix}gcc-plugin-annobin
|
||||||
%endif
|
Summary: The annobin plugin for gcc, built by the installed version of gcc
|
||||||
|
Requires: %{?scl_prefix}gcc = %{version}-%{release}
|
||||||
|
BuildRequires: rpm-devel, binutils-devel, xz
|
||||||
|
|
||||||
%description plugin-annobin
|
%description -n %{?scl_prefix}gcc-plugin-annobin
|
||||||
This package adds a version of the annobin plugin for gcc. This version
|
This package adds a version of the annobin plugin for gcc. This version
|
||||||
of the plugin is explicitly built by the same version of gcc that is installed
|
of the plugin is explicitly built by the same version of gcc that is installed
|
||||||
so that there cannot be any synchronization problems.
|
so that there cannot be any synchronization problems.
|
||||||
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%if 0%{?rhel} >= 7
|
%if 0%{?rhel} >= 7
|
||||||
@ -729,10 +728,9 @@ so that there cannot be any synchronization problems.
|
|||||||
%patch10 -p0 -b .rh1574936~
|
%patch10 -p0 -b .rh1574936~
|
||||||
%endif
|
%endif
|
||||||
%patch11 -p0 -b .d-shared-libphobos~
|
%patch11 -p0 -b .d-shared-libphobos~
|
||||||
%patch12 -p0 -b .pr105551~
|
%patch12 -p0 -b .pr107468~
|
||||||
%patch13 -p0 -b .libtsan-s390x~
|
%patch15 -p0 -b .static-libquadmath~
|
||||||
%patch14 -p1 -b .pr105991~
|
%patch16 -p1 -b .fma~
|
||||||
%patch15 -p1 -b .detect-spr~
|
|
||||||
|
|
||||||
%if 0%{?rhel} >= 6
|
%if 0%{?rhel} >= 6
|
||||||
%patch100 -p1 -b .fortran-fdec-duplicates~
|
%patch100 -p1 -b .fortran-fdec-duplicates~
|
||||||
@ -770,6 +768,9 @@ cd doxygen-%{doxygen_version}
|
|||||||
cd ..
|
cd ..
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
%if %{build_isl}
|
||||||
|
%patch2004 -p0 -b .isl-rh2155127~
|
||||||
|
%endif
|
||||||
|
|
||||||
# Apply DTS-specific testsuite patches.
|
# Apply DTS-specific testsuite patches.
|
||||||
%patch3000 -p1 -b .dts-test-0~
|
%patch3000 -p1 -b .dts-test-0~
|
||||||
@ -794,6 +795,7 @@ cd ..
|
|||||||
%if 0%{?rhel} <= 7
|
%if 0%{?rhel} <= 7
|
||||||
%patch3019 -p1 -b .dts-test-19~
|
%patch3019 -p1 -b .dts-test-19~
|
||||||
%endif
|
%endif
|
||||||
|
%patch3020 -p1 -b .typo
|
||||||
|
|
||||||
find gcc/testsuite -name \*.pr96939~ | xargs rm -f
|
find gcc/testsuite -name \*.pr96939~ | xargs rm -f
|
||||||
|
|
||||||
@ -983,17 +985,24 @@ ISL_FLAG_PIC=-fPIC
|
|||||||
ISL_FLAG_PIC=-fpic
|
ISL_FLAG_PIC=-fpic
|
||||||
%endif
|
%endif
|
||||||
cd isl-build
|
cd isl-build
|
||||||
sed -i 's|libisl|libgcc12privateisl|g' \
|
sed -i 's|libisl\([^-]\)|libgcc12privateisl\1|g' \
|
||||||
../../isl-%{isl_version}/Makefile.{am,in}
|
../../isl-%{isl_version}/Makefile.{am,in}
|
||||||
|
# Prevent regenerating aclocal.m4 and other configure files, because we don't
|
||||||
|
# want to require aclocal-1.16 and similar. isl-rh2155127.patch modifies
|
||||||
|
# 'configure' so the Makefile would attempt to regenerate various files.
|
||||||
|
# See <https://bugzilla.redhat.com/show_bug.cgi?id=2155127#c11>.
|
||||||
|
touch ../../isl-%{isl_version}/{m4/*,aclocal.m4,Makefile.in,configure,isl_config.h.in}
|
||||||
../../isl-%{isl_version}/configure \
|
../../isl-%{isl_version}/configure \
|
||||||
CC=/usr/bin/gcc CXX=/usr/bin/g++ \
|
CC=/usr/bin/gcc CXX=/usr/bin/g++ \
|
||||||
CFLAGS="${CFLAGS:-%optflags} $ISL_FLAG_PIC" --prefix=`cd ..; pwd`/isl-install
|
CFLAGS="${CFLAGS:-%optflags} $ISL_FLAG_PIC" --prefix=`cd ..; pwd`/isl-install
|
||||||
|
# Make sure we build with -g (#2155127).
|
||||||
|
sed -i -e 's/CFLAGS =.*/& -g/' Makefile
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
make install
|
make install
|
||||||
cd ../isl-install/lib
|
cd ../isl-install/lib
|
||||||
rm libgcc12privateisl.so{,.15}
|
rm libgcc12privateisl.so{,.23}
|
||||||
mv libgcc12privateisl.so.15.3.0 libisl.so.15
|
mv libgcc12privateisl.so.23.1.0 libisl.so.23
|
||||||
ln -sf libisl.so.15 libisl.so
|
ln -sf libisl.so.23 libisl.so
|
||||||
cd ../..
|
cd ../..
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -1215,7 +1224,7 @@ make jit.sphinx.install-html jit_htmldir=`pwd`/../../rpm.doc/libgccjit-devel/htm
|
|||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
%if %{build_isl}
|
%if %{build_isl}
|
||||||
cp -a isl-install/lib/libisl.so.15 gcc/
|
cp -a isl-install/lib/libisl.so.23 gcc/
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Make generated man pages even if Pod::Man is not new enough
|
# Make generated man pages even if Pod::Man is not new enough
|
||||||
@ -1397,7 +1406,7 @@ ln -sf ../../../../bin/strip $FULLEPATH/strip
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{build_isl}
|
%if %{build_isl}
|
||||||
cp -a isl-install/lib/libisl.so.15 $FULLPATH/
|
cp -a isl-install/lib/libisl.so.23 $FULLPATH/
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# fix some things
|
# fix some things
|
||||||
@ -2099,7 +2108,19 @@ echo gcc-%{version}-%{release}.%{arch} > $FULLPATH/rpmver
|
|||||||
ln -s ../../libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so \
|
ln -s ../../libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so \
|
||||||
%{buildroot}%{_libdir}/bfd-plugins/
|
%{buildroot}%{_libdir}/bfd-plugins/
|
||||||
|
|
||||||
|
%if %{build_annobin_plugin}
|
||||||
|
mkdir -p $FULLPATH/plugin
|
||||||
|
rm -f $FULLPATH/plugin/gts-gcc-annobin*
|
||||||
|
cp -a %{_builddir}/gcc-%{version}-%{DATE}/annobin-plugin/annobin*/gcc-plugin/.libs/annobin.so.0.0.0 \
|
||||||
|
$FULLPATH/plugin/gts-gcc-annobin.so.0.0.0
|
||||||
|
pushd $FULLPATH/plugin/
|
||||||
|
ln -sf gts-gcc-annobin.so.0.0.0 gts-gcc-annobin.so.0
|
||||||
|
ln -sf gts-gcc-annobin.so.0.0.0 gts-gcc-annobin.so
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
|
||||||
%check
|
%check
|
||||||
|
|
||||||
cd obj-%{gcc_target_platform}
|
cd obj-%{gcc_target_platform}
|
||||||
|
|
||||||
%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}}
|
%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}}
|
||||||
@ -2465,7 +2486,6 @@ fi
|
|||||||
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1
|
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1
|
||||||
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/collect2
|
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/collect2
|
||||||
%if 0%{?scl:1}
|
%if 0%{?scl:1}
|
||||||
%if 0%{?rhel} <= 7
|
|
||||||
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ar
|
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ar
|
||||||
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/as
|
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/as
|
||||||
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ld
|
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ld
|
||||||
@ -2476,7 +2496,6 @@ fi
|
|||||||
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ranlib
|
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ranlib
|
||||||
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/strip
|
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/strip
|
||||||
%endif
|
%endif
|
||||||
%endif
|
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/crt*.o
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/crt*.o
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc.a
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc.a
|
||||||
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcov.a
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcov.a
|
||||||
@ -2616,6 +2635,17 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* gcc/COPYING* COPYING.RUNTIME
|
%doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* gcc/COPYING* COPYING.RUNTIME
|
||||||
|
|
||||||
|
%if %{build_annobin_plugin}
|
||||||
|
%files -n %{?scl_prefix}gcc-plugin-annobin
|
||||||
|
%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}/plugin
|
||||||
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/gts-gcc-annobin.so
|
||||||
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/gts-gcc-annobin.so.0
|
||||||
|
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/gts-gcc-annobin.so.0.0.0
|
||||||
|
%endif
|
||||||
|
|
||||||
%files c++
|
%files c++
|
||||||
%{_prefix}/bin/%{gcc_target_platform}-g++%{!?scl:12}
|
%{_prefix}/bin/%{gcc_target_platform}-g++%{!?scl:12}
|
||||||
%{_prefix}/bin/g++%{!?scl:12}
|
%{_prefix}/bin/g++%{!?scl:12}
|
||||||
@ -2960,11 +2990,34 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Tue Dec 13 2022 Marek Polacek <polacek@redhat.com> 12.1.1-3.5
|
* Fri Feb 10 2023 Marek Polacek <polacek@redhat.com> 12.2.1-7.4
|
||||||
- bump NVR (#2150126)
|
- avoid fma_chain for -march=alderlake and sapphirerapids (#2168919)
|
||||||
|
|
||||||
* Mon Dec 5 2022 Marek Polacek <polacek@redhat.com> 12.1.1-3.4
|
* Wed Jan 25 2023 Marek Polacek <polacek@redhat.com> 12.2.1-7.3
|
||||||
- fix Sapphire Rapids detection in host_detect_local_cpu (#2150126)
|
- provide libexec/ symlinks on all RHELs (#2164262)
|
||||||
|
|
||||||
|
* Wed Jan 11 2023 Marek Polacek <polacek@redhat.com> 12.2.1-7.2
|
||||||
|
- build libisl.so with -g (#2154936)
|
||||||
|
|
||||||
|
* Tue Dec 20 2022 Marek Polacek <polacek@redhat.com> 12.2.1-6.1
|
||||||
|
- apply an ISL patch (#2154936)
|
||||||
|
|
||||||
|
* Wed Dec 14 2022 Nick Clifton <nickc@redhat.com> 12.2.1-6
|
||||||
|
- Fixed run-time requirement for annobin plugin. (#2151927)
|
||||||
|
|
||||||
|
* Tue Dec 13 2022 Nick Clifton <nickc@redhat.com> 12.2.1-5
|
||||||
|
- Build the annobin plugin. Call it gts-gcc-annobin.so. (#2151927)
|
||||||
|
|
||||||
|
* Wed Nov 30 2022 Marek Polacek <polacek@redhat.com> 12.2.1-4
|
||||||
|
- update from releases/gcc-12 branch (#2110583)
|
||||||
|
- fix up std::from_chars behavior in rounding modes other than FE_TONEAREST
|
||||||
|
(PR libstdc++/107468)
|
||||||
|
|
||||||
|
* Wed Nov 30 2022 Marek Polacek <polacek@redhat.com> 12.1.1-3.4
|
||||||
|
- fix pr86731-fwrapv-longlong.c (#2134379)
|
||||||
|
|
||||||
|
* Wed Nov 30 2022 Marek Polacek <polacek@redhat.com> 12.1.1-3.3
|
||||||
|
- add -static-libquadmath (#2131082)
|
||||||
|
|
||||||
* Fri Jul 8 2022 Marek Polacek <polacek@redhat.com> 12.1.1-3.2
|
* Fri Jul 8 2022 Marek Polacek <polacek@redhat.com> 12.1.1-3.2
|
||||||
- recognize PLUS and XOR forms of rldimi (PR target/105991, #2095789)
|
- recognize PLUS and XOR forms of rldimi (PR target/105991, #2095789)
|
||||||
|
Loading…
Reference in New Issue
Block a user