Gentoo Archives: gentoo-commits

From: "Andreas Hüttel" <dilfridge@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/glibc/files/2.6/, sys-libs/glibc/
Date: Wed, 29 Nov 2017 11:57:25
Message-Id: 1511956628.83d29e6ae130c257f5ae87cbb9a6cd110f50aef5.dilfridge@gentoo
1 commit: 83d29e6ae130c257f5ae87cbb9a6cd110f50aef5
2 Author: Andreas K. Huettel <dilfridge <AT> gentoo <DOT> org>
3 AuthorDate: Wed Nov 29 11:56:00 2017 +0000
4 Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
5 CommitDate: Wed Nov 29 11:57:08 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83d29e6a
7
8 sys-libs/glibc: Remove old
9
10 Package-Manager: Portage-2.3.16, Repoman-2.3.6
11
12 sys-libs/glibc/Manifest | 4 -
13 .../files/2.6/glibc-2.6-gentoo-stack_chk_fail.c | 321 ---------------------
14 sys-libs/glibc/glibc-2.17.ebuild | 162 -----------
15 sys-libs/glibc/glibc-2.23-r3.ebuild | 154 ----------
16 sys-libs/glibc/glibc-2.25-r8.ebuild | 153 ----------
17 5 files changed, 794 deletions(-)
18
19 diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
20 index 059f46ae53f..9639f2ede6d 100644
21 --- a/sys-libs/glibc/Manifest
22 +++ b/sys-libs/glibc/Manifest
23 @@ -1,6 +1,4 @@
24 DIST gcc-4.7.3-r1-multilib-bootstrap.tar.bz2 8064097 BLAKE2B 3cc5c82cd57d0fbd26d9a376ee8ca02f119fe9d653311cbe4d2b7b93aec2290adac3be271be19a7fdedae2e11e4b6e32360184e557204e100ad64357f5575d4b SHA512 40b93e194ad41a75d649d84d1c49070680f253a13f0617803243bc61c44fed1ca2d0a7572a97ebb79353f312b58b5f6360be916dd7435928cc53935082e15269
25 -DIST glibc-2.17-patches-8.tar.bz2 83707 BLAKE2B 134cd96eb0afa58f831b3a71acb5ffb2db223eb8450291e7cccf1afccda6f240283e63f1416e9775052010d1932d52b7a125a43b125d579945bb596575b679fa SHA512 6675357e62b554d9d0f8ef70341b8038f8f89591fba384bc3783ef81aead0532486e2218af71da9c6f88a3b8b382edec81bed36eb636ee231eac80e111acbfd8
26 -DIST glibc-2.17.tar.xz 10981956 BLAKE2B a8b2f190875619875bcd2f5c40d6c44628cbd4c3934fd4b60b54af33818052fc375a720344ffc2c52b55a62c1c23053793830b70a4b233a704ec1913e434a8b3 SHA512 384e54037daaa344a26ce58242acc3f9a249d0765088d18a540a305745afa33ae6dec4024adae958eacd7100be9c713d117260ace8340f6d8c8396dbde4868d2
27 DIST glibc-2.18-patches-4.tar.bz2 95165 SHA256 89b458e22db60847b4ad869e3b5cf32868528b8d73205a692a6c0d07779dd083 SHA512 d881c9c5fe32b967694d4ca5185ff5ffc964449f2ed49fd062e5d57a3c6d9f16eef2f591d2d8e98a1a95a6487f3436ef031839ed8766fd085404b288340b7933 WHIRLPOOL 55f87d0efce1f84b45968f377e868c31102cb5228fe4ff1ffa132770f242f9f4f1843c28e4eb38ee7bed1321507ae12b7284a18199af63df1ecd070233d1076f
28 DIST glibc-2.18.tar.xz 11150148 BLAKE2B 7848a5a50abedbd17085e05b6f6835959adb5e55a424d95fa8a49eeec999a6dd81a9382db85ef7e852ef1d7743c5d312dccbf42024e95edf0e802eb32928dfe5 SHA512 27218d2e7dd3bf3908d7af171c490933680e958c579ebd27b43b661e223fd5de2219cc1cf699170405280808c84de476d0ad86dbba35a488ef404e9438552327
29 DIST glibc-2.19-patches-3.tar.bz2 80664 BLAKE2B fb348c711941c1bd4dadd905e172dc4f239d8b63af1a1d14dcf4ec45c504bd47e10e9b24b38f9e01796016f2e97caeeb693213ae08147274ed0a4d9501293be0 SHA512 d281d6a2757920124cf8a3f02b97e75192598b08d96ae48840df34c7ffdcb212952d171f233e6f12a429b19437d0a296212fe1f2eae164d6a1c6793cb3cb69f0
30 @@ -11,12 +9,10 @@ DIST glibc-2.21-patches-7.tar.bz2 46894 BLAKE2B 5a15a3a5ca515351d5d41baaa59ae6b6
31 DIST glibc-2.21.tar.xz 12322092 BLAKE2B 1ce2be09787138262b59b56235e20777459e99861c65694b96f63d7faf24da8655882dd23b39c28a8a2d338c50710f76e1e4dc39a3f4ce9736ef2cbf7f99ed5b SHA512 8cded6693618bec115f678fcbd0b77556f97dfa8337608f66e37224aefa55b38765ba61cb4d58beea37b5934e5ec8e30bad58613707388484906f2a0ce77997d
32 DIST glibc-2.22-patches-13.tar.bz2 74479 BLAKE2B 1ab31614e8334508a63c842f503a395ff3ebeaa33d1890eab1d9e2985cb39064960053f2bbf99ec3bdec0ba5a80d259ca6b964fcaed9d99dcb6da84ddb8dd364 SHA512 73517fc1502b0733d67ade1d1ba6168415f5da64f37045fac0b10ef57155bf6dfbe1876e4742d2543fcea0c935c179426f6fbb94f0205968392ef903d2f83897
33 DIST glibc-2.22.tar.xz 12969072 BLAKE2B 36a2e08cf4c5c9396c414fcf5cf5f32d0a78a61e06a1309fbc5f560bed7a7f25a084f5f5c1097014d0911239c710ac9c06f6b6d603238b9c928dd286ebd05bbf SHA512 a8719f3a4f8aa5fa81711116fdafbea5082c6dfd85bd8c4cdce60571910263ab422b35bb8b55a84d37ccb146442133ba60a84d453ca4a439c8ccd35419bd051b
34 -DIST glibc-2.23-patches-7.tar.bz2 315221 BLAKE2B 6872dff949e4293a2c5e58597433f0cef80a26011582a3b46a51b45135f6125764097890324bd2787241567e56e9eaabbf40b0faafd2590af4ede4789a965364 SHA512 c0d0cab0a370acef0b085b0ab09ce868425a12bbb371d0a9ff91dc83a74a0d8d3b541d10c44650b00b7cb155f8ac1f87764e6a6bd9d6bae8a9a904b4df1650ef
35 DIST glibc-2.23-patches-8.tar.bz2 304199 BLAKE2B 693e40090dbe43f0e9c1faa0bce75e43d5d3924b40c141f9d00ef147fd285b03e2c3bab6a32d1bf6978ca139c3f071f685d5caf1bffb1cce7e1d1f3c346e5c50 SHA512 470814bbbd9d4ee5fa2dd7570a2e14b0229723e373e801472856fd6c2f089499eddc300f69b49af8ba0edbdca583ee3ca521fdb5c642509717cafea0ad925fd2
36 DIST glibc-2.23.tar.xz 13455260 BLAKE2B 6658e9d2d07c5cd71be94ef399bfe4d18ef462e4154e2e02aa69c34198e881cc65ac8f89abcb37b3d01c56b10e2f47c036492c20e4991a54bd03e56db703fbd2 SHA512 b82953388cd028e174cb08f082557bbce0dad8b67b17d31b29f90102fd52a51e03d591448ecb64882a1c1d5303afffc7f6ede85cee4c784a9284fbc9b4ad26cf
37 DIST glibc-2.24-patches-10.tar.bz2 73586 SHA256 d479033b63ff796fea56fb1bde390c442021acd856994b15c983b4a89e46fbbe SHA512 fc9191a85da53a2515bbaab228648936682e04267284049468e0c82284f618ab2907b9247baca701e16edc50640199ff6d8e2a6a93ccbd5a9d3b0eb73cc484ca WHIRLPOOL 7afe94307900a70de2f5e028d8ec9e0f4b06b661ec6493217e51a13d750f891e10b45c0f66d86fa83c16cc3ce539bb257039b33bc3e363469cd03502d956d75e
38 DIST glibc-2.24.tar.xz 13554048 BLAKE2B 9f93ac00f68eb88e3a2272752624163fac25dd064170e336143aa697908fba2b27ed926582f978da99c6c2489c0ce34d3eb266b5d00be69d27b36126bc2c8efb SHA512 a4cb28a2c51a0cc029ed69da7cba11931a615ba897235590b4f7fad2eaabec9042f8250eaac2a5860997437a69ab13304f10a634000e52c0336b5593b7969adb
39 -DIST glibc-2.25-patches-11.tar.bz2 64221 BLAKE2B 13dd8ec797ad11a8d8d4b7a1057ecfe3402988513fed4a442bf50229aaba344d574f54a70a2ceaf53e2537c5f16fdc57905060dc9f27224b8f23e88521adec5e SHA512 cbbbca9653f55f0cb3b73c38c979cb439c87b172819f3e999d2b435d59cd2bef2c89f11a398300c53f447ad433ee87f47a0f3e890c78f8694705c788455325dd
40 DIST glibc-2.25-patches-12.tar.bz2 65396 BLAKE2B b23d5d681314c03b8dd5ad20516324c1ce5b24deb4d9ce03970dce97b524ee9d3f5d5463f2d6b7693e4c9ef25d006847f960993f55ca082fc961268d05f937ca SHA512 6af8c304ba70b42dfda294873d9a138d6c98e7a46496e305b2cac99a085d1ad3d00315162d1e1458e651de95e158bd35be74406a3f44fde13182e30baa663fcb
41 DIST glibc-2.25.tar.xz 13873900 BLAKE2B 73ef792fff059f6ad154c9af2155ea15b7869ec1b93e557b6c58129bfb50f863c06f8b49425d75fd2df537dd9c4a68bad790cff770c50a6889732d66f507d349 SHA512 5b7a2418d5b8a1b6a907c6c7fb6477ee2a473151cb45e03d0d4cdd9a33497c90b1ee39e2e7e885e2b25743dcd3747336ef114b4a73eb001da1fd79f29e0f9a6e
42 DIST glibc-2.26-patches-4.tar.bz2 315447 BLAKE2B 038926c8c187cfea5c00a7017a486356adf0f0959dc8868847f26877b4b441bd76629f20d52967f9da878f69a1ac2859332ed3984b4ebb5cb528d50e0b012736 SHA512 04d229e5f9342d62f2fce039c70489609886782d8aabd49403863a1a679e3b0890ca26c129088738a4af7ef6d95c74f24fb3c4d03695bf7ba6e45eca4de1a5f0
43
44 diff --git a/sys-libs/glibc/files/2.6/glibc-2.6-gentoo-stack_chk_fail.c b/sys-libs/glibc/files/2.6/glibc-2.6-gentoo-stack_chk_fail.c
45 deleted file mode 100644
46 index 217bf1a9079..00000000000
47 --- a/sys-libs/glibc/files/2.6/glibc-2.6-gentoo-stack_chk_fail.c
48 +++ /dev/null
49 @@ -1,321 +0,0 @@
50 -/* Copyright (C) 2005 Free Software Foundation, Inc.
51 - This file is part of the GNU C Library.
52 -
53 - The GNU C Library is free software; you can redistribute it and/or
54 - modify it under the terms of the GNU Lesser General Public
55 - License as published by the Free Software Foundation; either
56 - version 2.1 of the License, or (at your option) any later version.
57 -
58 - The GNU C Library is distributed in the hope that it will be useful,
59 - but WITHOUT ANY WARRANTY; without even the implied warranty of
60 - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
61 - Lesser General Public License for more details.
62 -
63 - You should have received a copy of the GNU Lesser General Public
64 - License along with the GNU C Library; if not, write to the Free
65 - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
66 - 02111-1307 USA. */
67 -
68 -/* Copyright (C) 2006-2007 Gentoo Foundation Inc.
69 - * License terms as above.
70 - *
71 - * Hardened Gentoo SSP handler
72 - *
73 - * An SSP failure handler that does not use functions from the rest of
74 - * glibc; it uses the INTERNAL_SYSCALL methods directly. This ensures
75 - * no possibility of recursion into the handler.
76 - *
77 - * Direct all bug reports to http://bugs.gentoo.org/
78 - *
79 - * Re-written from the glibc-2.3 Hardened Gentoo SSP handler
80 - * by Kevin F. Quinn - <kevquinn[@]gentoo.org>
81 - *
82 - * The following people contributed to the glibc-2.3 Hardened
83 - * Gentoo SSP handler, from which this implementation draws much:
84 - *
85 - * Ned Ludd - <solar[@]gentoo.org>
86 - * Alexander Gabert - <pappy[@]gentoo.org>
87 - * The PaX Team - <pageexec[@]freemail.hu>
88 - * Peter S. Mazinger - <ps.m[@]gmx.net>
89 - * Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
90 - * Robert Connolly - <robert[@]linuxfromscratch.org>
91 - * Cory Visi <cory[@]visi.name>
92 - * Mike Frysinger <vapier[@]gentoo.org>
93 - */
94 -
95 -#include <errno.h>
96 -#include <stdlib.h>
97 -#include <unistd.h>
98 -#include <signal.h>
99 -
100 -#include <sys/types.h>
101 -
102 -#include <sysdep-cancel.h>
103 -#include <sys/syscall.h>
104 -#include <bp-checks.h>
105 -
106 -#include <kernel-features.h>
107 -
108 -#include <alloca.h>
109 -/* from sysdeps */
110 -#include <socketcall.h>
111 -/* for the stuff in bits/socket.h */
112 -#include <sys/socket.h>
113 -#include <sys/un.h>
114 -
115 -
116 -/* Sanity check on SYSCALL macro names - force compilation
117 - * failure if the names used here do not exist
118 - */
119 -#if !defined __NR_socketcall && !defined __NR_socket
120 -# error Cannot do syscall socket or socketcall
121 -#endif
122 -#if !defined __NR_socketcall && !defined __NR_connect
123 -# error Cannot do syscall connect or socketcall
124 -#endif
125 -#ifndef __NR_write
126 -# error Cannot do syscall write
127 -#endif
128 -#ifndef __NR_close
129 -# error Cannot do syscall close
130 -#endif
131 -#ifndef __NR_getpid
132 -# error Cannot do syscall getpid
133 -#endif
134 -#ifndef __NR_kill
135 -# error Cannot do syscall kill
136 -#endif
137 -#ifndef __NR_exit
138 -# error Cannot do syscall exit
139 -#endif
140 -#ifdef SSP_SMASH_DUMPS_CORE
141 -# define ENABLE_SSP_SMASH_DUMPS_CORE 1
142 -# if !defined _KERNEL_NSIG && !defined _NSIG
143 -# error No _NSIG or _KERNEL_NSIG for rt_sigaction
144 -# endif
145 -# if !defined __NR_sigaction && !defined __NR_rt_sigaction
146 -# error Cannot do syscall sigaction or rt_sigaction
147 -# endif
148 -/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size
149 - * of the _kernel_ sigset_t which is not the same as the user sigset_t.
150 - * Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for
151 - * some reason.
152 - */
153 -# ifdef _KERNEL_NSIG
154 -# define _SSP_NSIG _KERNEL_NSIG
155 -# else
156 -# define _SSP_NSIG _NSIG
157 -# endif
158 -#else
159 -# define _SSP_NSIG 0
160 -# define ENABLE_SSP_SMASH_DUMPS_CORE 0
161 -#endif
162 -
163 -/* Define DO_SIGACTION - default to newer rt signal interface but
164 - * fallback to old as needed.
165 - */
166 -#ifdef __NR_rt_sigaction
167 -# define DO_SIGACTION(signum, act, oldact) \
168 - INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8)
169 -#else
170 -# define DO_SIGACTION(signum, act, oldact) \
171 - INLINE_SYSCALL(sigaction, 3, signum, act, oldact)
172 -#endif
173 -
174 -/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */
175 -#if defined(__NR_socket) && defined(__NR_connect)
176 -# define USE_OLD_SOCKETCALL 0
177 -#else
178 -# define USE_OLD_SOCKETCALL 1
179 -#endif
180 -/* stub out the __NR_'s so we can let gcc optimize away dead code */
181 -#ifndef __NR_socketcall
182 -# define __NR_socketcall 0
183 -#endif
184 -#ifndef __NR_socket
185 -# define __NR_socket 0
186 -#endif
187 -#ifndef __NR_connect
188 -# define __NR_connect 0
189 -#endif
190 -#define DO_SOCKET(result, domain, type, protocol) \
191 - do { \
192 - if (USE_OLD_SOCKETCALL) { \
193 - socketargs[0] = domain; \
194 - socketargs[1] = type; \
195 - socketargs[2] = protocol; \
196 - socketargs[3] = 0; \
197 - result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \
198 - } else \
199 - result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \
200 - } while (0)
201 -#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \
202 - do { \
203 - if (USE_OLD_SOCKETCALL) { \
204 - socketargs[0] = sockfd; \
205 - socketargs[1] = (unsigned long int)serv_addr; \
206 - socketargs[2] = addrlen; \
207 - socketargs[3] = 0; \
208 - result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \
209 - } else \
210 - result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \
211 - } while (0)
212 -
213 -#ifndef _PATH_LOG
214 -# define _PATH_LOG "/dev/log"
215 -#endif
216 -
217 -static const char path_log[] = _PATH_LOG;
218 -
219 -/* For building glibc with SSP switched on, define __progname to a
220 - * constant if building for the run-time loader, to avoid pulling
221 - * in more of libc.so into ld.so
222 - */
223 -#ifdef IS_IN_rtld
224 -static char *__progname = "<rtld>";
225 -#else
226 -extern char *__progname;
227 -#endif
228 -
229 -
230 -/* Common handler code, used by stack_chk_fail and __stack_smash_handler
231 - * Inlined to ensure no self-references to the handler within itself.
232 - * Data static to avoid putting more than necessary on the stack,
233 - * to aid core debugging.
234 - */
235 -__attribute__ ((__noreturn__ , __always_inline__))
236 -static inline void
237 -__hardened_gentoo_stack_chk_fail(char func[], int damaged)
238 -{
239 -#define MESSAGE_BUFSIZ 256
240 - static pid_t pid;
241 - static int plen, i;
242 - static char message[MESSAGE_BUFSIZ];
243 - static const char msg_ssa[] = ": stack smashing attack";
244 - static const char msg_inf[] = " in function ";
245 - static const char msg_ssd[] = "*** stack smashing detected ***: ";
246 - static const char msg_terminated[] = " - terminated\n";
247 - static const char msg_report[] = "Report to http://bugs.gentoo.org/\n";
248 - static const char msg_unknown[] = "<unknown>";
249 - static int log_socket, connect_result;
250 - static struct sockaddr_un sock;
251 - static unsigned long int socketargs[4];
252 -
253 - /* Build socket address
254 - */
255 - sock.sun_family = AF_UNIX;
256 - i = 0;
257 - while ((path_log[i] != '\0') && (i<(sizeof(sock.sun_path)-1))) {
258 - sock.sun_path[i] = path_log[i];
259 - i++;
260 - }
261 - sock.sun_path[i] = '\0';
262 -
263 - /* Try SOCK_DGRAM connection to syslog */
264 - connect_result = -1;
265 - DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0);
266 - if (log_socket != -1)
267 - DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
268 - if (connect_result == -1) {
269 - if (log_socket != -1)
270 - INLINE_SYSCALL(close, 1, log_socket);
271 - /* Try SOCK_STREAM connection to syslog */
272 - DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0);
273 - if (log_socket != -1)
274 - DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
275 - }
276 -
277 - /* Build message. Messages are generated both in the old style and new style,
278 - * so that log watchers that are configured for the old-style message continue
279 - * to work.
280 - */
281 -#define strconcat(str) \
282 - {i=0; while ((str[i] != '\0') && ((i+plen)<(MESSAGE_BUFSIZ-1))) \
283 - {\
284 - message[plen+i]=str[i];\
285 - i++;\
286 - }\
287 - plen+=i;}
288 -
289 - /* R.Henderson post-gcc-4 style message */
290 - plen = 0;
291 - strconcat(msg_ssd);
292 - if (__progname != (char *)0)
293 - strconcat(__progname)
294 - else
295 - strconcat(msg_unknown);
296 - strconcat(msg_terminated);
297 -
298 - /* Write out error message to STDERR, to syslog if open */
299 - INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
300 - if (connect_result != -1)
301 - INLINE_SYSCALL(write, 3, log_socket, message, plen);
302 -
303 - /* Dr. Etoh pre-gcc-4 style message */
304 - plen = 0;
305 - if (__progname != (char *)0)
306 - strconcat(__progname)
307 - else
308 - strconcat(msg_unknown);
309 - strconcat(msg_ssa);
310 - strconcat(msg_inf);
311 - if (func != NULL)
312 - strconcat(func)
313 - else
314 - strconcat(msg_unknown);
315 - strconcat(msg_terminated);
316 - /* Write out error message to STDERR, to syslog if open */
317 - INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
318 - if (connect_result != -1)
319 - INLINE_SYSCALL(write, 3, log_socket, message, plen);
320 -
321 - /* Direct reports to bugs.gentoo.org */
322 - plen=0;
323 - strconcat(msg_report);
324 - message[plen++]='\0';
325 -
326 - /* Write out error message to STDERR, to syslog if open */
327 - INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
328 - if (connect_result != -1)
329 - INLINE_SYSCALL(write, 3, log_socket, message, plen);
330 -
331 - if (log_socket != -1)
332 - INLINE_SYSCALL(close, 1, log_socket);
333 -
334 - /* Suicide */
335 - pid = INLINE_SYSCALL(getpid, 0);
336 -
337 - if (ENABLE_SSP_SMASH_DUMPS_CORE) {
338 - static struct sigaction default_abort_act;
339 - /* Remove any user-supplied handler for SIGABRT, before using it */
340 - default_abort_act.sa_handler = SIG_DFL;
341 - default_abort_act.sa_sigaction = NULL;
342 - __sigfillset(&default_abort_act.sa_mask);
343 - default_abort_act.sa_flags = 0;
344 - if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0)
345 - INLINE_SYSCALL(kill, 2, pid, SIGABRT);
346 - }
347 -
348 - /* Note; actions cannot be added to SIGKILL */
349 - INLINE_SYSCALL(kill, 2, pid, SIGKILL);
350 -
351 - /* In case the kill didn't work, exit anyway
352 - * The loop prevents gcc thinking this routine returns
353 - */
354 - while (1)
355 - INLINE_SYSCALL(exit, 0);
356 -}
357 -
358 -__attribute__ ((__noreturn__))
359 -void __stack_chk_fail(void)
360 -{
361 - __hardened_gentoo_stack_chk_fail(NULL, 0);
362 -}
363 -
364 -#ifdef ENABLE_OLD_SSP_COMPAT
365 -__attribute__ ((__noreturn__))
366 -void __stack_smash_handler(char func[], int damaged)
367 -{
368 - __hardened_gentoo_stack_chk_fail(func, damaged);
369 -}
370 -#endif
371
372 diff --git a/sys-libs/glibc/glibc-2.17.ebuild b/sys-libs/glibc/glibc-2.17.ebuild
373 deleted file mode 100644
374 index a0d0cd113b8..00000000000
375 --- a/sys-libs/glibc/glibc-2.17.ebuild
376 +++ /dev/null
377 @@ -1,162 +0,0 @@
378 -# Copyright 1999-2017 Gentoo Foundation
379 -# Distributed under the terms of the GNU General Public License v2
380 -
381 -inherit toolchain-glibc
382 -
383 -DESCRIPTION="GNU libc6 (also called glibc2) C library"
384 -HOMEPAGE="https://www.gnu.org/software/libc/libc.html"
385 -
386 -LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
387 -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
388 -RESTRICT="strip" # strip ourself #46186
389 -EMULTILIB_PKG="true"
390 -
391 -# Configuration variables
392 -RELEASE_VER=""
393 -case ${PV} in
394 -9999*)
395 - EGIT_REPO_URIS="git://sourceware.org/git/glibc.git"
396 - EGIT_SOURCEDIRS="${S}"
397 - inherit git-2
398 - ;;
399 -*)
400 - RELEASE_VER=${PV}
401 - ;;
402 -esac
403 -GCC_BOOTSTRAP_VER="4.7.3-r1"
404 -PATCH_VER="8" # Gentoo patchset
405 -NPTL_KERN_VER=${NPTL_KERN_VER:-"2.6.16"} # min kernel version nptl requires
406 -
407 -IUSE="debug gd hardened multilib nscd selinux systemtap profile suid vanilla crosscompile_opts_headers-only"
408 -
409 -# Here's how the cross-compile logic breaks down ...
410 -# CTARGET - machine that will target the binaries
411 -# CHOST - machine that will host the binaries
412 -# CBUILD - machine that will build the binaries
413 -# If CTARGET != CHOST, it means you want a libc for cross-compiling.
414 -# If CHOST != CBUILD, it means you want to cross-compile the libc.
415 -# CBUILD = CHOST = CTARGET - native build/install
416 -# CBUILD != (CHOST = CTARGET) - cross-compile a native build
417 -# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
418 -# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
419 -# For install paths:
420 -# CHOST = CTARGET - install into /
421 -# CHOST != CTARGET - install into /usr/CTARGET/
422 -
423 -export CBUILD=${CBUILD:-${CHOST}}
424 -export CTARGET=${CTARGET:-${CHOST}}
425 -if [[ ${CTARGET} == ${CHOST} ]] ; then
426 - if [[ ${CATEGORY} == cross-* ]] ; then
427 - export CTARGET=${CATEGORY#cross-}
428 - fi
429 -fi
430 -
431 -[[ ${CTARGET} == hppa* ]] && NPTL_KERN_VER=${NPTL_KERN_VER/2.6.16/2.6.20}
432 -
433 -is_crosscompile() {
434 - [[ ${CHOST} != ${CTARGET} ]]
435 -}
436 -
437 -# Why SLOT 2.2 you ask yourself while sippin your tea ?
438 -# Everyone knows 2.2 > 0, duh.
439 -SLOT="2.2"
440 -
441 -# General: We need a new-enough binutils/gcc to match upstream baseline.
442 -# arch: we need to make sure our binutils/gcc supports TLS.
443 -DEPEND=">=app-misc/pax-utils-0.1.10
444 - !<sys-apps/sandbox-1.6
445 - !<sys-apps/portage-2.1.2
446 - selinux? ( sys-libs/libselinux )"
447 -RDEPEND="!sys-kernel/ps3-sources
448 - selinux? ( sys-libs/libselinux )
449 - !sys-libs/nss-db"
450 -
451 -if [[ ${CATEGORY} == cross-* ]] ; then
452 - DEPEND+=" !crosscompile_opts_headers-only? (
453 - >=${CATEGORY}/binutils-2.20
454 - >=${CATEGORY}/gcc-4.3
455 - )"
456 - [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
457 -else
458 - DEPEND+="
459 - >=sys-devel/binutils-2.20
460 - >=sys-devel/gcc-4.3
461 - virtual/os-headers
462 - !vanilla? ( >=sys-libs/timezone-data-2012c )"
463 - RDEPEND+="
464 - vanilla? ( !sys-libs/timezone-data )
465 - !vanilla? ( sys-libs/timezone-data )"
466 -fi
467 -
468 -upstream_uris() {
469 - echo mirror://gnu/glibc/$1 ftp://sourceware.org/pub/glibc/{releases,snapshots}/$1 mirror://gentoo/$1
470 -}
471 -gentoo_uris() {
472 - local devspace="HTTP~vapier/dist/URI HTTP~azarah/glibc/URI"
473 - devspace=${devspace//HTTP/https://dev.gentoo.org/}
474 - echo mirror://gentoo/$1 ${devspace//URI/$1}
475 -}
476 -SRC_URI=$(
477 - [[ -z ${EGIT_REPO_URIS} ]] && upstream_uris ${P}.tar.xz
478 - [[ -n ${PATCH_VER} ]] && gentoo_uris ${P}-patches-${PATCH_VER}.tar.bz2
479 -)
480 -SRC_URI+=" ${GCC_BOOTSTRAP_VER:+multilib? ( $(gentoo_uris gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2) )}"
481 -
482 -src_unpack() {
483 - GLIBC_PATCH_EXCLUDE+=" 6600_mips_librt-mips.patch" #456912
484 - [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib && unpack gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2
485 -
486 - toolchain-glibc_src_unpack
487 -
488 - if use hardened ; then
489 - cd "${S}"
490 - einfo "Patching to get working PIE binaries on PIE (hardened) platforms"
491 - tc-enables-pie && epatch "${FILESDIR}"/2.17/glibc-2.17-hardened-pie.patch
492 - epatch "${FILESDIR}"/2.10/glibc-2.10-hardened-configure-picdefault.patch
493 - epatch "${FILESDIR}"/2.10/glibc-2.10-hardened-inittls-nosysenter.patch
494 -
495 - einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler"
496 - cp -f "${FILESDIR}"/2.6/glibc-2.6-gentoo-stack_chk_fail.c \
497 - debug/stack_chk_fail.c || die
498 - cp -f "${FILESDIR}"/2.10/glibc-2.10-gentoo-chk_fail.c \
499 - debug/chk_fail.c || die
500 -
501 - if use debug ; then
502 - # When using Hardened Gentoo stack handler, have smashes dump core for
503 - # analysis - debug only, as core could be an information leak
504 - # (paranoia).
505 - sed -i \
506 - -e '/^CFLAGS-backtrace.c/ iCFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
507 - debug/Makefile \
508 - || die "Failed to modify debug/Makefile for debug stack handler"
509 - sed -i \
510 - -e '/^CFLAGS-backtrace.c/ iCFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
511 - debug/Makefile \
512 - || die "Failed to modify debug/Makefile for debug fortify handler"
513 - fi
514 -
515 - # Build nscd with ssp-all
516 - sed -i \
517 - -e 's:-fstack-protector$:-fstack-protector-all:' \
518 - nscd/Makefile \
519 - || die "Failed to ensure nscd builds with ssp-all"
520 - fi
521 -}
522 -
523 -pkg_preinst() {
524 - toolchain-glibc_pkg_preinst
525 -
526 - if [[ ${CTARGET} == arm* ]] ; then
527 - # Backwards compat support for renaming hardfp ldsos #417287
528 - local oldso='/lib/ld-linux.so.3'
529 - local nldso='/lib/ld-linux-armhf.so.3'
530 - if [[ -e ${D}${nldso} ]] ; then
531 - if scanelf -qRyi "${ROOT}$(alt_prefix)"/*bin/ | grep -s "^${oldso}" ; then
532 - ewarn "Symlinking old ldso (${oldso}) to new ldso (${nldso})."
533 - ewarn "Please rebuild all packages using this old ldso as compat"
534 - ewarn "support will be dropped in the future."
535 - ln -s "${nldso##*/}" "${D}$(alt_prefix)${oldso}"
536 - fi
537 - fi
538 - fi
539 -}
540
541 diff --git a/sys-libs/glibc/glibc-2.23-r3.ebuild b/sys-libs/glibc/glibc-2.23-r3.ebuild
542 deleted file mode 100644
543 index 410b3485c15..00000000000
544 --- a/sys-libs/glibc/glibc-2.23-r3.ebuild
545 +++ /dev/null
546 @@ -1,154 +0,0 @@
547 -# Copyright 1999-2017 Gentoo Foundation
548 -# Distributed under the terms of the GNU General Public License v2
549 -
550 -EAPI="4"
551 -
552 -inherit toolchain-glibc
553 -
554 -DESCRIPTION="GNU libc6 (also called glibc2) C library"
555 -HOMEPAGE="https://www.gnu.org/software/libc/libc.html"
556 -
557 -LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
558 -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
559 -RESTRICT="strip" # strip ourself #46186
560 -EMULTILIB_PKG="true"
561 -
562 -# Configuration variables
563 -RELEASE_VER=""
564 -case ${PV} in
565 -9999*)
566 - EGIT_REPO_URIS="git://sourceware.org/git/glibc.git"
567 - EGIT_SOURCEDIRS="${S}"
568 - inherit git-2
569 - ;;
570 -*)
571 - RELEASE_VER=${PV}
572 - ;;
573 -esac
574 -GCC_BOOTSTRAP_VER="4.7.3-r1"
575 -PATCH_VER="7" # Gentoo patchset
576 -: ${NPTL_KERN_VER:="2.6.32"} # min kernel version nptl requires
577 -
578 -IUSE="audit caps debug gd hardened multilib nscd +rpc selinux systemtap profile suid vanilla crosscompile_opts_headers-only"
579 -
580 -# Here's how the cross-compile logic breaks down ...
581 -# CTARGET - machine that will target the binaries
582 -# CHOST - machine that will host the binaries
583 -# CBUILD - machine that will build the binaries
584 -# If CTARGET != CHOST, it means you want a libc for cross-compiling.
585 -# If CHOST != CBUILD, it means you want to cross-compile the libc.
586 -# CBUILD = CHOST = CTARGET - native build/install
587 -# CBUILD != (CHOST = CTARGET) - cross-compile a native build
588 -# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
589 -# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
590 -# For install paths:
591 -# CHOST = CTARGET - install into /
592 -# CHOST != CTARGET - install into /usr/CTARGET/
593 -
594 -export CBUILD=${CBUILD:-${CHOST}}
595 -export CTARGET=${CTARGET:-${CHOST}}
596 -if [[ ${CTARGET} == ${CHOST} ]] ; then
597 - if [[ ${CATEGORY} == cross-* ]] ; then
598 - export CTARGET=${CATEGORY#cross-}
599 - fi
600 -fi
601 -
602 -is_crosscompile() {
603 - [[ ${CHOST} != ${CTARGET} ]]
604 -}
605 -
606 -# Why SLOT 2.2 you ask yourself while sippin your tea ?
607 -# Everyone knows 2.2 > 0, duh.
608 -SLOT="2.2"
609 -
610 -# General: We need a new-enough binutils/gcc to match upstream baseline.
611 -# arch: we need to make sure our binutils/gcc supports TLS.
612 -COMMON_DEPEND="
613 - nscd? ( selinux? (
614 - audit? ( sys-process/audit )
615 - caps? ( sys-libs/libcap )
616 - ) )
617 - suid? ( caps? ( sys-libs/libcap ) )
618 - selinux? ( sys-libs/libselinux )
619 -"
620 -DEPEND="${COMMON_DEPEND}
621 - >=app-misc/pax-utils-0.1.10
622 - !<sys-apps/sandbox-1.6
623 - !<sys-apps/portage-2.1.2"
624 -RDEPEND="${COMMON_DEPEND}
625 - !sys-kernel/ps3-sources
626 - sys-apps/gentoo-functions
627 - !sys-libs/nss-db"
628 -
629 -if [[ ${CATEGORY} == cross-* ]] ; then
630 - DEPEND+=" !crosscompile_opts_headers-only? (
631 - >=${CATEGORY}/binutils-2.24
632 - >=${CATEGORY}/gcc-4.7
633 - )"
634 - [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
635 -else
636 - DEPEND+="
637 - >=sys-devel/binutils-2.24
638 - >=sys-devel/gcc-4.7
639 - virtual/os-headers"
640 - RDEPEND+=" vanilla? ( !sys-libs/timezone-data )"
641 - PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
642 -fi
643 -
644 -upstream_uris() {
645 - echo mirror://gnu/glibc/$1 ftp://sourceware.org/pub/glibc/{releases,snapshots}/$1 mirror://gentoo/$1
646 -}
647 -gentoo_uris() {
648 - local devspace="HTTP~vapier/dist/URI HTTP~azarah/glibc/URI"
649 - devspace=${devspace//HTTP/https://dev.gentoo.org/}
650 - echo mirror://gentoo/$1 ${devspace//URI/$1}
651 -}
652 -SRC_URI=$(
653 - [[ -z ${EGIT_REPO_URIS} ]] && upstream_uris ${P}.tar.xz
654 - [[ -n ${PATCH_VER} ]] && gentoo_uris ${P}-patches-${PATCH_VER}.tar.bz2
655 -)
656 -SRC_URI+=" ${GCC_BOOTSTRAP_VER:+multilib? ( $(gentoo_uris gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2) )}"
657 -
658 -src_unpack() {
659 - [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib && unpack gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2
660 -
661 - toolchain-glibc_src_unpack
662 -}
663 -
664 -src_prepare() {
665 - toolchain-glibc_src_prepare
666 -
667 - cd "${S}"
668 -
669 - epatch "${FILESDIR}"/2.19/${PN}-2.19-ia64-gcc-4.8-reloc-hack.patch #503838
670 -
671 - if use hardened ; then
672 - # We don't enable these for non-hardened as the output is very terse --
673 - # it only states that a crash happened. The default upstream behavior
674 - # includes backtraces and symbols.
675 - einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler"
676 - cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-stack_chk_fail.c debug/stack_chk_fail.c || die
677 - cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-chk_fail.c debug/chk_fail.c || die
678 -
679 - if use debug ; then
680 - # Allow SIGABRT to dump core on non-hardened systems, or when debug is requested.
681 - sed -i \
682 - -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
683 - -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
684 - debug/Makefile || die
685 - fi
686 -
687 - # Build various bits with ssp-all
688 - sed -i \
689 - -e 's:-fstack-protector$:-fstack-protector-all:' \
690 - */Makefile || die
691 - fi
692 -
693 - case $(gcc-fullversion) in
694 - 4.8.[0-3]|4.9.0)
695 - eerror "You need to switch to a newer compiler; gcc-4.8.[0-3] and gcc-4.9.0 miscompile"
696 - eerror "glibc. See https://bugs.gentoo.org/547420 for details."
697 - die "need to switch compilers #547420"
698 - ;;
699 - esac
700 -}
701
702 diff --git a/sys-libs/glibc/glibc-2.25-r8.ebuild b/sys-libs/glibc/glibc-2.25-r8.ebuild
703 deleted file mode 100644
704 index 2e4018250ff..00000000000
705 --- a/sys-libs/glibc/glibc-2.25-r8.ebuild
706 +++ /dev/null
707 @@ -1,153 +0,0 @@
708 -# Copyright 1999-2017 Gentoo Foundation
709 -# Distributed under the terms of the GNU General Public License v2
710 -
711 -EAPI="5"
712 -
713 -inherit toolchain-glibc
714 -
715 -DESCRIPTION="GNU libc6 (also called glibc2) C library"
716 -HOMEPAGE="https://www.gnu.org/software/libc/libc.html"
717 -
718 -LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
719 -KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86"
720 -RESTRICT="strip" # strip ourself #46186
721 -EMULTILIB_PKG="true"
722 -
723 -# Configuration variables
724 -RELEASE_VER=""
725 -case ${PV} in
726 -9999*)
727 - EGIT_REPO_URIS="git://sourceware.org/git/glibc.git"
728 - EGIT_SOURCEDIRS="${S}"
729 - inherit git-2
730 - ;;
731 -*)
732 - RELEASE_VER=${PV}
733 - ;;
734 -esac
735 -GCC_BOOTSTRAP_VER="4.7.3-r1"
736 -# patches live at https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/glibc/
737 -PATCH_VER="11" # Gentoo patchset
738 -: ${NPTL_KERN_VER:="2.6.32"} # min kernel version nptl requires
739 -
740 -GLIBC_PATCH_EXCLUDE+=" 0005_all_sys-types.h-drop-sys-sysmacros.h-include.patch"
741 -
742 -IUSE="audit caps debug gd hardened multilib nscd +rpc selinux systemtap profile suid vanilla crosscompile_opts_headers-only"
743 -
744 -# Here's how the cross-compile logic breaks down ...
745 -# CTARGET - machine that will target the binaries
746 -# CHOST - machine that will host the binaries
747 -# CBUILD - machine that will build the binaries
748 -# If CTARGET != CHOST, it means you want a libc for cross-compiling.
749 -# If CHOST != CBUILD, it means you want to cross-compile the libc.
750 -# CBUILD = CHOST = CTARGET - native build/install
751 -# CBUILD != (CHOST = CTARGET) - cross-compile a native build
752 -# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
753 -# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
754 -# For install paths:
755 -# CHOST = CTARGET - install into /
756 -# CHOST != CTARGET - install into /usr/CTARGET/
757 -
758 -export CBUILD=${CBUILD:-${CHOST}}
759 -export CTARGET=${CTARGET:-${CHOST}}
760 -if [[ ${CTARGET} == ${CHOST} ]] ; then
761 - if [[ ${CATEGORY} == cross-* ]] ; then
762 - export CTARGET=${CATEGORY#cross-}
763 - fi
764 -fi
765 -
766 -is_crosscompile() {
767 - [[ ${CHOST} != ${CTARGET} ]]
768 -}
769 -
770 -# Why SLOT 2.2 you ask yourself while sippin your tea ?
771 -# Everyone knows 2.2 > 0, duh.
772 -SLOT="2.2"
773 -
774 -# General: We need a new-enough binutils/gcc to match upstream baseline.
775 -# arch: we need to make sure our binutils/gcc supports TLS.
776 -COMMON_DEPEND="
777 - nscd? ( selinux? (
778 - audit? ( sys-process/audit )
779 - caps? ( sys-libs/libcap )
780 - ) )
781 - suid? ( caps? ( sys-libs/libcap ) )
782 - selinux? ( sys-libs/libselinux )
783 - systemtap? ( dev-util/systemtap )
784 -"
785 -DEPEND="${COMMON_DEPEND}
786 - >=app-misc/pax-utils-0.1.10
787 - !<sys-apps/sandbox-1.6
788 - !<sys-apps/portage-2.1.2"
789 -RDEPEND="${COMMON_DEPEND}
790 - !sys-kernel/ps3-sources
791 - sys-apps/gentoo-functions
792 - !sys-libs/nss-db"
793 -
794 -if [[ ${CATEGORY} == cross-* ]] ; then
795 - DEPEND+=" !crosscompile_opts_headers-only? (
796 - >=${CATEGORY}/binutils-2.24
797 - >=${CATEGORY}/gcc-4.7
798 - )"
799 - [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
800 -else
801 - DEPEND+="
802 - >=sys-devel/binutils-2.24
803 - >=sys-devel/gcc-4.7
804 - virtual/os-headers"
805 - RDEPEND+=" vanilla? ( !sys-libs/timezone-data )"
806 - PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
807 -fi
808 -
809 -upstream_uris() {
810 - echo mirror://gnu/glibc/$1 ftp://sourceware.org/pub/glibc/{releases,snapshots}/$1 mirror://gentoo/$1
811 -}
812 -gentoo_uris() {
813 - local devspace="HTTP~vapier/dist/URI HTTP~dilfridge/distfiles/URI HTTP~tamiko/distfiles/URI HTTP~slyfox/distfiles/URI"
814 - devspace=${devspace//HTTP/https://dev.gentoo.org/}
815 - echo mirror://gentoo/$1 ${devspace//URI/$1}
816 -}
817 -SRC_URI=$(
818 - [[ -z ${EGIT_REPO_URIS} ]] && upstream_uris ${P}.tar.xz
819 - [[ -n ${PATCH_VER} ]] && gentoo_uris ${P}-patches-${PATCH_VER}.tar.bz2
820 -)
821 -SRC_URI+=" ${GCC_BOOTSTRAP_VER:+multilib? ( $(gentoo_uris gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2) )}"
822 -
823 -src_unpack() {
824 - [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib && unpack gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2
825 -
826 - toolchain-glibc_src_unpack
827 -}
828 -
829 -src_prepare() {
830 - toolchain-glibc_src_prepare
831 -
832 - cd "${S}"
833 -
834 - epatch "${FILESDIR}"/2.19/${PN}-2.19-ia64-gcc-4.8-reloc-hack.patch #503838
835 -
836 - if use hardened ; then
837 - # We don't enable these for non-hardened as the output is very terse --
838 - # it only states that a crash happened. The default upstream behavior
839 - # includes backtraces and symbols.
840 - einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler"
841 - cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-stack_chk_fail.c debug/stack_chk_fail.c || die
842 - cp "${FILESDIR}"/2.25/glibc-2.25-gentoo-chk_fail.c debug/chk_fail.c || die
843 -
844 - if use debug ; then
845 - # Allow SIGABRT to dump core on non-hardened systems, or when debug is requested.
846 - sed -i \
847 - -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
848 - -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
849 - debug/Makefile || die
850 - fi
851 - fi
852 -
853 - case $(gcc-fullversion) in
854 - 4.8.[0-3]|4.9.0)
855 - eerror "You need to switch to a newer compiler; gcc-4.8.[0-3] and gcc-4.9.0 miscompile"
856 - eerror "glibc. See https://bugs.gentoo.org/547420 for details."
857 - die "need to switch compilers #547420"
858 - ;;
859 - esac
860 -}