Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/hardened-dev:uclibc commit in: sys-devel/gcc/, sys-devel/gcc/files/4.4.0/, sys-devel/gcc/files/stubs/, ...
Date: Thu, 29 Dec 2011 15:24:11
Message-Id: 4413c7dfe13e9168daec30d1565b1c29122a957b.blueness@gentoo
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>