1 |
commit: 4413c7dfe13e9168daec30d1565b1c29122a957b |
2 |
Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Dec 29 15:23:54 2011 +0000 |
4 |
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Dec 29 15:23:54 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=4413c7df |
7 |
|
8 |
sys-devel/gcc: add ebuild for gcc-4.5.3 |
9 |
|
10 |
(Portage version: 2.1.10.41/git/Linux x86_64, signed Manifest commit with key 0xD0455535) |
11 |
|
12 |
--- |
13 |
.../gcc/files/4.4.0/gcc-4.4.0-softfloat.patch | 89 -------- |
14 |
sys-devel/gcc/files/gcc-configure-LANG.patch | 64 ------ |
15 |
sys-devel/gcc/files/gcc-configure-texinfo.patch | 16 -- |
16 |
sys-devel/gcc/files/mkinfodir | 233 -------------------- |
17 |
sys-devel/gcc/files/pro-police-docs.patch | 74 ------ |
18 |
sys-devel/gcc/files/stubs/gcc-3.3-htb-stub.patch | 59 ----- |
19 |
sys-devel/gcc/files/stubs/gcc-3.3-ssp-stub.patch | 45 ---- |
20 |
sys-devel/gcc/files/stubs/gcc-3.4-htb-stub.patch | 32 --- |
21 |
sys-devel/gcc/files/stubs/gcc-3.4-ssp-stub.patch | 44 ---- |
22 |
sys-devel/gcc/files/stubs/gcc-4.0-htb-stub.patch | 32 --- |
23 |
sys-devel/gcc/files/stubs/gcc-4.0-ssp-stub.patch | 44 ---- |
24 |
sys-devel/gcc/gcc-4.5.3-r99.ebuild | 57 +++++ |
25 |
sys-devel/gcc/gcc-4.6.0.ebuild | 96 -------- |
26 |
sys-devel/gcc/metadata.xml | 8 +- |
27 |
14 files changed, 58 insertions(+), 835 deletions(-) |
28 |
|
29 |
diff --git a/sys-devel/gcc/files/4.4.0/gcc-4.4.0-softfloat.patch b/sys-devel/gcc/files/4.4.0/gcc-4.4.0-softfloat.patch |
30 |
deleted file mode 100644 |
31 |
index bf8d718..0000000 |
32 |
--- a/sys-devel/gcc/files/4.4.0/gcc-4.4.0-softfloat.patch |
33 |
+++ /dev/null |
34 |
@@ -1,89 +0,0 @@ |
35 |
-The hunk for gcc/config/arm/t-linux comes from: |
36 |
-http://gcc.gnu.org/PR14352 |
37 |
- |
38 |
-The rest is a custom job by Yuri Vasilevski. |
39 |
- |
40 |
-The idea here is that we add soft float support into the spec file |
41 |
-so that we don't have to worry about packages stripping out softfloat |
42 |
-flags from CFLAGS/CXXFLAGS. |
43 |
- |
44 |
-http://bugs.gentoo.org/75585 |
45 |
- |
46 |
---- gcc-4.0.2/gcc/config/arm/elf.h |
47 |
-+++ gcc-4.0.2/gcc/config/arm/elf.h |
48 |
-@@ -45,8 +45,9 @@ |
49 |
- #endif |
50 |
- |
51 |
- #ifndef SUBTARGET_ASM_FLOAT_SPEC |
52 |
--#define SUBTARGET_ASM_FLOAT_SPEC "\ |
53 |
--%{mapcs-float:-mfloat}" |
54 |
-+#define SUBTARGET_ASM_FLOAT_SPEC "%{mapcs-float:-mfloat} \ |
55 |
-+ %{mhard-float:-mfpu=fpa} \ |
56 |
-+ %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}" |
57 |
- #endif |
58 |
- |
59 |
- #ifndef ASM_SPEC |
60 |
-@@ -58,8 +59,6 @@ |
61 |
- %{mapcs-*:-mapcs-%*} \ |
62 |
- %(subtarget_asm_float_spec) \ |
63 |
- %{mthumb-interwork:-mthumb-interwork} \ |
64 |
--%{msoft-float:-mfloat-abi=soft} %{mhard-float:-mfloat-abi=hard} \ |
65 |
--%{mfloat-abi=*} %{mfpu=*} \ |
66 |
- %(subtarget_extra_asm_spec)" |
67 |
- #endif |
68 |
- |
69 |
---- gcc-4.0.2/gcc/config/arm/linux-elf.h |
70 |
-+++ gcc-4.0.2/gcc/config/arm/linux-elf.h |
71 |
-@@ -28,7 +28,7 @@ |
72 |
- #define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr); |
73 |
- |
74 |
- #undef TARGET_DEFAULT_FLOAT_ABI |
75 |
--#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD |
76 |
-+#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_SOFT |
77 |
- |
78 |
- /* TARGET_BIG_ENDIAN_DEFAULT is set in |
79 |
- config.gcc for big endian configurations. */ |
80 |
-@@ -44,6 +44,10 @@ |
81 |
- |
82 |
- #undef TARGET_DEFAULT |
83 |
- #define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT) |
84 |
-+#undef SUBTARGET_EXTRA_ASM_SPEC |
85 |
-+#define SUBTARGET_EXTRA_ASM_SPEC "%{mhard-float:-mfpu=fpa} \ |
86 |
-+ %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}" |
87 |
-+ |
88 |
- |
89 |
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6 |
90 |
- |
91 |
-@@ -51,7 +55,7 @@ |
92 |
- |
93 |
- #undef MULTILIB_DEFAULTS |
94 |
- #define MULTILIB_DEFAULTS \ |
95 |
-- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" } |
96 |
-+ { "marm", TARGET_ENDIAN_OPTION, "msoft-float", "mno-thumb-interwork" } |
97 |
- |
98 |
- /* Now we define the strings used to build the spec file. */ |
99 |
- #undef LIB_SPEC |
100 |
-@@ -60,7 +64,7 @@ |
101 |
- %{shared:-lc} \ |
102 |
- %{!shared:%{profile:-lc_p}%{!profile:-lc}}" |
103 |
- |
104 |
--#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc" |
105 |
-+#define LIBGCC_SPEC "-lgcc" |
106 |
- |
107 |
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" |
108 |
- |
109 |
---- gcc-4.0.2/gcc/config/arm/t-linux |
110 |
-+++ gcc-4.0.2/gcc/config/arm/t-linux |
111 |
-@@ -3,8 +3,10 @@ |
112 |
- TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC |
113 |
- |
114 |
- LIB1ASMSRC = arm/lib1funcs.asm |
115 |
--LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ |
116 |
-- _arm_addsubdf3 _arm_addsubsf3 |
117 |
-+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \ |
118 |
-+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \ |
119 |
-+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ |
120 |
-+ _fixsfsi _fixunssfsi _floatdidf _floatdisf |
121 |
- |
122 |
- # MULTILIB_OPTIONS = mhard-float/msoft-float |
123 |
- # MULTILIB_DIRNAMES = hard-float soft-float |
124 |
|
125 |
diff --git a/sys-devel/gcc/files/gcc-configure-LANG.patch b/sys-devel/gcc/files/gcc-configure-LANG.patch |
126 |
deleted file mode 100644 |
127 |
index d1b1b03..0000000 |
128 |
--- a/sys-devel/gcc/files/gcc-configure-LANG.patch |
129 |
+++ /dev/null |
130 |
@@ -1,64 +0,0 @@ |
131 |
-The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in |
132 |
-option parsing, it may break. |
133 |
- |
134 |
-http://bugs.gentoo.org/103483 |
135 |
- |
136 |
---- configure |
137 |
-+++ configure |
138 |
-@@ -54,6 +54,19 @@ |
139 |
- infodir='${prefix}/info' |
140 |
- mandir='${prefix}/man' |
141 |
- |
142 |
-+# NLS nuisances. |
143 |
-+for as_var in \ |
144 |
-+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ |
145 |
-+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ |
146 |
-+ LC_TELEPHONE LC_TIME |
147 |
-+do |
148 |
-+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then |
149 |
-+ eval $as_var=C; export $as_var |
150 |
-+ else |
151 |
-+ unset $as_var |
152 |
-+ fi |
153 |
-+done |
154 |
-+ |
155 |
- # Initialize some other variables. |
156 |
- subdirs= |
157 |
- MFLAGS= MAKEFLAGS= |
158 |
-@@ -452,16 +463,6 @@ |
159 |
- esac |
160 |
- done |
161 |
- |
162 |
--# NLS nuisances. |
163 |
--# Only set these to C if already set. These must not be set unconditionally |
164 |
--# because not all systems understand e.g. LANG=C (notably SCO). |
165 |
--# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! |
166 |
--# Non-C LC_CTYPE values break the ctype check. |
167 |
--if test "${LANG+set}" = set; then LANG=C; export LANG; fi |
168 |
--if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi |
169 |
--if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi |
170 |
--if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi |
171 |
-- |
172 |
- # confdefs.h avoids OS command line length limits that DEFS can exceed. |
173 |
- rm -rf conftest* confdefs.h |
174 |
- # AIX cpp loses on an empty file, so make sure it contains at least a newline. |
175 |
-@@ -1850,6 +1850,19 @@ |
176 |
- # Compiler output produced by configure, useful for debugging |
177 |
- # configure, is in ./config.log if it exists. |
178 |
- |
179 |
-+# NLS nuisances. |
180 |
-+for as_var in \ |
181 |
-+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ |
182 |
-+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ |
183 |
-+ LC_TELEPHONE LC_TIME |
184 |
-+do |
185 |
-+ if (set +x; test -z "`(eval \$as_var=C; export \$as_var) 2>&1`"); then |
186 |
-+ eval \$as_var=C; export \$as_var |
187 |
-+ else |
188 |
-+ unset \$as_var |
189 |
-+ fi |
190 |
-+done |
191 |
-+ |
192 |
- ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" |
193 |
- for ac_option |
194 |
- do |
195 |
|
196 |
diff --git a/sys-devel/gcc/files/gcc-configure-texinfo.patch b/sys-devel/gcc/files/gcc-configure-texinfo.patch |
197 |
deleted file mode 100644 |
198 |
index ddc098d..0000000 |
199 |
--- a/sys-devel/gcc/files/gcc-configure-texinfo.patch |
200 |
+++ /dev/null |
201 |
@@ -1,16 +0,0 @@ |
202 |
-Chances are quite good that the installed makeinfo is sufficient. |
203 |
-So ignore false positives where the makeinfo installed is so new |
204 |
-that it violates the cheesy version grep. |
205 |
- |
206 |
-http://bugs.gentoo.org/198182 |
207 |
- |
208 |
---- configure |
209 |
-+++ configure |
210 |
-@@ -3573,6 +3573,6 @@ |
211 |
- : |
212 |
- else |
213 |
-- MAKEINFO="$MISSING makeinfo" |
214 |
-+ : |
215 |
- fi |
216 |
- ;; |
217 |
- |
218 |
|
219 |
diff --git a/sys-devel/gcc/files/mkinfodir b/sys-devel/gcc/files/mkinfodir |
220 |
deleted file mode 100755 |
221 |
index a62840e..0000000 |
222 |
--- a/sys-devel/gcc/files/mkinfodir |
223 |
+++ /dev/null |
224 |
@@ -1,233 +0,0 @@ |
225 |
-#!/bin/bash |
226 |
-# $Id: mkinfodir,v 1.1 2001/09/01 07:56:19 drobbins Exp $ |
227 |
-# Generate the top-level Info node, given a directory of Info files |
228 |
-# and (optionally) a skeleton file. The output will be suitable for a |
229 |
-# top-level dir file. The skeleton file contains info topic names in the |
230 |
-# order they should appear in the output. There are three special |
231 |
-# lines that alter the behavior: a line consisting of just "--" causes |
232 |
-# the next line to be echoed verbatim to the output. A line |
233 |
-# containing just "%%" causes all the remaining filenames (wildcards |
234 |
-# allowed) in the rest of the file to be ignored. A line containing |
235 |
-# just "!!" exits the script when reached (unless preceded by a line |
236 |
-# containing just "--"). Once the script reaches the end of the |
237 |
-# skeleton file, it goes through the remaining files in the directory |
238 |
-# in order, putting their entries at the end. The script will use the |
239 |
-# ENTRY information in each info file if it exists. Otherwise it will |
240 |
-# make a minimal entry. |
241 |
- |
242 |
-# sent by Jeffrey Osier <jeffrey@××××××.com>, who thinks it came from |
243 |
-# zoo@×××××××××.com (david d `zoo' zuhn) |
244 |
- |
245 |
-# modified 7 April 1995 by Joe Harrington <jh@××××××××××××××××.gov> to |
246 |
-# take special flags |
247 |
- |
248 |
-INFODIR=$1 |
249 |
-if [ $# = 2 ] ; then |
250 |
- SKELETON=$2 |
251 |
-else |
252 |
- SKELETON=/dev/null |
253 |
-fi |
254 |
- |
255 |
-skip= |
256 |
- |
257 |
-if [ $# -gt 2 ] ; then |
258 |
- echo usage: $0 info-directory [ skeleton-file ] 1>&2 |
259 |
- exit 1 |
260 |
-elif [ -z "${INFODIR}" ] ; then |
261 |
- INFODIR="%%DEFAULT_INFO_DIR%%" |
262 |
-else |
263 |
- true |
264 |
-fi |
265 |
- |
266 |
-if [ ! -d ${INFODIR} ] ; then |
267 |
- echo "$0: first argument must specify a directory" |
268 |
- exit 1 |
269 |
-fi |
270 |
- |
271 |
-### output the dir header |
272 |
-echo "-*- Text -*-" |
273 |
-echo "This file was generated automatically by $0." |
274 |
-echo "This version was generated on `date`" |
275 |
-echo "by `whoami`@`hostname` for `(cd ${INFODIR}; pwd)`" |
276 |
- |
277 |
-cat << moobler |
278 |
-\$Id: mkinfodir,v 1.1 2001/09/01 07:56:19 drobbins Exp $ |
279 |
-This is the file .../info/dir, which contains the topmost node of the |
280 |
-Info hierarchy. The first time you invoke Info you start off |
281 |
-looking at that node, which is (dir)Top. |
282 |
- |
283 |
-File: dir Node: Top This is the top of the INFO tree |
284 |
- |
285 |
- This (the Directory node) gives a menu of major topics. |
286 |
- Typing "q" exits, "?" lists all Info commands, "d" returns here, |
287 |
- "h" gives a primer for first-timers, |
288 |
- "mEmacs<Return>" visits the Emacs topic, etc. |
289 |
- |
290 |
- In Emacs, you can click mouse button 2 on a menu item or cross reference |
291 |
- to select it. |
292 |
- |
293 |
-* Menu: The list of major topics begins on the next line. |
294 |
- |
295 |
-moobler |
296 |
- |
297 |
-### go through the list of files in the skeleton. If an info file |
298 |
-### exists, grab the ENTRY information from it. If an entry exists |
299 |
-### use it, otherwise create a minimal dir entry. |
300 |
-### |
301 |
-### Then remove that file from the list of existing files. If any |
302 |
-### additional files remain (ones that don't have a skeleton entry), |
303 |
-### then generate entries for those in the same way, putting the info for |
304 |
-### those at the end.... |
305 |
- |
306 |
-infofiles=`(cd ${INFODIR}; /bin/ls | grep -v '\-[0-9]*\.gz$' | grep -v '\-[0-9]*$' | egrep -v '^dir$|^dir\.info$|^dir\.orig$')` |
307 |
- |
308 |
-# echoing gets clobbered by backquotes; we do it the hard way... |
309 |
-lines=`wc $SKELETON | awk '{print $1}'` |
310 |
-line=1 |
311 |
-while [ $lines -ge $line ] ; do |
312 |
- # Read one line from the file. This is so that we can echo lines with |
313 |
- # whitespace and quoted characters in them. |
314 |
- fileline=`awk NR==$line $SKELETON` |
315 |
- |
316 |
- # flag fancy features |
317 |
- if [ ! -z "$echoline" ] ; then # echo line |
318 |
- echo "$fileline" |
319 |
- fileline= |
320 |
- echoline= |
321 |
- elif [ "${fileline}" = "--" ] ; then # should we echo the next line? |
322 |
- echoline=1 |
323 |
- elif [ "${fileline}" = "%%" ] ; then # eliminate remaining files from dir? |
324 |
- skip=1 |
325 |
- elif [ "${fileline}" = "!!" ] ; then # quit now |
326 |
- exit 0 |
327 |
- fi |
328 |
- |
329 |
- # handle files if they exist |
330 |
- for file in $fileline"" ; do # expand wildcards ("" handles blank lines) |
331 |
- |
332 |
- fname= |
333 |
- |
334 |
- if [ -z "$echoline" -a ! -z "$file" ] ; then |
335 |
- |
336 |
- # Find the file to operate upon. Check both possible names. |
337 |
- infoname=`echo $file | sed 's/\.gz$//'` |
338 |
- infoname=`echo $infoname | sed 's/\.info$//'` |
339 |
- noext= |
340 |
- ext= |
341 |
- if [ -f ${INFODIR}/$infoname ] ; then |
342 |
- noext=$infoname |
343 |
- fi |
344 |
- if [ -f ${INFODIR}/${infoname}.info ] ; then |
345 |
- ext=${infoname}.info |
346 |
- fi |
347 |
- if [ -f ${INFODIR}/${infoname}.info.gz ] ; then |
348 |
- ext=${infoname}.info.gz |
349 |
- fi |
350 |
- # If it exists with both names take what was said in the file. |
351 |
- if [ ! -z "$ext" -a ! -z "$noext" ]; then |
352 |
- fname=$file |
353 |
- warn="### Warning: $ext and $noext both exist! Using ${file}. ###" |
354 |
- elif [ ! \( -z "$ext" -a -z "$noext" \) ]; then |
355 |
- # just take the name if it exists only once |
356 |
- fname=${noext}${ext} |
357 |
- fi |
358 |
- |
359 |
- # if we found something and aren't skipping, do the entry |
360 |
- if [ ! -z "$fname" ] ; then |
361 |
- if [ -z "$skip" ] ; then |
362 |
- |
363 |
- if [ ! -z "$warn" ] ; then # issue any warning |
364 |
- echo $warn |
365 |
- warn= |
366 |
- fi |
367 |
- if [ "${fname##*.}" = "gz" ] ; then |
368 |
- entry=`zcat ${INFODIR}/${fname} | sed -e '1,/START-INFO-DIR-ENTRY/d' \ |
369 |
- -e '/END-INFO-DIR-ENTRY/,$d' ` |
370 |
- else |
371 |
- entry=`sed -e '1,/START-INFO-DIR-ENTRY/d' \ |
372 |
- -e '/END-INFO-DIR-ENTRY/,$d' ${INFODIR}/$fname` |
373 |
- fi |
374 |
- if [ ! -z "${entry}" ] ; then |
375 |
- echo "${entry}" |
376 |
- else |
377 |
- echo "* ${infoname}: (${infoname})." |
378 |
- fi |
379 |
- fi |
380 |
- |
381 |
- # remove the name from the directory listing |
382 |
- infofiles=`echo "" ${infofiles} "" | sed -e "s/ ${fname} / /" -e "s/ / /g"` |
383 |
- |
384 |
- fi |
385 |
- |
386 |
- fi |
387 |
- |
388 |
- done |
389 |
- |
390 |
- line=`expr $line + 1` |
391 |
-done |
392 |
- |
393 |
-if [ -z "${infofiles}" ] ; then |
394 |
- exit 0 |
395 |
-elif [ $lines -gt 0 ]; then |
396 |
- echo |
397 |
-fi |
398 |
- |
399 |
-# Sort remaining files by INFO-DIR-SECTION. |
400 |
-prevsect= |
401 |
-filesectdata=`(cd ${INFODIR}; fgrep INFO-DIR-SECTION /dev/null ${infofiles} | \ |
402 |
- fgrep -v 'INFO-DIR-SECTION Miscellaneous' | \ |
403 |
- sort -t: -k2 -k1 | tr ' ' '_')` |
404 |
-for sectdata in ${filesectdata}; do |
405 |
- file=`echo ${sectdata} | cut -d: -f1` |
406 |
- section=`sed -n -e 's/^INFO-DIR-SECTION //p' ${INFODIR}/${file}` |
407 |
- infofiles=`echo "" ${infofiles} "" | sed -e "s/ ${file} / /" -e "s/ / /g"` |
408 |
- |
409 |
- if [ "${prevsect}" != "${section}" ] ; then |
410 |
- if [ ! -z "${prevsect}" ] ; then |
411 |
- echo "" |
412 |
- fi |
413 |
- echo "${section}" |
414 |
- prevsect="${section}" |
415 |
- fi |
416 |
- infoname=`echo $file | sed 's/\.gz$//'` |
417 |
- infoname=`echo $infoname | sed 's/\.info$//'` |
418 |
- if [ "${file##*.}" = "gz" ] ; then |
419 |
- entry=`zcat ${INFODIR}/$file | sed -e '1,/START-INFO-DIR-ENTRY/d' \ |
420 |
- -e '/END-INFO-DIR-ENTRY/,$d' ` |
421 |
- else |
422 |
- entry=`sed -e '1,/START-INFO-DIR-ENTRY/d' \ |
423 |
- -e '/END-INFO-DIR-ENTRY/,$d' ${INFODIR}/$file` |
424 |
- fi |
425 |
- if [ ! -z "${entry}" ] ; then |
426 |
- echo "${entry}" |
427 |
- elif [ ! -d "${INFODIR}/${file}" ] ; then |
428 |
- echo "* ${infoname}: (${infoname})." |
429 |
- fi |
430 |
-done |
431 |
- |
432 |
-# Process miscellaneous files. |
433 |
-for file in ${infofiles}; do |
434 |
- if [ ! -z "${prevsect}" ] ; then |
435 |
- echo "" |
436 |
- echo "Miscellaneous" |
437 |
- prevsect="" |
438 |
- fi |
439 |
- |
440 |
- infoname=`echo $file | sed 's/\.gz$//'` |
441 |
- infoname=`echo $infoname | sed 's/\.info$//'` |
442 |
- if [ "${file##*.}" = "gz" ] ; then |
443 |
- entry=`zcat ${INFODIR}/${file} | sed -e '1,/START-INFO-DIR-ENTRY/d' \ |
444 |
- -e '/END-INFO-DIR-ENTRY/,$d'` |
445 |
- else |
446 |
- entry=`sed -e '1,/START-INFO-DIR-ENTRY/d' \ |
447 |
- -e '/END-INFO-DIR-ENTRY/,$d' ${INFODIR}/$file` |
448 |
- fi |
449 |
- |
450 |
- |
451 |
- if [ ! -z "${entry}" ] ; then |
452 |
- echo "${entry}" |
453 |
- elif [ ! -d "${INFODIR}/${file}" ] ; then |
454 |
- echo "* ${infoname}: (${infoname})." |
455 |
- fi |
456 |
-done |
457 |
- |
458 |
|
459 |
diff --git a/sys-devel/gcc/files/pro-police-docs.patch b/sys-devel/gcc/files/pro-police-docs.patch |
460 |
deleted file mode 100644 |
461 |
index 091ea44..0000000 |
462 |
--- a/sys-devel/gcc/files/pro-police-docs.patch |
463 |
+++ /dev/null |
464 |
@@ -1,74 +0,0 @@ |
465 |
-Index: gcc/doc/invoke.texi |
466 |
-=================================================================== |
467 |
-RCS file: /cvsroot/gcc/gcc/gcc/doc/invoke.texi,v |
468 |
-retrieving revision 1.364 |
469 |
-diff -c -3 -p -r1.364 invoke.texi |
470 |
-*** gcc/doc/invoke.texi 21 Nov 2003 11:42:58 -0000 1.364 |
471 |
---- gcc/doc/invoke.texi 22 Nov 2003 08:12:35 -0000 |
472 |
-*************** in the following sections. |
473 |
-*** 228,234 **** |
474 |
- -Wno-multichar -Wnonnull -Wpacked -Wpadded @gol |
475 |
- -Wparentheses -Wpointer-arith -Wredundant-decls @gol |
476 |
- -Wreturn-type -Wsequence-point -Wshadow @gol |
477 |
-! -Wsign-compare -Wstrict-aliasing @gol |
478 |
- -Wswitch -Wswitch-default -Wswitch-enum @gol |
479 |
- -Wsystem-headers -Wtrigraphs -Wundef -Wuninitialized @gol |
480 |
- -Wunknown-pragmas -Wunreachable-code @gol |
481 |
---- 228,234 ---- |
482 |
- -Wno-multichar -Wnonnull -Wpacked -Wpadded @gol |
483 |
- -Wparentheses -Wpointer-arith -Wredundant-decls @gol |
484 |
- -Wreturn-type -Wsequence-point -Wshadow @gol |
485 |
-! -Wsign-compare -Wstack-protector -Wstrict-aliasing @gol |
486 |
- -Wswitch -Wswitch-default -Wswitch-enum @gol |
487 |
- -Wsystem-headers -Wtrigraphs -Wundef -Wuninitialized @gol |
488 |
- -Wunknown-pragmas -Wunreachable-code @gol |
489 |
-*************** in the following sections. |
490 |
-*** 681,686 **** |
491 |
---- 681,687 ---- |
492 |
- -fshort-double -fshort-wchar @gol |
493 |
- -fverbose-asm -fpack-struct -fstack-check @gol |
494 |
- -fstack-limit-register=@var{reg} -fstack-limit-symbol=@var{sym} @gol |
495 |
-+ -fstack-protector -fstack-protector-all @gol |
496 |
- -fargument-alias -fargument-noalias @gol |
497 |
- -fargument-noalias-global -fleading-underscore @gol |
498 |
- -ftls-model=@var{model} @gol |
499 |
-*************** effectively. Often, the problem is that |
500 |
-*** 3014,3019 **** |
501 |
---- 3015,3024 ---- |
502 |
- complex; GCC will refuse to optimize programs when the optimization |
503 |
- itself is likely to take inordinate amounts of time. |
504 |
- |
505 |
-+ @item -Wstack-protector |
506 |
-+ @opindex Wstack-protector |
507 |
-+ Warn when not issuing stack smashing protection for some reason |
508 |
-+ |
509 |
- @item -Werror |
510 |
- @opindex Werror |
511 |
- Make all warnings into errors. |
512 |
-*************** and grows downwards, you can use the fla |
513 |
-*** 11474,11479 **** |
514 |
---- 11479,11502 ---- |
515 |
- @option{-fstack-limit-symbol=__stack_limit} and |
516 |
- @option{-Wl,--defsym,__stack_limit=0x7ffe0000} to enforce a stack limit |
517 |
- of 128KB@. Note that this may only work with the GNU linker. |
518 |
-+ |
519 |
-+ @item -fstack-protector |
520 |
-+ @item -fstack-protector-all |
521 |
-+ @opindex fstack-protector |
522 |
-+ @opindex fstack-protector-all |
523 |
-+ @opindex fno-stack-protector |
524 |
-+ Generate code to protect an application from a stack smashing |
525 |
-+ attack. The features are (1) the insertion of random value next to the |
526 |
-+ frame pointer to detect the integrity of the stack, (2) the reordering |
527 |
-+ of local variables to place buffers after pointers to avoid the |
528 |
-+ corruption of pointers that could be used to further corrupt arbitrary |
529 |
-+ memory locations, (3) the copying of pointers in function arguments to |
530 |
-+ an area preceding local variable buffers to prevent the corruption of |
531 |
-+ pointers that could be used to further corrupt arbitrary memory |
532 |
-+ locations, and the (4) omission of instrumentation code from some |
533 |
-+ functions to decrease the performance overhead. If the integrity |
534 |
-+ would be broken, the program is aborted. If no-stack-protector is |
535 |
-+ specified, instrumentation codes are generated at every functions. |
536 |
- |
537 |
- @cindex aliasing of parameters |
538 |
- @cindex parameters, aliased |
539 |
|
540 |
diff --git a/sys-devel/gcc/files/stubs/gcc-3.3-htb-stub.patch b/sys-devel/gcc/files/stubs/gcc-3.3-htb-stub.patch |
541 |
deleted file mode 100644 |
542 |
index f6d8104..0000000 |
543 |
--- a/sys-devel/gcc/files/stubs/gcc-3.3-htb-stub.patch |
544 |
+++ /dev/null |
545 |
@@ -1,59 +0,0 @@ |
546 |
---- gcc-3.3.6/gcc/c-opts.c |
547 |
-+++ gcc-3.3.6/gcc/c-opts.c |
548 |
-@@ -193,6 +193,8 @@ static void sanitize_cpp_opts PARAMS ((v |
549 |
- OPT("fall-virtual", CL_CXX, OPT_fall_virtual) \ |
550 |
- OPT("falt-external-templates",CL_CXX, OPT_falt_external_templates) \ |
551 |
- OPT("fasm", CL_ALL, OPT_fasm) \ |
552 |
-+ OPT("fbc-strings-only", CL_ALL, OPT_fbc_strings_only) \ |
553 |
-+ OPT("fbounds-checking", CL_ALL, OPT_fbounds_checking) \ |
554 |
- OPT("fbuiltin", CL_ALL, OPT_fbuiltin) \ |
555 |
- OPT("fbuiltin-", CL_ALL | CL_JOINED, OPT_fbuiltin_) \ |
556 |
- OPT("fcheck-new", CL_CXX, OPT_fcheck_new) \ |
557 |
-@@ -1037,6 +1039,11 @@ c_common_decode_option (argc, argv) |
558 |
- flag_no_asm = !on; |
559 |
- break; |
560 |
- |
561 |
-+ case OPT_fbounds_checking: |
562 |
-+ case OPT_fbc_strings_only: |
563 |
-+ warning ("htb stub: bounds checking is not supported"); |
564 |
-+ break; |
565 |
-+ |
566 |
- case OPT_fbuiltin: |
567 |
- flag_no_builtin = !on; |
568 |
- break; |
569 |
---- gcc-3.3.6/gcc/cp/lang-options.h |
570 |
-+++ gcc-3.3.6/gcc/cp/lang-options.h |
571 |
-@@ -32,6 +32,8 @@ DEFINE_LANG_NAME ("C++") |
572 |
- { "-fno-alt-external-templates", "" }, |
573 |
- { "-fansi-overloading", "" }, |
574 |
- { "-fno-ansi-overloading", "" }, |
575 |
-+ { "-fbounds-checking", "" }, |
576 |
-+ { "-fno-bounds-checking", "" }, |
577 |
- { "-fcheck-new", |
578 |
- N_("Check the return value of new") }, |
579 |
- { "-fno-check-new", "" }, |
580 |
-@@ -117,6 +119,9 @@ DEFINE_LANG_NAME ("C++") |
581 |
- { "-fxref", |
582 |
- N_("Emit cross referencing information") }, |
583 |
- { "-fno-xref", "" }, |
584 |
-+ { "-fbounds-checking", |
585 |
-+ N_("Generate array and pointer bounds checking code") }, |
586 |
-+ { "-fno-bounds-checking", "" }, |
587 |
- |
588 |
- { "-Wreturn-type", |
589 |
- N_("Warn about inconsistent return types") }, |
590 |
---- gcc-3.3.6/gcc/toplev.c |
591 |
-+++ gcc-3.3.6/gcc/toplev.c |
592 |
-@@ -1249,6 +1267,12 @@ documented_lang_options[] = |
593 |
- { "-fshort-wchar", |
594 |
- N_("Override the underlying type for wchar_t to `unsigned short'") }, |
595 |
- { "-fno-short-wchar", "" }, |
596 |
-+ { "-fbounds-checking", |
597 |
-+ N_("Generate array and pointer bounds checking code") }, |
598 |
-+ { "-fno-bounds-checking", "" }, |
599 |
-+ { "-fbc-strings-only", |
600 |
-+ N_("Restrict bounds checking to strings only") }, |
601 |
-+ { "-fno-bc-strings-only", "" }, |
602 |
- |
603 |
- { "-Wall", |
604 |
- N_("Enable most warning messages") }, |
605 |
|
606 |
diff --git a/sys-devel/gcc/files/stubs/gcc-3.3-ssp-stub.patch b/sys-devel/gcc/files/stubs/gcc-3.3-ssp-stub.patch |
607 |
deleted file mode 100644 |
608 |
index ed996e7..0000000 |
609 |
--- a/sys-devel/gcc/files/stubs/gcc-3.3-ssp-stub.patch |
610 |
+++ /dev/null |
611 |
@@ -1,45 +0,0 @@ |
612 |
---- gcc-3.3.6/gcc/toplev.c |
613 |
-+++ gcc-3.3.6/gcc/toplev.c |
614 |
-@@ -904,6 +904,10 @@ int align_functions_log; |
615 |
- minimum function alignment. Zero means no alignment is forced. */ |
616 |
- int force_align_functions_log; |
617 |
- |
618 |
-+int flag_propolice_protection = 0; |
619 |
-+int flag_stack_protection = 0; |
620 |
-+int warn_stack_protector = 0; |
621 |
-+ |
622 |
- /* Table of supported debugging formats. */ |
623 |
- static const struct |
624 |
- { |
625 |
-@@ -1188,6 +1197,10 @@ static const lang_independent_options f_ |
626 |
- N_("Trap for signed overflow in addition / subtraction / multiplication") }, |
627 |
- { "new-ra", &flag_new_regalloc, 1, |
628 |
- N_("Use graph coloring register allocation.") }, |
629 |
-+ {"stack-protector", &flag_propolice_protection, 1, |
630 |
-+ N_("Enables stack protection") }, |
631 |
-+ {"stack-protector-all", &flag_stack_protection, 1, |
632 |
-+ N_("Enables stack protection of every function") } , |
633 |
- }; |
634 |
- |
635 |
- /* Table of language-specific options. */ |
636 |
-@@ -1547,7 +1560,9 @@ static const lang_independent_options W_ |
637 |
- {"missing-noreturn", &warn_missing_noreturn, 1, |
638 |
- N_("Warn about functions which might be candidates for attribute noreturn") }, |
639 |
- {"strict-aliasing", &warn_strict_aliasing, 1, |
640 |
-- N_ ("Warn about code which might break the strict aliasing rules") } |
641 |
-+ N_ ("Warn about code which might break the strict aliasing rules") }, |
642 |
-+ {"stack-protector", &warn_stack_protector, 1, |
643 |
-+ N_("Warn when disabling stack protector for some reason")} |
644 |
- }; |
645 |
- |
646 |
- void |
647 |
-@@ -5230,6 +5247,9 @@ process_options () |
648 |
- /* The presence of IEEE signaling NaNs, implies all math can trap. */ |
649 |
- if (flag_signaling_nans) |
650 |
- flag_trapping_math = 1; |
651 |
-+ |
652 |
-+ if (flag_stack_protection || flag_propolice_protection) |
653 |
-+ warning ("ssp stub: stack protector is not supported"); |
654 |
- } |
655 |
- |
656 |
- /* Initialize the compiler back end. */ |
657 |
|
658 |
diff --git a/sys-devel/gcc/files/stubs/gcc-3.4-htb-stub.patch b/sys-devel/gcc/files/stubs/gcc-3.4-htb-stub.patch |
659 |
deleted file mode 100644 |
660 |
index 2be61a2..0000000 |
661 |
--- a/sys-devel/gcc/files/stubs/gcc-3.4-htb-stub.patch |
662 |
+++ /dev/null |
663 |
@@ -1,32 +0,0 @@ |
664 |
---- gcc-3.4.4/gcc/c.opt |
665 |
-+++ gcc-3.4.4/gcc/c.opt |
666 |
-@@ -426,6 +426,14 @@ fasm |
667 |
- C ObjC C++ ObjC++ |
668 |
- Recognize the \"asm\" keyword |
669 |
- |
670 |
-+fbounds-checking |
671 |
-+C |
672 |
-+Generate code to check bounds before indexing arrays |
673 |
-+ |
674 |
-+fbc-strings-only |
675 |
-+C |
676 |
-+Restrict bounds checking to strings only |
677 |
-+ |
678 |
- fbuiltin |
679 |
- C ObjC C++ ObjC++ |
680 |
- Recognize built-in functions |
681 |
---- gcc-3.4.4/gcc/c-opts.c |
682 |
-+++ gcc-3.4.4/gcc/c-opts.c |
683 |
-@@ -708,6 +708,12 @@ c_common_handle_option (size_t scode, co |
684 |
- flag_no_asm = !value; |
685 |
- break; |
686 |
- |
687 |
-+ case OPT_fbounds_checking: |
688 |
-+ case OPT_fbc_strings_only: |
689 |
-+ if (value) |
690 |
-+ warning ("htb stub: bounds checking is not supported"); |
691 |
-+ break; |
692 |
-+ |
693 |
- case OPT_fbuiltin: |
694 |
- flag_no_builtin = !value; |
695 |
- break; |
696 |
|
697 |
diff --git a/sys-devel/gcc/files/stubs/gcc-3.4-ssp-stub.patch b/sys-devel/gcc/files/stubs/gcc-3.4-ssp-stub.patch |
698 |
deleted file mode 100644 |
699 |
index 3f620f3..0000000 |
700 |
--- a/sys-devel/gcc/files/stubs/gcc-3.4-ssp-stub.patch |
701 |
+++ /dev/null |
702 |
@@ -1,44 +0,0 @@ |
703 |
---- gcc-3.4.3/gcc/common.opt |
704 |
-+++ gcc-3.4.3/gcc/common.opt |
705 |
-@@ -152,6 +152,10 @@ Wunused-variable |
706 |
- Common |
707 |
- Warn when a variable is unused |
708 |
- |
709 |
-+Wstack-protector |
710 |
-+Common |
711 |
-+Warn when not issuing stack smashing protection for some reason |
712 |
-+ |
713 |
- aux-info |
714 |
- Common Separate |
715 |
- -aux-info <file> Emit declaration information into <file> |
716 |
-@@ -743,6 +747,14 @@ fzero-initialized-in-bss |
717 |
- Common |
718 |
- Put zero initialized data in the bss section |
719 |
- |
720 |
-+fstack-protector |
721 |
-+Common |
722 |
-+Enables stack protection |
723 |
-+ |
724 |
-+fstack-protector-all |
725 |
-+Common |
726 |
-+Enables stack protection of every function |
727 |
-+ |
728 |
- g |
729 |
- Common JoinedOrMissing |
730 |
- Generate debug information in default format |
731 |
---- gcc-3.4.3/gcc/opts.c |
732 |
-+++ gcc-3.4.3/gcc/opts.c |
733 |
-@@ -804,6 +807,13 @@ common_handle_option (size_t scode, cons |
734 |
- warn_unused_variable = value; |
735 |
- break; |
736 |
- |
737 |
-+ case OPT_fstack_protector: |
738 |
-+ case OPT_fstack_protector_all: |
739 |
-+ case OPT_Wstack_protector: |
740 |
-+ if (value) |
741 |
-+ warning ("ssp stub: stack protector is not supported"); |
742 |
-+ break; |
743 |
-+ |
744 |
- case OPT_aux_info: |
745 |
- case OPT_aux_info_: |
746 |
- aux_info_file_name = arg; |
747 |
|
748 |
diff --git a/sys-devel/gcc/files/stubs/gcc-4.0-htb-stub.patch b/sys-devel/gcc/files/stubs/gcc-4.0-htb-stub.patch |
749 |
deleted file mode 100644 |
750 |
index 4a515c5..0000000 |
751 |
--- a/sys-devel/gcc/files/stubs/gcc-4.0-htb-stub.patch |
752 |
+++ /dev/null |
753 |
@@ -1,32 +0,0 @@ |
754 |
---- gcc-4.0.0/gcc/c.opt |
755 |
-+++ gcc-4.0.0/gcc/c.opt |
756 |
-@@ -457,6 +457,14 @@ fasm |
757 |
- C ObjC C++ ObjC++ |
758 |
- Recognize the \"asm\" keyword |
759 |
- |
760 |
-+fbounds-checking |
761 |
-+C |
762 |
-+Generate code to check bounds before indexing arrays |
763 |
-+ |
764 |
-+fbc-strings-only |
765 |
-+C |
766 |
-+Restrict bounds checking to strings only |
767 |
-+ |
768 |
- fbuiltin |
769 |
- C ObjC C++ ObjC++ |
770 |
- Recognize built-in functions |
771 |
---- gcc-4.0.0/gcc/c-opts.c |
772 |
-+++ gcc-4.0.0/gcc/c-opts.c |
773 |
-@@ -548,6 +549,12 @@ c_common_handle_option (size_t scode, co |
774 |
- flag_no_asm = !value; |
775 |
- break; |
776 |
- |
777 |
-+ case OPT_fbc_strings_only: |
778 |
-+ case OPT_fbounds_checking: |
779 |
-+ if (value) |
780 |
-+ warning ("htb stub: bounds checking is not supported"); |
781 |
-+ break; |
782 |
-+ |
783 |
- case OPT_fbuiltin: |
784 |
- flag_no_builtin = !value; |
785 |
- break; |
786 |
|
787 |
diff --git a/sys-devel/gcc/files/stubs/gcc-4.0-ssp-stub.patch b/sys-devel/gcc/files/stubs/gcc-4.0-ssp-stub.patch |
788 |
deleted file mode 100644 |
789 |
index 3f620f3..0000000 |
790 |
--- a/sys-devel/gcc/files/stubs/gcc-4.0-ssp-stub.patch |
791 |
+++ /dev/null |
792 |
@@ -1,44 +0,0 @@ |
793 |
---- gcc-3.4.3/gcc/common.opt |
794 |
-+++ gcc-3.4.3/gcc/common.opt |
795 |
-@@ -152,6 +152,10 @@ Wunused-variable |
796 |
- Common |
797 |
- Warn when a variable is unused |
798 |
- |
799 |
-+Wstack-protector |
800 |
-+Common |
801 |
-+Warn when not issuing stack smashing protection for some reason |
802 |
-+ |
803 |
- aux-info |
804 |
- Common Separate |
805 |
- -aux-info <file> Emit declaration information into <file> |
806 |
-@@ -743,6 +747,14 @@ fzero-initialized-in-bss |
807 |
- Common |
808 |
- Put zero initialized data in the bss section |
809 |
- |
810 |
-+fstack-protector |
811 |
-+Common |
812 |
-+Enables stack protection |
813 |
-+ |
814 |
-+fstack-protector-all |
815 |
-+Common |
816 |
-+Enables stack protection of every function |
817 |
-+ |
818 |
- g |
819 |
- Common JoinedOrMissing |
820 |
- Generate debug information in default format |
821 |
---- gcc-3.4.3/gcc/opts.c |
822 |
-+++ gcc-3.4.3/gcc/opts.c |
823 |
-@@ -804,6 +807,13 @@ common_handle_option (size_t scode, cons |
824 |
- warn_unused_variable = value; |
825 |
- break; |
826 |
- |
827 |
-+ case OPT_fstack_protector: |
828 |
-+ case OPT_fstack_protector_all: |
829 |
-+ case OPT_Wstack_protector: |
830 |
-+ if (value) |
831 |
-+ warning ("ssp stub: stack protector is not supported"); |
832 |
-+ break; |
833 |
-+ |
834 |
- case OPT_aux_info: |
835 |
- case OPT_aux_info_: |
836 |
- aux_info_file_name = arg; |
837 |
|
838 |
diff --git a/sys-devel/gcc/gcc-4.5.3-r99.ebuild b/sys-devel/gcc/gcc-4.5.3-r99.ebuild |
839 |
new file mode 100644 |
840 |
index 0000000..47b5648 |
841 |
--- /dev/null |
842 |
+++ b/sys-devel/gcc/gcc-4.5.3-r99.ebuild |
843 |
@@ -0,0 +1,57 @@ |
844 |
+# Copyright 1999-2011 Gentoo Foundation |
845 |
+# Distributed under the terms of the GNU General Public License v2 |
846 |
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-4.5.3-r1.ebuild,v 1.9 2011/11/09 19:22:57 vapier Exp $ |
847 |
+ |
848 |
+PATCH_VER="1.0" |
849 |
+UCLIBC_VER="1.0" |
850 |
+ |
851 |
+# Hardened gcc 4 stuff |
852 |
+PIE_VER="0.4.5" |
853 |
+SPECS_VER="0.2.0" |
854 |
+SPECS_GCC_VER="4.4.3" |
855 |
+# arch/libc configurations known to be stable with {PIE,SSP}-by-default |
856 |
+PIE_GLIBC_STABLE="x86 amd64 ppc ppc64 arm ia64" |
857 |
+PIE_UCLIBC_STABLE="x86 arm amd64 ppc ppc64" |
858 |
+SSP_STABLE="amd64 x86 ppc ppc64 arm" |
859 |
+# uclibc need tls and nptl support for SSP support |
860 |
+SSP_UCLIBC_STABLE="" |
861 |
+#end Hardened stuff |
862 |
+ |
863 |
+inherit toolchain |
864 |
+ |
865 |
+DESCRIPTION="The GNU Compiler Collection" |
866 |
+ |
867 |
+LICENSE="GPL-3 LGPL-3 || ( GPL-3 libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.2" |
868 |
+KEYWORDS="~amd64 ~x86" |
869 |
+ |
870 |
+RDEPEND="" |
871 |
+DEPEND="${RDEPEND} |
872 |
+ elibc_glibc? ( >=sys-libs/glibc-2.8 ) |
873 |
+ amd64? ( multilib? ( gcj? ( app-emulation/emul-linux-x86-xlibs ) ) ) |
874 |
+ ppc? ( >=${CATEGORY}/binutils-2.17 ) |
875 |
+ ppc64? ( >=${CATEGORY}/binutils-2.17 ) |
876 |
+ >=${CATEGORY}/binutils-2.15.94" |
877 |
+if [[ ${CATEGORY} != cross-* ]] ; then |
878 |
+ PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )" |
879 |
+fi |
880 |
+ |
881 |
+src_unpack() { |
882 |
+ toolchain_src_unpack |
883 |
+ |
884 |
+ use vanilla && return 0 |
885 |
+ |
886 |
+ sed -i 's/use_fixproto=yes/:/' gcc/config.gcc #PR33200 |
887 |
+ |
888 |
+ [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env.patch |
889 |
+} |
890 |
+ |
891 |
+pkg_setup() { |
892 |
+ toolchain_pkg_setup |
893 |
+ |
894 |
+ if use lto ; then |
895 |
+ ewarn |
896 |
+ ewarn "LTO support is still experimental and unstable." |
897 |
+ ewarn "Any bugs resulting from the use of LTO will not be fixed." |
898 |
+ ewarn |
899 |
+ fi |
900 |
+} |
901 |
|
902 |
diff --git a/sys-devel/gcc/gcc-4.6.0.ebuild b/sys-devel/gcc/gcc-4.6.0.ebuild |
903 |
deleted file mode 100644 |
904 |
index fc5714f..0000000 |
905 |
--- a/sys-devel/gcc/gcc-4.6.0.ebuild |
906 |
+++ /dev/null |
907 |
@@ -1,96 +0,0 @@ |
908 |
-# Copyright 1999-2010 Gentoo Foundation |
909 |
-# Distributed under the terms of the GNU General Public License v2 |
910 |
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-4.5.1-r1.ebuild,v 1.2 2010/11/29 20:40:15 dirtyepic Exp $ |
911 |
- |
912 |
-PATCH_VER="0.9.2" |
913 |
-#UCLIBC_VER="1.0" |
914 |
- |
915 |
-ETYPE="gcc-compiler" |
916 |
- |
917 |
-# Hardened gcc 4 stuff |
918 |
-PIE_VER="0.4.8" |
919 |
-SPECS_VER="0.2.0" |
920 |
-SPECS_GCC_VER="4.4.3" |
921 |
-# arch/libc configurations known to be stable with {PIE,SSP}-by-default |
922 |
-PIE_GLIBC_STABLE="amd64 x86 ppc ppc64 arm ia64" |
923 |
-PIE_UCLIBC_STABLE="x86 arm amd64 ppc ppc64" |
924 |
-SSP_STABLE="amd64 x86 ppc ppc64 arm" |
925 |
-# uclibc need tls and nptl support for SSP support |
926 |
-SSP_UCLIBC_STABLE="" |
927 |
-#end Hardened stuff |
928 |
- |
929 |
-inherit toolchain |
930 |
- |
931 |
-DESCRIPTION="The GNU Compiler Collection" |
932 |
- |
933 |
-LICENSE="GPL-3 LGPL-3 || ( GPL-3 libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.2" |
934 |
-KEYWORDS="" |
935 |
-IUSE="lto" |
936 |
- |
937 |
-RDEPEND=">=sys-libs/zlib-1.1.4 |
938 |
- >=sys-devel/gcc-config-1.4 |
939 |
- virtual/libiconv |
940 |
- >=dev-libs/gmp-4.3.2 |
941 |
- >=dev-libs/mpfr-2.4.2 |
942 |
- >=dev-libs/mpc-0.8.1 |
943 |
- graphite? ( |
944 |
- >=dev-libs/ppl-0.10 |
945 |
- >=dev-libs/cloog-ppl-0.15.8 |
946 |
- ) |
947 |
- lto? ( >=dev-libs/elfutils-0.143 ) |
948 |
- !build? ( |
949 |
- gcj? ( |
950 |
- gtk? ( |
951 |
- x11-libs/libXt |
952 |
- x11-libs/libX11 |
953 |
- x11-libs/libXtst |
954 |
- x11-proto/xproto |
955 |
- x11-proto/xextproto |
956 |
- >=x11-libs/gtk+-2.2 |
957 |
- x11-libs/pango |
958 |
- ) |
959 |
- >=media-libs/libart_lgpl-2.1 |
960 |
- app-arch/zip |
961 |
- app-arch/unzip |
962 |
- ) |
963 |
- >=sys-libs/ncurses-5.2-r2 |
964 |
- nls? ( sys-devel/gettext ) |
965 |
- )" |
966 |
-DEPEND="${RDEPEND} |
967 |
- test? ( >=dev-util/dejagnu-1.4.4 >=sys-devel/autogen-5.5.4 ) |
968 |
- >=sys-apps/texinfo-4.8 |
969 |
- >=sys-devel/bison-1.875 |
970 |
- elibc_glibc? ( >=sys-libs/glibc-2.8 ) |
971 |
- amd64? ( multilib? ( gcj? ( app-emulation/emul-linux-x86-xlibs ) ) ) |
972 |
- ppc? ( >=${CATEGORY}/binutils-2.17 ) |
973 |
- ppc64? ( >=${CATEGORY}/binutils-2.17 ) |
974 |
- >=${CATEGORY}/binutils-2.15.94" |
975 |
-PDEPEND=">=sys-devel/gcc-config-1.4" |
976 |
-if [[ ${CATEGORY} != cross-* ]] ; then |
977 |
- PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )" |
978 |
-fi |
979 |
- |
980 |
-src_unpack() { |
981 |
- ewarn "This is experimental and should not be installd." |
982 |
- ewarn "Don't fill any bugsreports for it is not supported." |
983 |
- gcc_src_unpack |
984 |
- |
985 |
- use vanilla && return 0 |
986 |
- |
987 |
- sed -i 's/use_fixproto=yes/:/' gcc/config.gcc #PR33200 |
988 |
- |
989 |
- [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env.patch |
990 |
- |
991 |
- [[ ${CTARGET} == *-softfloat-* ]] && epatch "${FILESDIR}"/4.4.0/gcc-4.4.0-softfloat.patch |
992 |
-} |
993 |
- |
994 |
-pkg_setup() { |
995 |
- gcc_pkg_setup |
996 |
- |
997 |
- if use lto ; then |
998 |
- ewarn |
999 |
- ewarn "LTO support is still experimental and unstable." |
1000 |
- ewarn "Any bugs resulting from the use of LTO will not be fixed." |
1001 |
- ewarn |
1002 |
- fi |
1003 |
-} |
1004 |
|
1005 |
diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml |
1006 |
index e7773a2..179eb6a 100644 |
1007 |
--- a/sys-devel/gcc/metadata.xml |
1008 |
+++ b/sys-devel/gcc/metadata.xml |
1009 |
@@ -3,28 +3,22 @@ |
1010 |
<pkgmetadata> |
1011 |
<herd>toolchain</herd> |
1012 |
<use> |
1013 |
- <flag name="d">Enable support for the D programming language</flag> |
1014 |
<flag name="fixed-point">Enable fixed-point arithmetic support for MIPS targets |
1015 |
in gcc (Warning: significantly increases compile time!)</flag> |
1016 |
<flag name="graphite">Add support for the framework for loop |
1017 |
optimizations based on a polyhedral intermediate representation</flag> |
1018 |
- <flag name="ip28">Enable building a compiler capable of building a kernel |
1019 |
- for SGI Indigo2 Impact R10000 (IP28)</flag> |
1020 |
- <flag name="ip32r10k">Enable building a compiler capable of building an |
1021 |
- experimental kernel for SGI O2 w/ R1x000 CPUs (IP32)</flag> |
1022 |
<flag name="libffi">Build the portable foreign function interface library</flag> |
1023 |
<flag name="lto">Add support for link-time optimizations (unsupported, use |
1024 |
at your own risk).</flag> |
1025 |
<flag name="mudflap">Add support for mudflap, a pointer use checking library</flag> |
1026 |
<flag name="multislot">Allow for SLOTs to include minor version (3.3.4 |
1027 |
instead of just 3.3)</flag> |
1028 |
- <flag name="n32">Enable n32 ABI support on mips</flag> |
1029 |
- <flag name="n64">Enable n64 ABI support on mips</flag> |
1030 |
<flag name="nopie">Disable PIE support (NOT FOR GENERAL USE)</flag> |
1031 |
<flag name="nossp">Disable SSP support (NOT FOR GENERAL USE)</flag> |
1032 |
<flag name="objc">Build support for the Objective C code language</flag> |
1033 |
<flag name="objc++">Build support for the Objective C++ language</flag> |
1034 |
<flag name="objc-gc">Build support for the Objective C code language Garbage |
1035 |
Collector</flag> |
1036 |
+ <flag name="libssp">Build support for libssp</flag> |
1037 |
</use> |
1038 |
</pkgmetadata> |