summaryrefslogtreecommitdiff
path: root/system/gcc/202-ibm-ldbl.patch
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2020-01-19 22:32:59 +0000
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2020-01-19 22:32:59 +0000
commitcec067d7103ff582a7e0f618791e820af750de99 (patch)
treef9c49c8267f12639776d68c6d613f61802bc2ad4 /system/gcc/202-ibm-ldbl.patch
parent3f7a184bc200d1d5fda9e1fcd49f0d4f4491c8d9 (diff)
downloadpackages-cec067d7103ff582a7e0f618791e820af750de99.tar.gz
packages-cec067d7103ff582a7e0f618791e820af750de99.tar.bz2
packages-cec067d7103ff582a7e0f618791e820af750de99.tar.xz
packages-cec067d7103ff582a7e0f618791e820af750de99.zip
system/gcc: Two late-breaking changes to GCC
1. IBM long double ABI fix in libgcc for static builds 2. time64 support on 32-bit arches in std::chrono (libstdc++)
Diffstat (limited to 'system/gcc/202-ibm-ldbl.patch')
-rw-r--r--system/gcc/202-ibm-ldbl.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/system/gcc/202-ibm-ldbl.patch b/system/gcc/202-ibm-ldbl.patch
new file mode 100644
index 000000000..bdf5c75d9
--- /dev/null
+++ b/system/gcc/202-ibm-ldbl.patch
@@ -0,0 +1,38 @@
+From 236634eed58fa6e00cc50f19e7202903a9d8fae6 Mon Sep 17 00:00:00 2001
+From: q66 <daniel@octaforge.org>
+Date: Thu, 12 Dec 2019 04:03:56 +0100
+Subject: [PATCH] libgcc: use -mno-gnu-attribute for 128-bit IBM ldouble
+ support code
+
+Doing this will allow libgcc to emit the appropriate symbols without actually
+emitting the FP ABI tag for them, which allows 64-bit long double environments
+to function and even link statically while still allowing usage of
+explicit __ibm128.
+---
+ libgcc/config/rs6000/t-ibm-ldouble | 2 +-
+ libgcc/config/rs6000/t-linux | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libgcc/config/rs6000/t-ibm-ldouble b/libgcc/config/rs6000/t-ibm-ldouble
+index b132784..fb5eca8 100644
+--- a/libgcc/config/rs6000/t-ibm-ldouble
++++ b/libgcc/config/rs6000/t-ibm-ldouble
+@@ -1,6 +1,6 @@
+ # GCC 128-bit long double support routines.
+ LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c
+
+-HOST_LIBGCC2_CFLAGS += -mlong-double-128
++HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-gnu-attribute
+
+ SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-ibm-ldouble.ver
+diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux
+index 4f6d4c4..fa93bb6 100644
+--- a/libgcc/config/rs6000/t-linux
++++ b/libgcc/config/rs6000/t-linux
+@@ -1,3 +1,3 @@
+ SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver
+
+-HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc
++HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-gnu-attribute -mno-minimal-toc
+--
+2.24.0