summary refs log tree commit diff
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2020-09-28 00:47:13 +0200
committerDanny Milosavljevic <dannym@scratchpost.org>2020-09-28 00:49:00 +0200
commit024bd3e37ee51f48d590c3ddd7bfacf04385295e (patch)
tree722141a9ef7b090362ec5c9fdf917657a30ca4f2
parent51d13466bbaf862fdd9938f50c58805936c0d185 (diff)
downloadguix-024bd3e37ee51f48d590c3ddd7bfacf04385295e.tar.gz
gnu: gcc: Use _FILE_OFFSET_BITS=64 for libstdc++-v3.
* gnu/packages/patches/gcc-7-dir-file-offsets64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gcc.scm (gcc-7)[source]: Add it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/gcc.scm3
-rw-r--r--gnu/packages/patches/gcc-7-dir-file-offsets64.patch10
3 files changed, 13 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 8c93e19b72..33f1b85549 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -995,6 +995,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gcc-libsanitizer-ustat.patch		\
   %D%/packages/patches/gcc-4.9-libsanitizer-mode-size.patch	\
   %D%/packages/patches/gcc-6-libsanitizer-mode-size.patch	\
+  %D%/packages/patches/gcc-7-dir-file-offsets64.patch		\
   %D%/packages/patches/gcc-7-libsanitizer-mode-size.patch	\
   %D%/packages/patches/gcc-libvtv-runpath.patch			\
   %D%/packages/patches/gcc-strmov-store-file-names.patch	\
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 4d5aaa7070..b90b53616c 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -536,7 +536,8 @@ Go.  It also includes runtime support libraries for these languages.")
                 "0qg6kqc5l72hpnj4vr6l0p69qav0rh4anlkk3y55540zy3klc6dq"))
               (patches (search-patches "gcc-strmov-store-file-names.patch"
                                        "gcc-7-libsanitizer-mode-size.patch"
-                                       "gcc-5.0-libvtv-runpath.patch"))))
+                                       "gcc-5.0-libvtv-runpath.patch"
+                                       "gcc-7-dir-file-offsets64.patch"))))
     (description
      "GCC is the GNU Compiler Collection.  It provides compiler front-ends
 for several languages, including C, C++, Objective-C, Fortran, Ada, and Go.
diff --git a/gnu/packages/patches/gcc-7-dir-file-offsets64.patch b/gnu/packages/patches/gcc-7-dir-file-offsets64.patch
new file mode 100644
index 0000000000..be8f904a8f
--- /dev/null
+++ b/gnu/packages/patches/gcc-7-dir-file-offsets64.patch
@@ -0,0 +1,10 @@
+--- orig/gcc-7.5.0/libstdc++-v3/src/filesystem/dir.cc	1970-01-01 01:00:01.000000000 +0100
++++ gcc-7.5.0/libstdc++-v3/src/filesystem/dir.cc	2020-09-27 15:26:33.014813146 +0200
+@@ -25,6 +25,7 @@
+ #ifndef _GLIBCXX_USE_CXX11_ABI
+ # define _GLIBCXX_USE_CXX11_ABI 1
+ #endif
++#define _FILE_OFFSET_BITS 64
+ 
+ #include <experimental/filesystem>
+ #include <utility>