Gentoo Archives: gentoo-commits

From: Sergei Trofimovich <slyfox@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gcc-patches:master commit in: 6.4.0/gentoo/
Date: Wed, 15 Aug 2018 21:57:22
Message-Id: 1534370202.5cb03e85d374381c390032b0b737c8d408f5cdfd.slyfox@gentoo
1 commit: 5cb03e85d374381c390032b0b737c8d408f5cdfd
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Wed Aug 15 21:56:42 2018 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Wed Aug 15 21:56:42 2018 +0000
6 URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=5cb03e85
7
8 6.4.0: fix building against glibc-2.28 (ustat.h)
9
10 All patches are taken as-is from gcc-7-branch.
11
12 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
13
14 ...bsanitizer-avoidustat.h-glibc-2.28-part-1.patch | 67 ++++++++++++++++++++++
15 ...bsanitizer-avoidustat.h-glibc-2.28-part-2.patch | 32 +++++++++++
16 6.4.0/gentoo/README.history | 3 +
17 3 files changed, 102 insertions(+)
18
19 diff --git a/6.4.0/gentoo/98_all_libsanitizer-avoidustat.h-glibc-2.28-part-1.patch b/6.4.0/gentoo/98_all_libsanitizer-avoidustat.h-glibc-2.28-part-1.patch
20 new file mode 100644
21 index 0000000..a2da9b1
22 --- /dev/null
23 +++ b/6.4.0/gentoo/98_all_libsanitizer-avoidustat.h-glibc-2.28-part-1.patch
24 @@ -0,0 +1,67 @@
25 +From 61f38c64c01a15560026115a157b7021ec67bd3b Mon Sep 17 00:00:00 2001
26 +From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
27 +Date: Thu, 24 May 2018 20:21:54 +0000
28 +Subject: [PATCH] libsanitizer: Use pre-computed size of struct ustat for Linux
29 +
30 +Cherry-pick compiler-rt revision 333213:
31 +
32 +<sys/ustat.h> has been removed from glibc 2.28 by:
33 +
34 +commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7
35 +Author: Adhemerval Zanella <adhemerval.zanella@××××××.org>
36 +Date: Sun Mar 18 11:28:59 2018 +0800
37 +
38 + Deprecate ustat syscall interface
39 +
40 +This patch uses pre-computed size of struct ustat for Linux.
41 +
42 + PR sanitizer/85835
43 + * sanitizer_common/sanitizer_platform_limits_posix.cc: Don't
44 + include <sys/ustat.h> for Linux.
45 + (SIZEOF_STRUCT_USTAT): New.
46 + (struct_ustat_sz): Use SIZEOF_STRUCT_USTAT for Linux.
47 +
48 +
49 +
50 +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@260688 138bc75d-0d04-0410-961f-82ee72b054a4
51 +---
52 + libsanitizer/ChangeLog | 8 ++++++++
53 + .../sanitizer_platform_limits_posix.cc | 15 +++++++++++++--
54 + 2 files changed, 21 insertions(+), 2 deletions(-)
55 +
56 +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
57 +index 31a5e697eae..8017afd21c5 100644
58 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
59 ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
60 +@@ -154,7 +154,6 @@ typedef struct user_fpregs elf_fpregset_t;
61 + # include <sys/procfs.h>
62 + #endif
63 + #include <sys/user.h>
64 +-#include <sys/ustat.h>
65 + #include <linux/cyclades.h>
66 + #include <linux/if_eql.h>
67 + #include <linux/if_plip.h>
68 +@@ -247,7 +246,19 @@ namespace __sanitizer {
69 + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
70 +
71 + #if SANITIZER_LINUX && !SANITIZER_ANDROID
72 +- unsigned struct_ustat_sz = sizeof(struct ustat);
73 ++ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
74 ++ // has been removed from glibc 2.28.
75 ++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
76 ++ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
77 ++ || defined(__x86_64__)
78 ++#define SIZEOF_STRUCT_USTAT 32
79 ++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
80 ++ || defined(__powerpc__) || defined(__s390__)
81 ++#define SIZEOF_STRUCT_USTAT 20
82 ++#else
83 ++#error Unknown size of struct ustat
84 ++#endif
85 ++ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
86 + unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
87 + unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
88 + #endif // SANITIZER_LINUX && !SANITIZER_ANDROID
89 +--
90 +2.18.0
91 +
92
93 diff --git a/6.4.0/gentoo/99_all_libsanitizer-avoidustat.h-glibc-2.28-part-2.patch b/6.4.0/gentoo/99_all_libsanitizer-avoidustat.h-glibc-2.28-part-2.patch
94 new file mode 100644
95 index 0000000..e9b5c8f
96 --- /dev/null
97 +++ b/6.4.0/gentoo/99_all_libsanitizer-avoidustat.h-glibc-2.28-part-2.patch
98 @@ -0,0 +1,32 @@
99 +From 6a7c93905151724f7169612d64a5c8ce45dff9fb Mon Sep 17 00:00:00 2001
100 +From: doko <doko@138bc75d-0d04-0410-961f-82ee72b054a4>
101 +Date: Thu, 31 May 2018 09:59:35 +0000
102 +Subject: [PATCH] 2018-05-31 Matthias Klose <doko@××××××.com>
103 +
104 + PR sanitizer/86012
105 + * sanitizer_common/sanitizer_platform_limits_posix.cc: Define
106 + SIZEOF_STRUCT_USTAT for 32bit sparc.
107 +
108 +
109 +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@260992 138bc75d-0d04-0410-961f-82ee72b054a4
110 +---
111 + libsanitizer/ChangeLog | 6 ++++++
112 + .../sanitizer_common/sanitizer_platform_limits_posix.cc | 2 +-
113 + 2 files changed, 7 insertions(+), 1 deletion(-)
114 +
115 +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
116 +index 8017afd21c5..97eae3fc7bc 100644
117 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
118 ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
119 +@@ -253,7 +253,7 @@ namespace __sanitizer {
120 + || defined(__x86_64__)
121 + #define SIZEOF_STRUCT_USTAT 32
122 + #elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
123 +- || defined(__powerpc__) || defined(__s390__)
124 ++ || defined(__powerpc__) || defined(__s390__) || defined(__sparc__)
125 + #define SIZEOF_STRUCT_USTAT 20
126 + #else
127 + #error Unknown size of struct ustat
128 +--
129 +2.18.0
130 +
131
132 diff --git a/6.4.0/gentoo/README.history b/6.4.0/gentoo/README.history
133 index 1cd9ae7..d72dc88 100644
134 --- a/6.4.0/gentoo/README.history
135 +++ b/6.4.0/gentoo/README.history
136 @@ -1,3 +1,6 @@
137 +1.5 TODO
138 + + 98_all_libsanitizer-avoidustat.h-glibc-2.28-part-1.patch
139 + + 99_all_libsanitizer-avoidustat.h-glibc-2.28-part-2.patch
140 1.4 03 Maj 2018
141 U 13_all_default-ssp-fix.patch
142 1.3 12 Jan 2018