Gentoo Archives: gentoo-commits

From: Mike Frysinger <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/glibc/
Date: Thu, 09 Feb 2017 16:25:30
Message-Id: 1486657521.2d6b2069f891c99937d73e95f72e0ff10c16e03e.vapier@gentoo
1 commit: 2d6b2069f891c99937d73e95f72e0ff10c16e03e
2 Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
3 AuthorDate: Thu Feb 9 16:22:22 2017 +0000
4 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
5 CommitDate: Thu Feb 9 16:25:21 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d6b2069
7
8 sys-libs/glibc: drop old 2.23 versions
9
10 sys-libs/glibc/Manifest | 1 -
11 sys-libs/glibc/glibc-2.23-r1.ebuild | 205 -----------------------------------
12 sys-libs/glibc/glibc-2.23-r2.ebuild | 206 ------------------------------------
13 3 files changed, 412 deletions(-)
14
15 diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
16 index 5ff6ac2127..e1baa0f64c 100644
17 --- a/sys-libs/glibc/Manifest
18 +++ b/sys-libs/glibc/Manifest
19 @@ -11,7 +11,6 @@ DIST glibc-2.21-patches-7.tar.bz2 46894 SHA256 49126df6f4b819f2c315cca0a07e9b8ee
20 DIST glibc-2.21.tar.xz 12322092 SHA256 aeeb362437965a5d3f40b151094ca79def04a115bd363fdd4a9a0c69482923b8 SHA512 8cded6693618bec115f678fcbd0b77556f97dfa8337608f66e37224aefa55b38765ba61cb4d58beea37b5934e5ec8e30bad58613707388484906f2a0ce77997d WHIRLPOOL d07fec32bd92eade065a3b6170932b8bd41d07df4aa69dd5a860ebb9678c22bd1e20bf88b1fc05c3ecc18e709c0a63118e12525dc668e0399d7ef7fe4454702d
21 DIST glibc-2.22-patches-13.tar.bz2 74479 SHA256 ffd1e0f9a41be030e5ce2518d9e84a1fbaa9a4fb2e96f1b85dafb05fea666c86 SHA512 73517fc1502b0733d67ade1d1ba6168415f5da64f37045fac0b10ef57155bf6dfbe1876e4742d2543fcea0c935c179426f6fbb94f0205968392ef903d2f83897 WHIRLPOOL 0eeedaf09eb42e5186256dd41aae00cd2b9b8e3ab929a792e83d0fd8e8a8630d829f01b293588bf59e105eb17ab512416d8d115c3e542cddc34a84b84d56af3d
22 DIST glibc-2.22.tar.xz 12969072 SHA256 eb731406903befef1d8f878a46be75ef862b9056ab0cde1626d08a7a05328948 SHA512 a8719f3a4f8aa5fa81711116fdafbea5082c6dfd85bd8c4cdce60571910263ab422b35bb8b55a84d37ccb146442133ba60a84d453ca4a439c8ccd35419bd051b WHIRLPOOL f7e707b3776fc197a2e7bf5633721925507237b154bbc1f94b9fc303c87e6fc039ff0758da6ee55b4c1a0daaa87c6e594a6c96e7b00a7ba8ae98ee29918709a7
23 -DIST glibc-2.23-patches-4.tar.bz2 230533 SHA256 5b64a9b30778be79fac8a8c7e2ec7ebb077e136c85d79996ae3d725189d236a4 SHA512 af140a13bbc28070bfec26e041ce562b1cc091d312a82f385becb3ab87ee882d8ea10ac4ec6dcf86f154857527a3383782d46141016047338cebc7c393329cf3 WHIRLPOOL ca7be788c64428bd2bd6e41eee5345ff85dc9ee0987af55f60104a9f03e3019b8fa6a933ba785d3b1b27540c2485160d50499049985271227c07b094db649de3
24 DIST glibc-2.23-patches-7.tar.bz2 315221 SHA256 97ef9e370ce9b09d8e9b9f6239f7ef94dd837d29b7bfc1404438c63da1d534ac SHA512 c0d0cab0a370acef0b085b0ab09ce868425a12bbb371d0a9ff91dc83a74a0d8d3b541d10c44650b00b7cb155f8ac1f87764e6a6bd9d6bae8a9a904b4df1650ef WHIRLPOOL 128ea1a2eeaad3d95cdf1054d10232a34e8f88d10ed8907a67d9ff02734243d20b21595ca3698a4861d9c65e2a59aedbcf8e399bd1ed879dba1556ce2995ad9b
25 DIST glibc-2.23.tar.xz 13455260 SHA256 94efeb00e4603c8546209cefb3e1a50a5315c86fa9b078b6fad758e187ce13e9 SHA512 b82953388cd028e174cb08f082557bbce0dad8b67b17d31b29f90102fd52a51e03d591448ecb64882a1c1d5303afffc7f6ede85cee4c784a9284fbc9b4ad26cf WHIRLPOOL 7c7e3bf55a89a04bac917b9ca5a1cbb1613f22c427d2766f114b5a36f9635856005b823852ef5d3b73462b577fe4e5865e68e7b64633d48a95fa1e5eaa831a71
26 DIST glibc-2.24-patches-4.tar.bz2 66166 SHA256 87e9f1977b836422969c5d893fdeba139618f6bc85f79d0619c541eeaec74ed4 SHA512 421dc34403f0dcdbbdd37833a6f26025a901fc507dadde916c5b364f59c427f2936dadd4fd56ac02f28fbaadcf4122bd5fabfca8b6f1e8dfe9d3979e28ec0a25 WHIRLPOOL f7691cf0c7510bef2fd2e9b4fb729dfa1885dfb908fd588f49c22334554cc750d565286aea2cd214426abd1d501c0343606e62f168edf3626fd6c5dec279b395
27
28 diff --git a/sys-libs/glibc/glibc-2.23-r1.ebuild b/sys-libs/glibc/glibc-2.23-r1.ebuild
29 deleted file mode 100644
30 index 82bdd11a52..0000000000
31 --- a/sys-libs/glibc/glibc-2.23-r1.ebuild
32 +++ /dev/null
33 @@ -1,205 +0,0 @@
34 -# Copyright 1999-2015 Gentoo Foundation
35 -# Distributed under the terms of the GNU General Public License v2
36 -# $Id$
37 -
38 -EAPI="4"
39 -
40 -inherit eutils versionator toolchain-funcs flag-o-matic gnuconfig multilib systemd unpacker multiprocessing
41 -
42 -DESCRIPTION="GNU libc6 (also called glibc2) C library"
43 -HOMEPAGE="https://www.gnu.org/software/libc/libc.html"
44 -
45 -LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
46 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
47 -RESTRICT="strip" # strip ourself #46186
48 -EMULTILIB_PKG="true"
49 -
50 -# Configuration variables
51 -RELEASE_VER=""
52 -case ${PV} in
53 -9999*)
54 - EGIT_REPO_URIS="git://sourceware.org/git/glibc.git"
55 - EGIT_SOURCEDIRS="${S}"
56 - inherit git-2
57 - ;;
58 -*)
59 - RELEASE_VER=${PV}
60 - ;;
61 -esac
62 -GCC_BOOTSTRAP_VER="4.7.3-r1"
63 -PATCH_VER="4" # Gentoo patchset
64 -: ${NPTL_KERN_VER:="2.6.32"} # min kernel version nptl requires
65 -
66 -IUSE="audit caps debug gd hardened multilib nscd +rpc selinux systemtap profile suid vanilla crosscompile_opts_headers-only"
67 -
68 -# Here's how the cross-compile logic breaks down ...
69 -# CTARGET - machine that will target the binaries
70 -# CHOST - machine that will host the binaries
71 -# CBUILD - machine that will build the binaries
72 -# If CTARGET != CHOST, it means you want a libc for cross-compiling.
73 -# If CHOST != CBUILD, it means you want to cross-compile the libc.
74 -# CBUILD = CHOST = CTARGET - native build/install
75 -# CBUILD != (CHOST = CTARGET) - cross-compile a native build
76 -# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
77 -# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
78 -# For install paths:
79 -# CHOST = CTARGET - install into /
80 -# CHOST != CTARGET - install into /usr/CTARGET/
81 -
82 -export CBUILD=${CBUILD:-${CHOST}}
83 -export CTARGET=${CTARGET:-${CHOST}}
84 -if [[ ${CTARGET} == ${CHOST} ]] ; then
85 - if [[ ${CATEGORY} == cross-* ]] ; then
86 - export CTARGET=${CATEGORY#cross-}
87 - fi
88 -fi
89 -
90 -is_crosscompile() {
91 - [[ ${CHOST} != ${CTARGET} ]]
92 -}
93 -
94 -# Why SLOT 2.2 you ask yourself while sippin your tea ?
95 -# Everyone knows 2.2 > 0, duh.
96 -SLOT="2.2"
97 -
98 -# General: We need a new-enough binutils/gcc to match upstream baseline.
99 -# arch: we need to make sure our binutils/gcc supports TLS.
100 -COMMON_DEPEND="
101 - nscd? ( selinux? (
102 - audit? ( sys-process/audit )
103 - caps? ( sys-libs/libcap )
104 - ) )
105 - suid? ( caps? ( sys-libs/libcap ) )
106 - selinux? ( sys-libs/libselinux )
107 -"
108 -DEPEND="${COMMON_DEPEND}
109 - >=app-misc/pax-utils-0.1.10
110 - !<sys-apps/sandbox-1.6
111 - !<sys-apps/portage-2.1.2"
112 -RDEPEND="${COMMON_DEPEND}
113 - !sys-kernel/ps3-sources
114 - sys-apps/gentoo-functions
115 - !sys-libs/nss-db"
116 -
117 -if [[ ${CATEGORY} == cross-* ]] ; then
118 - DEPEND+=" !crosscompile_opts_headers-only? (
119 - >=${CATEGORY}/binutils-2.24
120 - >=${CATEGORY}/gcc-4.7
121 - )"
122 - [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
123 -else
124 - DEPEND+="
125 - >=sys-devel/binutils-2.24
126 - >=sys-devel/gcc-4.7
127 - virtual/os-headers"
128 - RDEPEND+=" vanilla? ( !sys-libs/timezone-data )"
129 - PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
130 -fi
131 -
132 -upstream_uris() {
133 - echo mirror://gnu/glibc/$1 ftp://sourceware.org/pub/glibc/{releases,snapshots}/$1 mirror://gentoo/$1
134 -}
135 -gentoo_uris() {
136 - local devspace="HTTP~vapier/dist/URI HTTP~azarah/glibc/URI"
137 - devspace=${devspace//HTTP/https://dev.gentoo.org/}
138 - echo mirror://gentoo/$1 ${devspace//URI/$1}
139 -}
140 -SRC_URI=$(
141 - [[ -z ${EGIT_REPO_URIS} ]] && upstream_uris ${P}.tar.xz
142 - [[ -n ${PATCH_VER} ]] && gentoo_uris ${P}-patches-${PATCH_VER}.tar.bz2
143 -)
144 -SRC_URI+=" ${GCC_BOOTSTRAP_VER:+multilib? ( $(gentoo_uris gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2) )}"
145 -
146 -# eblit-include [--skip] <function> [version]
147 -eblit-include() {
148 - local skipable=false
149 - [[ $1 == "--skip" ]] && skipable=true && shift
150 - [[ $1 == pkg_* ]] && skipable=true
151 -
152 - local e v func=$1 ver=$2
153 - [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]"
154 - for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
155 - e="${FILESDIR}/eblits/${func}${v}.eblit"
156 - if [[ -e ${e} ]] ; then
157 - source "${e}"
158 - return 0
159 - fi
160 - done
161 - ${skipable} && return 0
162 - die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/"
163 -}
164 -
165 -# eblit-run-maybe <function>
166 -# run the specified function if it is defined
167 -eblit-run-maybe() {
168 - [[ $(type -t "$@") == "function" ]] && "$@"
169 -}
170 -
171 -# eblit-run <function> [version]
172 -# aka: src_unpack() { eblit-run src_unpack ; }
173 -eblit-run() {
174 - eblit-include --skip common "${*:2}"
175 - eblit-include "$@"
176 - eblit-run-maybe eblit-$1-pre
177 - eblit-${PN}-$1
178 - eblit-run-maybe eblit-$1-post
179 -}
180 -
181 -src_unpack() { eblit-run src_unpack ; }
182 -src_prepare() { eblit-run src_prepare ; }
183 -src_configure() { eblit-run src_configure ; }
184 -src_compile() { eblit-run src_compile ; }
185 -src_test() { eblit-run src_test ; }
186 -src_install() { eblit-run src_install ; }
187 -
188 -# FILESDIR might not be available during binpkg install
189 -for x in pretend setup {pre,post}inst ; do
190 - e="${FILESDIR}/eblits/pkg_${x}.eblit"
191 - if [[ -e ${e} ]] ; then
192 - . "${e}"
193 - eval "pkg_${x}() { eblit-run pkg_${x} ; }"
194 - fi
195 -done
196 -
197 -eblit-src_unpack-pre() {
198 - [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib && unpack gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2
199 - # Bug 558636 we don't apply the pie works around for 2.22. It shoud have the support. #558636
200 - GLIBC_PATCH_EXCLUDE+=" 00_all_0002-workaround-crash-when-handling-signals-in-static-PIE.patch"
201 - GLIBC_PATCH_EXCLUDE+=" 00_all_0012-disable-PIE-when-checking-for-PIC-default.patch"
202 -}
203 -
204 -eblit-src_prepare-post() {
205 - cd "${S}"
206 -
207 - epatch "${FILESDIR}"/2.19/${PN}-2.19-ia64-gcc-4.8-reloc-hack.patch #503838
208 -
209 - if use hardened ; then
210 - # We don't enable these for non-hardened as the output is very terse --
211 - # it only states that a crash happened. The default upstream behavior
212 - # includes backtraces and symbols.
213 - einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler"
214 - cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-stack_chk_fail.c debug/stack_chk_fail.c || die
215 - cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-chk_fail.c debug/chk_fail.c || die
216 -
217 - if use debug ; then
218 - # Allow SIGABRT to dump core on non-hardened systems, or when debug is requested.
219 - sed -i \
220 - -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
221 - -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
222 - debug/Makefile || die
223 - fi
224 -
225 - # Build various bits with ssp-all
226 - sed -i \
227 - -e 's:-fstack-protector$:-fstack-protector-all:' \
228 - */Makefile || die
229 - fi
230 -
231 - case $(gcc-fullversion) in
232 - 4.8.[0-3]|4.9.0)
233 - eerror "You need to switch to a newer compiler; gcc-4.8.[0-3] and gcc-4.9.0 miscompile"
234 - eerror "glibc. See https://bugs.gentoo.org/547420 for details."
235 - die "need to switch compilers #547420"
236 - ;;
237 - esac
238 -}
239
240 diff --git a/sys-libs/glibc/glibc-2.23-r2.ebuild b/sys-libs/glibc/glibc-2.23-r2.ebuild
241 deleted file mode 100644
242 index 27b7d3ab7f..0000000000
243 --- a/sys-libs/glibc/glibc-2.23-r2.ebuild
244 +++ /dev/null
245 @@ -1,206 +0,0 @@
246 -# Copyright 1999-2017 Gentoo Foundation
247 -# Distributed under the terms of the GNU General Public License v2
248 -# $Id$
249 -
250 -EAPI="4"
251 -
252 -inherit eutils versionator toolchain-funcs flag-o-matic gnuconfig multilib systemd unpacker multiprocessing prefix
253 -
254 -DESCRIPTION="GNU libc6 (also called glibc2) C library"
255 -HOMEPAGE="https://www.gnu.org/software/libc/libc.html"
256 -
257 -LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
258 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
259 -RESTRICT="strip" # strip ourself #46186
260 -EMULTILIB_PKG="true"
261 -
262 -# Configuration variables
263 -RELEASE_VER=""
264 -case ${PV} in
265 -9999*)
266 - EGIT_REPO_URIS="git://sourceware.org/git/glibc.git"
267 - EGIT_SOURCEDIRS="${S}"
268 - inherit git-2
269 - ;;
270 -*)
271 - RELEASE_VER=${PV}
272 - ;;
273 -esac
274 -GCC_BOOTSTRAP_VER="4.7.3-r1"
275 -PATCH_VER="4" # Gentoo patchset
276 -: ${NPTL_KERN_VER:="2.6.32"} # min kernel version nptl requires
277 -
278 -IUSE="audit caps debug gd hardened multilib nscd +rpc selinux systemtap profile suid vanilla crosscompile_opts_headers-only"
279 -
280 -# Here's how the cross-compile logic breaks down ...
281 -# CTARGET - machine that will target the binaries
282 -# CHOST - machine that will host the binaries
283 -# CBUILD - machine that will build the binaries
284 -# If CTARGET != CHOST, it means you want a libc for cross-compiling.
285 -# If CHOST != CBUILD, it means you want to cross-compile the libc.
286 -# CBUILD = CHOST = CTARGET - native build/install
287 -# CBUILD != (CHOST = CTARGET) - cross-compile a native build
288 -# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
289 -# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
290 -# For install paths:
291 -# CHOST = CTARGET - install into /
292 -# CHOST != CTARGET - install into /usr/CTARGET/
293 -
294 -export CBUILD=${CBUILD:-${CHOST}}
295 -export CTARGET=${CTARGET:-${CHOST}}
296 -if [[ ${CTARGET} == ${CHOST} ]] ; then
297 - if [[ ${CATEGORY} == cross-* ]] ; then
298 - export CTARGET=${CATEGORY#cross-}
299 - fi
300 -fi
301 -
302 -is_crosscompile() {
303 - [[ ${CHOST} != ${CTARGET} ]]
304 -}
305 -
306 -# Why SLOT 2.2 you ask yourself while sippin your tea ?
307 -# Everyone knows 2.2 > 0, duh.
308 -SLOT="2.2"
309 -
310 -# General: We need a new-enough binutils/gcc to match upstream baseline.
311 -# arch: we need to make sure our binutils/gcc supports TLS.
312 -COMMON_DEPEND="
313 - nscd? ( selinux? (
314 - audit? ( sys-process/audit )
315 - caps? ( sys-libs/libcap )
316 - ) )
317 - suid? ( caps? ( sys-libs/libcap ) )
318 - selinux? ( sys-libs/libselinux )
319 -"
320 -DEPEND="${COMMON_DEPEND}
321 - >=app-misc/pax-utils-0.1.10
322 - !<sys-apps/sandbox-1.6
323 - !<sys-apps/portage-2.1.2"
324 -RDEPEND="${COMMON_DEPEND}
325 - !sys-kernel/ps3-sources
326 - sys-apps/gentoo-functions
327 - !sys-libs/nss-db"
328 -
329 -if [[ ${CATEGORY} == cross-* ]] ; then
330 - DEPEND+=" !crosscompile_opts_headers-only? (
331 - >=${CATEGORY}/binutils-2.24
332 - >=${CATEGORY}/gcc-4.7
333 - )"
334 - [[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
335 -else
336 - DEPEND+="
337 - >=sys-devel/binutils-2.24
338 - >=sys-devel/gcc-4.7
339 - virtual/os-headers"
340 - RDEPEND+=" vanilla? ( !sys-libs/timezone-data )"
341 - PDEPEND+=" !vanilla? ( sys-libs/timezone-data )"
342 -fi
343 -
344 -upstream_uris() {
345 - echo mirror://gnu/glibc/$1 ftp://sourceware.org/pub/glibc/{releases,snapshots}/$1 mirror://gentoo/$1
346 -}
347 -gentoo_uris() {
348 - local devspace="HTTP~vapier/dist/URI HTTP~azarah/glibc/URI"
349 - devspace=${devspace//HTTP/https://dev.gentoo.org/}
350 - echo mirror://gentoo/$1 ${devspace//URI/$1}
351 -}
352 -SRC_URI=$(
353 - [[ -z ${EGIT_REPO_URIS} ]] && upstream_uris ${P}.tar.xz
354 - [[ -n ${PATCH_VER} ]] && gentoo_uris ${P}-patches-${PATCH_VER}.tar.bz2
355 -)
356 -SRC_URI+=" ${GCC_BOOTSTRAP_VER:+multilib? ( $(gentoo_uris gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2) )}"
357 -
358 -# eblit-include [--skip] <function> [version]
359 -eblit-include() {
360 - local skipable=false
361 - [[ $1 == "--skip" ]] && skipable=true && shift
362 - [[ $1 == pkg_* ]] && skipable=true
363 -
364 - local e v func=$1 ver=$2
365 - [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]"
366 - for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
367 - e="${FILESDIR}/eblits/${func}${v}.eblit"
368 - if [[ -e ${e} ]] ; then
369 - source "${e}"
370 - return 0
371 - fi
372 - done
373 - ${skipable} && return 0
374 - die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/"
375 -}
376 -
377 -# eblit-run-maybe <function>
378 -# run the specified function if it is defined
379 -eblit-run-maybe() {
380 - [[ $(type -t "$@") == "function" ]] && "$@"
381 -}
382 -
383 -# eblit-run <function> [version]
384 -# aka: src_unpack() { eblit-run src_unpack ; }
385 -eblit-run() {
386 - eblit-include --skip common "${*:2}"
387 - eblit-include "$@"
388 - eblit-run-maybe eblit-$1-pre
389 - eblit-${PN}-$1
390 - eblit-run-maybe eblit-$1-post
391 -}
392 -
393 -src_unpack() { eblit-run src_unpack ; }
394 -src_prepare() { eblit-run src_prepare ; }
395 -src_configure() { eblit-run src_configure ; }
396 -src_compile() { eblit-run src_compile ; }
397 -src_test() { eblit-run src_test ; }
398 -src_install() { eblit-run src_install ; }
399 -
400 -# FILESDIR might not be available during binpkg install
401 -for x in pretend setup {pre,post}inst ; do
402 - e="${FILESDIR}/eblits/pkg_${x}.eblit"
403 - if [[ -e ${e} ]] ; then
404 - . "${e}"
405 - eval "pkg_${x}() { eblit-run pkg_${x} ; }"
406 - fi
407 -done
408 -
409 -eblit-src_unpack-pre() {
410 - [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib && unpack gcc-${GCC_BOOTSTRAP_VER}-multilib-bootstrap.tar.bz2
411 - # Bug 558636 we don't apply the pie works around for 2.22. It shoud have the support. #558636
412 - GLIBC_PATCH_EXCLUDE+=" 00_all_0002-workaround-crash-when-handling-signals-in-static-PIE.patch"
413 - GLIBC_PATCH_EXCLUDE+=" 00_all_0012-disable-PIE-when-checking-for-PIC-default.patch"
414 - GLIBC_PATCH_EXCLUDE+=" 00_all_0009-sys-types.h-drop-sys-sysmacros.h-include.patch"
415 -}
416 -
417 -eblit-src_prepare-post() {
418 - cd "${S}"
419 -
420 - epatch "${FILESDIR}"/2.19/${PN}-2.19-ia64-gcc-4.8-reloc-hack.patch #503838
421 -
422 - if use hardened ; then
423 - # We don't enable these for non-hardened as the output is very terse --
424 - # it only states that a crash happened. The default upstream behavior
425 - # includes backtraces and symbols.
426 - einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler"
427 - cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-stack_chk_fail.c debug/stack_chk_fail.c || die
428 - cp "${FILESDIR}"/2.20/glibc-2.20-gentoo-chk_fail.c debug/chk_fail.c || die
429 -
430 - if use debug ; then
431 - # Allow SIGABRT to dump core on non-hardened systems, or when debug is requested.
432 - sed -i \
433 - -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
434 - -e '/^CFLAGS-backtrace.c/ iCPPFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
435 - debug/Makefile || die
436 - fi
437 -
438 - # Build various bits with ssp-all
439 - sed -i \
440 - -e 's:-fstack-protector$:-fstack-protector-all:' \
441 - */Makefile || die
442 - fi
443 -
444 - case $(gcc-fullversion) in
445 - 4.8.[0-3]|4.9.0)
446 - eerror "You need to switch to a newer compiler; gcc-4.8.[0-3] and gcc-4.9.0 miscompile"
447 - eerror "glibc. See https://bugs.gentoo.org/547420 for details."
448 - die "need to switch compilers #547420"
449 - ;;
450 - esac
451 -}