!305 [sync] PR-288: [Sync] Sync patch from openeuler/gcc
From: @openeuler-sync-bot Reviewed-by: @li-yancheng Signed-off-by: @li-yancheng
This commit is contained in:
commit
5d9cde876f
474
0096-libquadmath-Revert-Enable-libquadmath-on-kunpeng.patch
Normal file
474
0096-libquadmath-Revert-Enable-libquadmath-on-kunpeng.patch
Normal file
@ -0,0 +1,474 @@
|
||||
From 95dc65ad458a6c781536e30e65fdeec42349a0c9 Mon Sep 17 00:00:00 2001
|
||||
From: eastb233 <xiezhiheng@huawei.com>
|
||||
Date: Wed, 31 May 2023 10:39:56 +0800
|
||||
Subject: [PATCH 1/3] [libquadmath] Revert "Enable libquadmath on kunpeng"
|
||||
|
||||
This reverts commit 85740d3cc56fda699beae689b5d73233d16097af.
|
||||
|
||||
Revert original libquadmath feature to refactor it.
|
||||
---
|
||||
libquadmath/Makefile.in | 353 ++++++++++++++++++++--------------------
|
||||
libquadmath/quadmath.h | 6 +-
|
||||
2 files changed, 178 insertions(+), 181 deletions(-)
|
||||
|
||||
diff --git a/libquadmath/Makefile.in b/libquadmath/Makefile.in
|
||||
index 66df9c922..8c0112122 100644
|
||||
--- a/libquadmath/Makefile.in
|
||||
+++ b/libquadmath/Makefile.in
|
||||
@@ -90,7 +90,7 @@ POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
-#libquadmath_la_DEPENDENCIES =
|
||||
+@BUILD_LIBQUADMATH_FALSE@libquadmath_la_DEPENDENCIES =
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
|
||||
@@ -147,68 +147,68 @@ am__installdirs = "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(infodir)" \
|
||||
"$(DESTDIR)$(libsubincludedir)"
|
||||
LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
|
||||
am__dirstamp = $(am__leading_dot)dirstamp
|
||||
-am_libquadmath_la_OBJECTS = math/x2y2m1q.lo \
|
||||
- math/acoshq.lo math/fmodq.lo \
|
||||
- math/acosq.lo math/frexpq.lo \
|
||||
- math/rem_pio2q.lo math/asinhq.lo \
|
||||
- math/hypotq.lo math/remainderq.lo \
|
||||
- math/asinq.lo math/rintq.lo \
|
||||
- math/atan2q.lo math/isinfq.lo \
|
||||
- math/roundq.lo math/atanhq.lo \
|
||||
- math/isnanq.lo math/scalblnq.lo \
|
||||
- math/atanq.lo math/j0q.lo \
|
||||
- math/scalbnq.lo math/cbrtq.lo \
|
||||
- math/j1q.lo math/signbitq.lo \
|
||||
- math/ceilq.lo math/jnq.lo \
|
||||
- math/sincos_table.lo math/complex.lo \
|
||||
- math/ldexpq.lo math/sincosq.lo \
|
||||
- math/copysignq.lo math/lgammaq.lo \
|
||||
- math/sincosq_kernel.lo math/coshq.lo \
|
||||
- math/llroundq.lo math/sinhq.lo \
|
||||
- math/cosq.lo math/log10q.lo \
|
||||
- math/sinq.lo math/cosq_kernel.lo \
|
||||
- math/log1pq.lo math/sinq_kernel.lo \
|
||||
- math/erfq.lo math/logq.lo \
|
||||
- math/sqrtq.lo math/expm1q.lo \
|
||||
- math/lroundq.lo math/tanhq.lo \
|
||||
- math/expq.lo math/modfq.lo \
|
||||
- math/tanq.lo math/fabsq.lo \
|
||||
- math/nanq.lo math/tgammaq.lo \
|
||||
- math/finiteq.lo math/nextafterq.lo \
|
||||
- math/truncq.lo math/floorq.lo \
|
||||
- math/powq.lo math/fmaq.lo \
|
||||
- math/logbq.lo math/exp2q.lo \
|
||||
- math/issignalingq.lo \
|
||||
- math/lgammaq_neg.lo \
|
||||
- math/lgammaq_product.lo \
|
||||
- math/tanq_kernel.lo \
|
||||
- math/tgammaq_product.lo \
|
||||
- math/casinhq_kernel.lo math/cacoshq.lo \
|
||||
- math/cacosq.lo math/casinhq.lo \
|
||||
- math/casinq.lo math/catanhq.lo \
|
||||
- math/catanq.lo math/cimagq.lo \
|
||||
- math/conjq.lo math/cprojq.lo \
|
||||
- math/crealq.lo math/fdimq.lo \
|
||||
- math/fmaxq.lo math/fminq.lo \
|
||||
- math/ilogbq.lo math/llrintq.lo \
|
||||
- math/log2q.lo math/lrintq.lo \
|
||||
- math/nearbyintq.lo math/remquoq.lo \
|
||||
- math/ccoshq.lo math/cexpq.lo \
|
||||
- math/clog10q.lo math/clogq.lo \
|
||||
- math/csinq.lo math/csinhq.lo \
|
||||
- math/csqrtq.lo math/ctanq.lo \
|
||||
- math/ctanhq.lo printf/addmul_1.lo \
|
||||
- printf/add_n.lo printf/cmp.lo \
|
||||
- printf/divrem.lo printf/flt1282mpn.lo \
|
||||
- printf/fpioconst.lo printf/lshift.lo \
|
||||
- printf/mul_1.lo printf/mul_n.lo \
|
||||
- printf/mul.lo printf/printf_fphex.lo \
|
||||
- printf/printf_fp.lo \
|
||||
- printf/quadmath-printf.lo \
|
||||
- printf/rshift.lo printf/submul_1.lo \
|
||||
- printf/sub_n.lo strtod/strtoflt128.lo \
|
||||
- strtod/mpn2flt128.lo \
|
||||
- strtod/tens_in_limb.lo
|
||||
+@BUILD_LIBQUADMATH_TRUE@am_libquadmath_la_OBJECTS = math/x2y2m1q.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/acoshq.lo math/fmodq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/acosq.lo math/frexpq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/rem_pio2q.lo math/asinhq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/hypotq.lo math/remainderq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/asinq.lo math/rintq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/atan2q.lo math/isinfq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/roundq.lo math/atanhq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/isnanq.lo math/scalblnq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/atanq.lo math/j0q.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/scalbnq.lo math/cbrtq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/j1q.lo math/signbitq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/ceilq.lo math/jnq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/sincos_table.lo math/complex.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/ldexpq.lo math/sincosq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/copysignq.lo math/lgammaq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/sincosq_kernel.lo math/coshq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/llroundq.lo math/sinhq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/cosq.lo math/log10q.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/sinq.lo math/cosq_kernel.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/log1pq.lo math/sinq_kernel.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/erfq.lo math/logq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/sqrtq.lo math/expm1q.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/lroundq.lo math/tanhq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/expq.lo math/modfq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/tanq.lo math/fabsq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/nanq.lo math/tgammaq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/finiteq.lo math/nextafterq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/truncq.lo math/floorq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/powq.lo math/fmaq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/logbq.lo math/exp2q.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/issignalingq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/lgammaq_neg.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/lgammaq_product.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/tanq_kernel.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/tgammaq_product.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/casinhq_kernel.lo math/cacoshq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/cacosq.lo math/casinhq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/casinq.lo math/catanhq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/catanq.lo math/cimagq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/conjq.lo math/cprojq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/crealq.lo math/fdimq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/fmaxq.lo math/fminq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/ilogbq.lo math/llrintq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/log2q.lo math/lrintq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/nearbyintq.lo math/remquoq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/ccoshq.lo math/cexpq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/clog10q.lo math/clogq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/csinq.lo math/csinhq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/csqrtq.lo math/ctanq.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/ctanhq.lo printf/addmul_1.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ printf/add_n.lo printf/cmp.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ printf/divrem.lo printf/flt1282mpn.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ printf/fpioconst.lo printf/lshift.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ printf/mul_1.lo printf/mul_n.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ printf/mul.lo printf/printf_fphex.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ printf/printf_fp.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ printf/quadmath-printf.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ printf/rshift.lo printf/submul_1.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ printf/sub_n.lo strtod/strtoflt128.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ strtod/mpn2flt128.lo \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ strtod/tens_in_limb.lo
|
||||
libquadmath_la_OBJECTS = $(am_libquadmath_la_OBJECTS)
|
||||
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||
@@ -218,8 +218,8 @@ libquadmath_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
|
||||
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
|
||||
$(AM_CFLAGS) $(CFLAGS) $(libquadmath_la_LDFLAGS) $(LDFLAGS) -o \
|
||||
$@
|
||||
-am_libquadmath_la_rpath = -rpath \
|
||||
- $(toolexeclibdir)
|
||||
+@BUILD_LIBQUADMATH_TRUE@am_libquadmath_la_rpath = -rpath \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ $(toolexeclibdir)
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
@@ -337,7 +337,7 @@ CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
-DEFS = @DEFS@ -D__float128="long double"
|
||||
+DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
@@ -409,7 +409,7 @@ datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
-enable_shared = yes
|
||||
+enable_shared = @enable_shared@
|
||||
enable_static = @enable_static@
|
||||
exec_prefix = @exec_prefix@
|
||||
get_gcc_base_ver = @get_gcc_base_ver@
|
||||
@@ -451,109 +451,109 @@ top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
AUTOMAKE_OPTIONS = foreign info-in-builddir
|
||||
-ACLOCAL_AMFLAGS = -I .. -I ../config
|
||||
-AM_CPPFLAGS = -I $(top_srcdir)/../include
|
||||
-AM_CFLAGS = $(XCFLAGS)
|
||||
-gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
|
||||
-@LIBQUAD_USE_SYMVER_FALSE@version_arg =
|
||||
-@LIBQUAD_USE_SYMVER_GNU_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_arg = -Wl,--version-script=$(srcdir)/quadmath.map
|
||||
-@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_arg = -Wl,-M,quadmath.map-sun
|
||||
-@LIBQUAD_USE_SYMVER_FALSE@version_dep =
|
||||
-@LIBQUAD_USE_SYMVER_GNU_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_dep = $(srcdir)/quadmath.map
|
||||
-@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_dep = quadmath.map-sun
|
||||
-toolexeclib_LTLIBRARIES = libquadmath.la
|
||||
-libquadmath_la_LIBADD =
|
||||
-libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
|
||||
- $(version_arg) $(lt_host_flags) -lm
|
||||
-
|
||||
-libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD)
|
||||
-nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h
|
||||
-libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
|
||||
-libquadmath_la_SOURCES = \
|
||||
- math/x2y2m1q.c math/acoshq.c math/fmodq.c \
|
||||
- math/acosq.c math/frexpq.c \
|
||||
- math/rem_pio2q.c math/asinhq.c math/hypotq.c math/remainderq.c \
|
||||
- math/asinq.c math/rintq.c math/atan2q.c math/isinfq.c \
|
||||
- math/roundq.c math/atanhq.c math/isnanq.c math/scalblnq.c math/atanq.c \
|
||||
- math/j0q.c math/scalbnq.c math/cbrtq.c math/j1q.c math/signbitq.c \
|
||||
- math/ceilq.c math/jnq.c math/sincos_table.c math/complex.c math/ldexpq.c \
|
||||
- math/sincosq.c math/copysignq.c math/lgammaq.c math/sincosq_kernel.c \
|
||||
- math/coshq.c math/llroundq.c math/sinhq.c math/cosq.c math/log10q.c \
|
||||
- math/sinq.c math/cosq_kernel.c math/log1pq.c math/sinq_kernel.c \
|
||||
- math/erfq.c math/logq.c math/sqrtq.c math/expm1q.c math/lroundq.c \
|
||||
- math/tanhq.c math/expq.c math/modfq.c math/tanq.c math/fabsq.c \
|
||||
- math/nanq.c math/tgammaq.c math/finiteq.c math/nextafterq.c \
|
||||
- math/truncq.c math/floorq.c math/powq.c math/fmaq.c math/logbq.c \
|
||||
- math/exp2q.c math/issignalingq.c math/lgammaq_neg.c math/lgammaq_product.c \
|
||||
- math/tanq_kernel.c math/tgammaq_product.c math/casinhq_kernel.c \
|
||||
- math/cacoshq.c math/cacosq.c math/casinhq.c math/casinq.c \
|
||||
- math/catanhq.c math/catanq.c math/cimagq.c math/conjq.c math/cprojq.c \
|
||||
- math/crealq.c math/fdimq.c math/fmaxq.c math/fminq.c math/ilogbq.c \
|
||||
- math/llrintq.c math/log2q.c math/lrintq.c math/nearbyintq.c math/remquoq.c \
|
||||
- math/ccoshq.c math/cexpq.c math/clog10q.c math/clogq.c math/csinq.c \
|
||||
- math/csinhq.c math/csqrtq.c math/ctanq.c math/ctanhq.c \
|
||||
- printf/addmul_1.c printf/add_n.c printf/cmp.c printf/divrem.c \
|
||||
- printf/flt1282mpn.c printf/fpioconst.c printf/lshift.c printf/mul_1.c \
|
||||
- printf/mul_n.c printf/mul.c printf/printf_fphex.c printf/printf_fp.c \
|
||||
- printf/quadmath-printf.c printf/rshift.c printf/submul_1.c printf/sub_n.c \
|
||||
- strtod/strtoflt128.c strtod/mpn2flt128.c strtod/tens_in_limb.c
|
||||
+@BUILD_LIBQUADMATH_TRUE@ACLOCAL_AMFLAGS = -I .. -I ../config
|
||||
+@BUILD_LIBQUADMATH_TRUE@AM_CPPFLAGS = -I $(top_srcdir)/../include
|
||||
+@BUILD_LIBQUADMATH_TRUE@AM_CFLAGS = $(XCFLAGS)
|
||||
+@BUILD_LIBQUADMATH_TRUE@gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_FALSE@version_arg =
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_GNU_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_arg = -Wl,--version-script=$(srcdir)/quadmath.map
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_arg = -Wl,-M,quadmath.map-sun
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_FALSE@version_dep =
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_GNU_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_dep = $(srcdir)/quadmath.map
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_dep = quadmath.map-sun
|
||||
+@BUILD_LIBQUADMATH_TRUE@toolexeclib_LTLIBRARIES = libquadmath.la
|
||||
+@BUILD_LIBQUADMATH_TRUE@libquadmath_la_LIBADD =
|
||||
+@BUILD_LIBQUADMATH_TRUE@libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ $(version_arg) $(lt_host_flags) -lm
|
||||
+
|
||||
+@BUILD_LIBQUADMATH_TRUE@libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD)
|
||||
+@BUILD_LIBQUADMATH_TRUE@nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h
|
||||
+@BUILD_LIBQUADMATH_TRUE@libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
|
||||
+@BUILD_LIBQUADMATH_TRUE@libquadmath_la_SOURCES = \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/x2y2m1q.c math/acoshq.c math/fmodq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/acosq.c math/frexpq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/rem_pio2q.c math/asinhq.c math/hypotq.c math/remainderq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/asinq.c math/rintq.c math/atan2q.c math/isinfq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/roundq.c math/atanhq.c math/isnanq.c math/scalblnq.c math/atanq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/j0q.c math/scalbnq.c math/cbrtq.c math/j1q.c math/signbitq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/ceilq.c math/jnq.c math/sincos_table.c math/complex.c math/ldexpq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/sincosq.c math/copysignq.c math/lgammaq.c math/sincosq_kernel.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/coshq.c math/llroundq.c math/sinhq.c math/cosq.c math/log10q.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/sinq.c math/cosq_kernel.c math/log1pq.c math/sinq_kernel.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/erfq.c math/logq.c math/sqrtq.c math/expm1q.c math/lroundq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/tanhq.c math/expq.c math/modfq.c math/tanq.c math/fabsq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/nanq.c math/tgammaq.c math/finiteq.c math/nextafterq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/truncq.c math/floorq.c math/powq.c math/fmaq.c math/logbq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/exp2q.c math/issignalingq.c math/lgammaq_neg.c math/lgammaq_product.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/tanq_kernel.c math/tgammaq_product.c math/casinhq_kernel.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/cacoshq.c math/cacosq.c math/casinhq.c math/casinq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/catanhq.c math/catanq.c math/cimagq.c math/conjq.c math/cprojq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/crealq.c math/fdimq.c math/fmaxq.c math/fminq.c math/ilogbq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/llrintq.c math/log2q.c math/lrintq.c math/nearbyintq.c math/remquoq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/ccoshq.c math/cexpq.c math/clog10q.c math/clogq.c math/csinq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ math/csinhq.c math/csqrtq.c math/ctanq.c math/ctanhq.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ printf/addmul_1.c printf/add_n.c printf/cmp.c printf/divrem.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ printf/flt1282mpn.c printf/fpioconst.c printf/lshift.c printf/mul_1.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ printf/mul_n.c printf/mul.c printf/printf_fphex.c printf/printf_fp.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ printf/quadmath-printf.c printf/rshift.c printf/submul_1.c printf/sub_n.c \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ strtod/strtoflt128.c strtod/mpn2flt128.c strtod/tens_in_limb.c
|
||||
|
||||
|
||||
# Work around what appears to be a GNU make bug handling MAKEFLAGS
|
||||
# values defined in terms of make variables, as is the case for CC and
|
||||
# friends when we are called from the top level Makefile.
|
||||
-AM_MAKEFLAGS = \
|
||||
- "AR_FLAGS=$(AR_FLAGS)" \
|
||||
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
|
||||
- "CFLAGS=$(CFLAGS)" \
|
||||
- "CXXFLAGS=$(CXXFLAGS)" \
|
||||
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
|
||||
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
|
||||
- "INSTALL=$(INSTALL)" \
|
||||
- "INSTALL_DATA=$(INSTALL_DATA)" \
|
||||
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
||||
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
|
||||
- "JC1FLAGS=$(JC1FLAGS)" \
|
||||
- "LDFLAGS=$(LDFLAGS)" \
|
||||
- "LIBCFLAGS=$(LIBCFLAGS)" \
|
||||
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
|
||||
- "MAKE=$(MAKE)" \
|
||||
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
|
||||
- "PICFLAG=$(PICFLAG)" \
|
||||
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
|
||||
- "SHELL=$(SHELL)" \
|
||||
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
|
||||
- "exec_prefix=$(exec_prefix)" \
|
||||
- "infodir=$(infodir)" \
|
||||
- "libdir=$(libdir)" \
|
||||
- "prefix=$(prefix)" \
|
||||
- "includedir=$(includedir)" \
|
||||
- "AR=$(AR)" \
|
||||
- "AS=$(AS)" \
|
||||
- "CC=$(CC)" \
|
||||
- "CXX=$(CXX)" \
|
||||
- "LD=$(LD)" \
|
||||
- "LIBCFLAGS=$(LIBCFLAGS)" \
|
||||
- "NM=$(NM)" \
|
||||
- "PICFLAG=$(PICFLAG)" \
|
||||
- "RANLIB=$(RANLIB)" \
|
||||
- "DESTDIR=$(DESTDIR)"
|
||||
+@BUILD_LIBQUADMATH_TRUE@AM_MAKEFLAGS = \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "AR_FLAGS=$(AR_FLAGS)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "CFLAGS=$(CFLAGS)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "CXXFLAGS=$(CXXFLAGS)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "INSTALL=$(INSTALL)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "INSTALL_DATA=$(INSTALL_DATA)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "JC1FLAGS=$(JC1FLAGS)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "LDFLAGS=$(LDFLAGS)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "LIBCFLAGS=$(LIBCFLAGS)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "MAKE=$(MAKE)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "PICFLAG=$(PICFLAG)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "SHELL=$(SHELL)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "exec_prefix=$(exec_prefix)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "infodir=$(infodir)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "libdir=$(libdir)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "prefix=$(prefix)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "includedir=$(includedir)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "AR=$(AR)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "AS=$(AS)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "CC=$(CC)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "CXX=$(CXX)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "LD=$(LD)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "LIBCFLAGS=$(LIBCFLAGS)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "NM=$(NM)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "PICFLAG=$(PICFLAG)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "RANLIB=$(RANLIB)" \
|
||||
+@BUILD_LIBQUADMATH_TRUE@ "DESTDIR=$(DESTDIR)"
|
||||
|
||||
|
||||
# Subdir rules rely on $(FLAGS_TO_PASS)
|
||||
-FLAGS_TO_PASS = $(AM_MAKEFLAGS)
|
||||
-MAKEOVERRIDES =
|
||||
-@GENINSRC_FALSE@STAMP_GENINSRC =
|
||||
+@BUILD_LIBQUADMATH_TRUE@FLAGS_TO_PASS = $(AM_MAKEFLAGS)
|
||||
+@BUILD_LIBQUADMATH_TRUE@MAKEOVERRIDES =
|
||||
+@BUILD_LIBQUADMATH_TRUE@@GENINSRC_FALSE@STAMP_GENINSRC =
|
||||
|
||||
# AM_CONDITIONAL on configure option --generated-files-in-srcdir
|
||||
-@GENINSRC_TRUE@STAMP_GENINSRC = stamp-geninsrc
|
||||
-ALL_LOCAL_DEPS = $(STAMP_GENINSRC)
|
||||
-@BUILD_INFO_FALSE@STAMP_BUILD_INFO =
|
||||
+@BUILD_LIBQUADMATH_TRUE@@GENINSRC_TRUE@STAMP_GENINSRC = stamp-geninsrc
|
||||
+@BUILD_LIBQUADMATH_TRUE@ALL_LOCAL_DEPS = $(STAMP_GENINSRC)
|
||||
+@BUILD_INFO_FALSE@@BUILD_LIBQUADMATH_TRUE@STAMP_BUILD_INFO =
|
||||
|
||||
# AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO])
|
||||
-@BUILD_INFO_TRUE@STAMP_BUILD_INFO = stamp-build-info
|
||||
-CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO)
|
||||
-MAINTAINERCLEANFILES = $(srcdir)/libquadmath.info
|
||||
+@BUILD_INFO_TRUE@@BUILD_LIBQUADMATH_TRUE@STAMP_BUILD_INFO = stamp-build-info
|
||||
+@BUILD_LIBQUADMATH_TRUE@CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO)
|
||||
+@BUILD_LIBQUADMATH_TRUE@MAINTAINERCLEANFILES = $(srcdir)/libquadmath.info
|
||||
|
||||
# Automake Documentation:
|
||||
# If your package has Texinfo files in many directories, you can use the
|
||||
@@ -564,8 +564,8 @@ TEXINFO_TEX = ../gcc/doc/include/texinfo.tex
|
||||
|
||||
# Defines info, dvi, pdf and html targets
|
||||
MAKEINFOFLAGS = -I $(srcdir)/../gcc/doc/include
|
||||
-info_TEXINFOS =
|
||||
-info_TEXINFOS = libquadmath.texi
|
||||
+@BUILD_LIBQUADMATH_FALSE@info_TEXINFOS =
|
||||
+@BUILD_LIBQUADMATH_TRUE@info_TEXINFOS = libquadmath.texi
|
||||
libquadmath_TEXINFOS = libquadmath-vers.texi
|
||||
MULTISRCTOP =
|
||||
MULTIBUILDTOP =
|
||||
@@ -1187,7 +1187,6 @@ distclean-tags:
|
||||
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
-#all-local
|
||||
all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(HEADERS) config.h \
|
||||
all-local
|
||||
installdirs:
|
||||
@@ -1426,22 +1425,22 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
-@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@quadmath.map-sun : $(srcdir)/quadmath.map \
|
||||
-@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ $(top_srcdir)/../contrib/make_sunver.pl \
|
||||
-@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ $(libquadmath_la_OBJECTS) $(libquadmath_la_LIBADD)
|
||||
-@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ perl $(top_srcdir)/../contrib/make_sunver.pl \
|
||||
-@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ $(srcdir)/quadmath.map \
|
||||
-@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ `echo $(libquadmath_la_OBJECTS) $(libquadmath_la_LIBADD) | \
|
||||
-@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \
|
||||
-@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ > $@ || (rm -f $@ ; exit 1)
|
||||
-
|
||||
-stamp-geninsrc: libquadmath.info
|
||||
- cp -p $(top_builddir)/libquadmath.info $(srcdir)/libquadmath.info
|
||||
- @touch $@
|
||||
-
|
||||
-stamp-build-info: libquadmath.texi $(libquadmath_TEXINFOS)
|
||||
- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libquadmath.info $(srcdir)/libquadmath.texi
|
||||
- @touch $@
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@quadmath.map-sun : $(srcdir)/quadmath.map \
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ $(top_srcdir)/../contrib/make_sunver.pl \
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ $(libquadmath_la_OBJECTS) $(libquadmath_la_LIBADD)
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ perl $(top_srcdir)/../contrib/make_sunver.pl \
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ $(srcdir)/quadmath.map \
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ `echo $(libquadmath_la_OBJECTS) $(libquadmath_la_LIBADD) | \
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \
|
||||
+@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ > $@ || (rm -f $@ ; exit 1)
|
||||
+
|
||||
+@BUILD_LIBQUADMATH_TRUE@stamp-geninsrc: libquadmath.info
|
||||
+@BUILD_LIBQUADMATH_TRUE@ cp -p $(top_builddir)/libquadmath.info $(srcdir)/libquadmath.info
|
||||
+@BUILD_LIBQUADMATH_TRUE@ @touch $@
|
||||
+
|
||||
+@BUILD_LIBQUADMATH_TRUE@stamp-build-info: libquadmath.texi $(libquadmath_TEXINFOS)
|
||||
+@BUILD_LIBQUADMATH_TRUE@ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libquadmath.info $(srcdir)/libquadmath.texi
|
||||
+@BUILD_LIBQUADMATH_TRUE@ @touch $@
|
||||
|
||||
all-local: $(ALL_LOCAL_DEPS)
|
||||
|
||||
diff --git a/libquadmath/quadmath.h b/libquadmath/quadmath.h
|
||||
index faa5977cb..81eb957d2 100644
|
||||
--- a/libquadmath/quadmath.h
|
||||
+++ b/libquadmath/quadmath.h
|
||||
@@ -27,9 +27,6 @@ Boston, MA 02110-1301, USA. */
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
-#ifdef AARCH64_QUADMATH
|
||||
-typedef long double __float128;
|
||||
-#endif
|
||||
/* Define the complex type corresponding to __float128
|
||||
("_Complex __float128" is not allowed) */
|
||||
#if (!defined(_ARCH_PPC)) || defined(__LONG_DOUBLE_IEEE128__)
|
||||
@@ -163,9 +160,10 @@ extern int quadmath_snprintf (char *str, size_t size,
|
||||
#define FLT128_MAX_10_EXP 4932
|
||||
|
||||
|
||||
+#define HUGE_VALQ __builtin_huge_valq()
|
||||
/* The following alternative is valid, but brings the warning:
|
||||
(floating constant exceeds range of ‘__float128’) */
|
||||
- #define HUGE_VALQ (__extension__ 0x1.0p32767Q)
|
||||
+/* #define HUGE_VALQ (__extension__ 0x1.0p32767Q) */
|
||||
|
||||
#define M_Eq 2.718281828459045235360287471352662498Q /* e */
|
||||
#define M_LOG2Eq 1.442695040888963407359924681001892137Q /* log_2 e */
|
||||
--
|
||||
2.33.0
|
||||
|
||||
197
0097-libquadmath-refactor-Enable-libquadmath-on-kunpeng.patch
Normal file
197
0097-libquadmath-refactor-Enable-libquadmath-on-kunpeng.patch
Normal file
@ -0,0 +1,197 @@
|
||||
From 60e80a17a7019026dc7e2da9dc597c9fdf426e33 Mon Sep 17 00:00:00 2001
|
||||
From: eastb233 <xiezhiheng@huawei.com>
|
||||
Date: Wed, 31 May 2023 10:48:47 +0800
|
||||
Subject: [PATCH 2/3] [libquadmath][refactor] Enable libquadmath on kunpeng
|
||||
|
||||
This enable libquadmath on kunpeng platform to convenient
|
||||
users that migrating from x86 platform. libquadmath uses "__float128"
|
||||
as quad precision floating point type and with math functions with "q"
|
||||
suffix like "cosq". For those who do not need to adapt to x86 platform,
|
||||
you can use "long double" as quad precision floating point type and math
|
||||
functions with "l" suffix like "cosl" in libm for quad precision math.
|
||||
---
|
||||
libquadmath/Makefile.am | 4 ++++
|
||||
libquadmath/Makefile.in | 3 ++-
|
||||
libquadmath/configure | 28 ++++++++++++++++++++++++++--
|
||||
libquadmath/configure.ac | 7 +++++++
|
||||
libquadmath/quadmath.h | 13 +++++++++++--
|
||||
5 files changed, 50 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/libquadmath/Makefile.am b/libquadmath/Makefile.am
|
||||
index 35dffb46f..bf0398d9c 100644
|
||||
--- a/libquadmath/Makefile.am
|
||||
+++ b/libquadmath/Makefile.am
|
||||
@@ -2,6 +2,10 @@
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign info-in-builddir
|
||||
|
||||
+if ARCH_AARCH64
|
||||
+DEFS += -D__float128="long double"
|
||||
+endif
|
||||
+
|
||||
## Skip over everything if the quadlib is not available:
|
||||
if BUILD_LIBQUADMATH
|
||||
ACLOCAL_AMFLAGS = -I .. -I ../config
|
||||
diff --git a/libquadmath/Makefile.in b/libquadmath/Makefile.in
|
||||
index 8c0112122..449cc8a06 100644
|
||||
--- a/libquadmath/Makefile.in
|
||||
+++ b/libquadmath/Makefile.in
|
||||
@@ -90,6 +90,7 @@ POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
+@ARCH_AARCH64_TRUE@am__append_1 = -D__float128="long double"
|
||||
@BUILD_LIBQUADMATH_FALSE@libquadmath_la_DEPENDENCIES =
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
@@ -337,7 +338,7 @@ CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
-DEFS = @DEFS@
|
||||
+DEFS = @DEFS@ $(am__append_1)
|
||||
DEPDIR = @DEPDIR@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
diff --git a/libquadmath/configure b/libquadmath/configure
|
||||
index b5b212c06..da41959ee 100644
|
||||
--- a/libquadmath/configure
|
||||
+++ b/libquadmath/configure
|
||||
@@ -633,6 +633,8 @@ am__EXEEXT_TRUE
|
||||
LTLIBOBJS
|
||||
LIBOBJS
|
||||
get_gcc_base_ver
|
||||
+ARCH_AARCH64_FALSE
|
||||
+ARCH_AARCH64_TRUE
|
||||
GENINSRC_FALSE
|
||||
GENINSRC_TRUE
|
||||
XCFLAGS
|
||||
@@ -10816,7 +10818,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
-#line 10819 "configure"
|
||||
+#line 10821 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@@ -10922,7 +10924,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
-#line 10925 "configure"
|
||||
+#line 10927 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@@ -12715,6 +12717,11 @@ else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
+ #if defined(__aarch64__)
|
||||
+ typedef long double __float128;
|
||||
+ #define __builtin_huge_valq() (__extension__ 0x1.0p32767Q)
|
||||
+ #endif
|
||||
+
|
||||
#if (!defined(_ARCH_PPC)) || defined(__LONG_DOUBLE_IEEE128__)
|
||||
typedef _Complex float __attribute__((mode(TC))) __complex128;
|
||||
#else
|
||||
@@ -12766,6 +12773,11 @@ fi
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
+ #if defined(__aarch64__)
|
||||
+ typedef long double __float128;
|
||||
+ #define __builtin_huge_valq() (__extension__ 0x1.0p32767Q)
|
||||
+ #endif
|
||||
+
|
||||
#if (!defined(_ARCH_PPC)) || defined(__LONG_DOUBLE_IEEE128__)
|
||||
typedef _Complex float __attribute__((mode(TC))) __complex128;
|
||||
#else
|
||||
@@ -13224,6 +13236,14 @@ else
|
||||
GENINSRC_FALSE=
|
||||
fi
|
||||
|
||||
+ if expr "$target_cpu" : "aarch64.*" > /dev/null; then
|
||||
+ ARCH_AARCH64_TRUE=
|
||||
+ ARCH_AARCH64_FALSE='#'
|
||||
+else
|
||||
+ ARCH_AARCH64_TRUE='#'
|
||||
+ ARCH_AARCH64_FALSE=
|
||||
+fi
|
||||
+
|
||||
|
||||
# Determine what GCC version number to use in filesystem paths.
|
||||
|
||||
@@ -13407,6 +13427,10 @@ if test -z "${GENINSRC_TRUE}" && test -z "${GENINSRC_FALSE}"; then
|
||||
as_fn_error $? "conditional \"GENINSRC\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
+if test -z "${ARCH_AARCH64_TRUE}" && test -z "${ARCH_AARCH64_FALSE}"; then
|
||||
+ as_fn_error $? "conditional \"ARCH_AARCH64\" was never defined.
|
||||
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
+fi
|
||||
|
||||
: "${CONFIG_STATUS=./config.status}"
|
||||
ac_write_fail=0
|
||||
diff --git a/libquadmath/configure.ac b/libquadmath/configure.ac
|
||||
index f9d745e60..0b8511f04 100644
|
||||
--- a/libquadmath/configure.ac
|
||||
+++ b/libquadmath/configure.ac
|
||||
@@ -218,6 +218,11 @@ AM_CONDITIONAL(LIBQUAD_USE_SYMVER_SUN, [test "x$quadmath_use_symver" = xsun])
|
||||
|
||||
AC_CACHE_CHECK([whether __float128 is supported], [libquad_cv_have_float128],
|
||||
[GCC_TRY_COMPILE_OR_LINK([
|
||||
+ #if defined(__aarch64__)
|
||||
+ typedef long double __float128;
|
||||
+ #define __builtin_huge_valq() (__extension__ 0x1.0p32767Q)
|
||||
+ #endif
|
||||
+
|
||||
#if (!defined(_ARCH_PPC)) || defined(__LONG_DOUBLE_IEEE128__)
|
||||
typedef _Complex float __attribute__((mode(TC))) __complex128;
|
||||
#else
|
||||
@@ -380,6 +385,8 @@ AS_HELP_STRING([--enable-generated-files-in-srcdir],
|
||||
[enable_generated_files_in_srcdir=no])
|
||||
AC_MSG_RESULT($enable_generated_files_in_srcdir)
|
||||
AM_CONDITIONAL(GENINSRC, test "$enable_generated_files_in_srcdir" = yes)
|
||||
+AM_CONDITIONAL(ARCH_AARCH64,
|
||||
+ [expr "$target_cpu" : "aarch64.*" > /dev/null])
|
||||
|
||||
# Determine what GCC version number to use in filesystem paths.
|
||||
GCC_BASE_VER
|
||||
diff --git a/libquadmath/quadmath.h b/libquadmath/quadmath.h
|
||||
index 81eb957d2..bb1b49df6 100644
|
||||
--- a/libquadmath/quadmath.h
|
||||
+++ b/libquadmath/quadmath.h
|
||||
@@ -27,6 +27,12 @@ Boston, MA 02110-1301, USA. */
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
+#if defined(__aarch64__)
|
||||
+#ifndef __float128
|
||||
+typedef long double __float128;
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
/* Define the complex type corresponding to __float128
|
||||
("_Complex __float128" is not allowed) */
|
||||
#if (!defined(_ARCH_PPC)) || defined(__LONG_DOUBLE_IEEE128__)
|
||||
@@ -160,10 +166,13 @@ extern int quadmath_snprintf (char *str, size_t size,
|
||||
#define FLT128_MAX_10_EXP 4932
|
||||
|
||||
|
||||
-#define HUGE_VALQ __builtin_huge_valq()
|
||||
+#if defined(__aarch64__)
|
||||
/* The following alternative is valid, but brings the warning:
|
||||
(floating constant exceeds range of ‘__float128’) */
|
||||
-/* #define HUGE_VALQ (__extension__ 0x1.0p32767Q) */
|
||||
+# define HUGE_VALQ (__extension__ 0x1.0p32767Q)
|
||||
+#else
|
||||
+# define HUGE_VALQ __builtin_huge_valq()
|
||||
+#endif
|
||||
|
||||
#define M_Eq 2.718281828459045235360287471352662498Q /* e */
|
||||
#define M_LOG2Eq 1.442695040888963407359924681001892137Q /* log_2 e */
|
||||
--
|
||||
2.33.0
|
||||
|
||||
114
0098-AArch64-Rewrite-the-tsv110-option.patch
Normal file
114
0098-AArch64-Rewrite-the-tsv110-option.patch
Normal file
@ -0,0 +1,114 @@
|
||||
From 4a0b942c8f6643509e6e9a605c99a258a6523308 Mon Sep 17 00:00:00 2001
|
||||
From: d00573793 <dingguangya1@huawei.com>
|
||||
Date: Wed, 31 May 2023 17:00:24 +0800
|
||||
Subject: [PATCH 3/3] [AArch64] Rewrite the tsv110 option
|
||||
|
||||
Reset the more appropriate options for tsv110.
|
||||
---
|
||||
gcc/common/config/aarch64/aarch64-common.c | 76 ++++++++++++++++++++++
|
||||
1 file changed, 76 insertions(+)
|
||||
|
||||
diff --git a/gcc/common/config/aarch64/aarch64-common.c b/gcc/common/config/aarch64/aarch64-common.c
|
||||
index 51bd319d6..2a23a605d 100644
|
||||
--- a/gcc/common/config/aarch64/aarch64-common.c
|
||||
+++ b/gcc/common/config/aarch64/aarch64-common.c
|
||||
@@ -44,6 +44,8 @@
|
||||
#undef TARGET_OPTION_INIT_STRUCT
|
||||
#define TARGET_OPTION_INIT_STRUCT aarch64_option_init_struct
|
||||
|
||||
+#define INVALID_IMP ((unsigned) -1)
|
||||
+
|
||||
/* Set default optimization options. */
|
||||
static const struct default_options aarch_option_optimization_table[] =
|
||||
{
|
||||
@@ -65,6 +67,77 @@ static const struct default_options aarch_option_optimization_table[] =
|
||||
{ OPT_LEVELS_NONE, 0, NULL, 0 }
|
||||
};
|
||||
|
||||
+/* CPU vendor id. */
|
||||
+static unsigned vendor_id = INVALID_IMP;
|
||||
+
|
||||
+/* The part number of the CPU. */
|
||||
+static unsigned part_id = INVALID_IMP;
|
||||
+
|
||||
+/* Return the hex integer that is after ':' for the FIELD.
|
||||
+ Return -1 if there was problem parsing the integer. */
|
||||
+static unsigned
|
||||
+parse_cpuinfo (char *field)
|
||||
+{
|
||||
+ if (field == NULL)
|
||||
+ return INVALID_IMP;
|
||||
+ const char *rest = strchr (field, ':');
|
||||
+
|
||||
+ if (rest == NULL)
|
||||
+ return INVALID_IMP;
|
||||
+
|
||||
+ char *after;
|
||||
+ unsigned fint = strtol (rest + 1, &after, 16);
|
||||
+ if (after == rest + 1)
|
||||
+ return INVALID_IMP;
|
||||
+ return fint;
|
||||
+}
|
||||
+
|
||||
+/* Read CPU vendor_id and part_id. */
|
||||
+
|
||||
+static void
|
||||
+read_cpuinfo ()
|
||||
+{
|
||||
+ FILE *fp = fopen ("/proc/cpuinfo", "r");
|
||||
+ if (fp == NULL)
|
||||
+ return;
|
||||
+
|
||||
+ /* Read 1024-byte data from /proc/cpuinfo. */
|
||||
+ char cpuinfo[1024];
|
||||
+ fread(cpuinfo, sizeof(char), sizeof(cpuinfo) - 1, fp);
|
||||
+
|
||||
+ char *vendor = strstr(cpuinfo, "CPU implementer");
|
||||
+ vendor_id = parse_cpuinfo(vendor);
|
||||
+
|
||||
+ char *part = strstr(cpuinfo, "CPU part");
|
||||
+ part_id = parse_cpuinfo(part);
|
||||
+
|
||||
+ fclose(fp);
|
||||
+}
|
||||
+
|
||||
+/* Reset the tsv110 option. After checking the platform information,
|
||||
+ this function can reset the more appropriate options.
|
||||
+ TODO: Currently, this function is not applicable to the cross
|
||||
+ compilation scenario. */
|
||||
+
|
||||
+static void
|
||||
+reset_tsv110_option ()
|
||||
+{
|
||||
+ /* Read CPU Information. */
|
||||
+ if (vendor_id == INVALID_IMP)
|
||||
+ read_cpuinfo ();
|
||||
+
|
||||
+ if (vendor_id == 0x48 && part_id == 0xd01)
|
||||
+ {
|
||||
+ /* Outline-atomics is enabled by default and
|
||||
+ aarch64_flag_outline_atomics defaults to 2. Therefore, the current
|
||||
+ modification affects only the default scenario. When the option
|
||||
+ moutline-atomics is added, the value of aarch64_flag_outline_atomics is 1,
|
||||
+ that is, aarch64_flag_outline_atomics is not reset to 0. */
|
||||
+ if (aarch64_flag_outline_atomics == 2)
|
||||
+ aarch64_flag_outline_atomics = 0;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/* Implement TARGET_HANDLE_OPTION.
|
||||
This function handles the target specific options for CPU/target selection.
|
||||
|
||||
@@ -83,6 +156,9 @@ aarch64_handle_option (struct gcc_options *opts,
|
||||
const char *arg = decoded->arg;
|
||||
int val = decoded->value;
|
||||
|
||||
+ /* Reset the tsv110 options. */
|
||||
+ reset_tsv110_option ();
|
||||
+
|
||||
switch (code)
|
||||
{
|
||||
case OPT_march_:
|
||||
--
|
||||
2.33.0
|
||||
|
||||
14
gcc.spec
14
gcc.spec
@ -61,7 +61,7 @@
|
||||
Summary: Various compilers (C, C++, Objective-C, ...)
|
||||
Name: gcc
|
||||
Version: %{gcc_version}
|
||||
Release: 31
|
||||
Release: 32
|
||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
|
||||
URL: https://gcc.gnu.org
|
||||
|
||||
@ -204,6 +204,9 @@ Patch92: 0092-gimple-Factor-the-code-to-avoid-depending-auto-featu.patch
|
||||
Patch93: 0093-StructReorg-Fix-escape_cast_another_ptr-check-bug.patch
|
||||
Patch94: 0094-Backport-Fix-zero-masking-for-vcvtps2ph-when-dest-op.patch
|
||||
Patch95: 0095-Struct-reorg-Fix-the-use-of-as_a.patch
|
||||
Patch96: 0096-libquadmath-Revert-Enable-libquadmath-on-kunpeng.patch
|
||||
Patch97: 0097-libquadmath-refactor-Enable-libquadmath-on-kunpeng.patch
|
||||
Patch98: 0098-AArch64-Rewrite-the-tsv110-option.patch
|
||||
|
||||
%global gcc_target_platform %{_arch}-linux-gnu
|
||||
|
||||
@ -753,6 +756,9 @@ not stable, so plugins must be rebuilt any time GCC is updated.
|
||||
%patch93 -p1
|
||||
%patch94 -p1
|
||||
%patch95 -p1
|
||||
%patch96 -p1
|
||||
%patch97 -p1
|
||||
%patch98 -p1
|
||||
|
||||
%build
|
||||
|
||||
@ -2777,6 +2783,12 @@ end
|
||||
%doc rpm.doc/changelogs/libcc1/ChangeLog*
|
||||
|
||||
%changelog
|
||||
* Thu Jun 8 2023 huangxiaoquan <huangxiaoquan1@huawei.com> - 10.3.1-32
|
||||
- Type:Sync
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:Sync patch from openeuler/gcc
|
||||
|
||||
* Sat Jun 3 2023 Wang Ding <wangding16@huawei.com> - 10.3.1-31
|
||||
- Type:Sync
|
||||
- ID:NA
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user