| 1 | # Copyright 1999-2009 Gentoo Foundation |
1 | # Copyright 1999-2009 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/flag-o-matic.eclass,v 1.134 2009/04/05 08:22:29 grobian Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/flag-o-matic.eclass,v 1.135 2009/05/23 23:06:55 vapier Exp $ |
| 4 | |
4 | |
| 5 | # @ECLASS: flag-o-matic.eclass |
5 | # @ECLASS: flag-o-matic.eclass |
| 6 | # @MAINTAINER: |
6 | # @MAINTAINER: |
| 7 | # toolchain@gentoo.org |
7 | # toolchain@gentoo.org |
| 8 | # @BLURB: common functions to manipulate and query toolchain flags |
8 | # @BLURB: common functions to manipulate and query toolchain flags |
| … | |
… | |
| 39 | export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-ident" |
39 | export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-ident" |
| 40 | export ALLOWED_FLAGS="${ALLOWED_FLAGS} -W* -w" |
40 | export ALLOWED_FLAGS="${ALLOWED_FLAGS} -W* -w" |
| 41 | fi |
41 | fi |
| 42 | # allow a bunch of flags that negate features / control ABI |
42 | # allow a bunch of flags that negate features / control ABI |
| 43 | ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-stack-protector -fno-stack-protector-all \ |
43 | ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-stack-protector -fno-stack-protector-all \ |
| 44 | -fno-strict-aliasing -fno-bounds-checking -fstrict-overflow" |
44 | -fno-strict-aliasing -fno-bounds-checking -fstrict-overflow -fno-omit-frame-pointer" |
| 45 | ALLOWED_FLAGS="${ALLOWED_FLAGS} -mregparm -mno-app-regs -mapp-regs \ |
45 | ALLOWED_FLAGS="${ALLOWED_FLAGS} -mregparm -mno-app-regs -mapp-regs \ |
| 46 | -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow \ |
46 | -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow \ |
| 47 | -mips1 -mips2 -mips3 -mips4 -mips32 -mips64 -mips16 \ |
47 | -mips1 -mips2 -mips3 -mips4 -mips32 -mips64 -mips16 \ |
| 48 | -msoft-float -mno-soft-float -mhard-float -mno-hard-float -mfpu \ |
48 | -msoft-float -mno-soft-float -mhard-float -mno-hard-float -mfpu \ |
| 49 | -mieee -mieee-with-inexact -mschedule \ |
49 | -mieee -mieee-with-inexact -mschedule \ |
| 50 | -mtls-direct-seg-refs -mno-tls-direct-seg-refs \ |
50 | -mtls-direct-seg-refs -mno-tls-direct-seg-refs \ |
| 51 | -mflat -mno-flat -mno-faster-structs -mfaster-structs \ |
51 | -mflat -mno-flat -mno-faster-structs -mfaster-structs \ |
| 52 | -m32 -m64 -mabi -mlittle-endian -mbig-endian -EL -EB -fPIC \ |
52 | -m32 -m64 -mabi -mlittle-endian -mbig-endian -EL -EB -fPIC \ |
| 53 | -mlive-g0 -mcmodel -mstack-bias -mno-stack-bias \ |
53 | -mlive-g0 -mcmodel -mstack-bias -mno-stack-bias \ |
| 54 | -msecure-plt -m*-toc -D* -U*" |
54 | -msecure-plt -m*-toc -D* -U*" |
| 55 | |
55 | |
| 56 | # {C,CXX,F,FC}FLAGS that we are think is ok, but needs testing |
56 | # {C,CXX,F,FC}FLAGS that we are think is ok, but needs testing |
| 57 | # NOTE: currently -Os have issues with gcc3 and K6* arch's |
57 | # NOTE: currently -Os have issues with gcc3 and K6* arch's |
| 58 | export UNSTABLE_FLAGS="-Os -O3 -freorder-blocks" |
58 | export UNSTABLE_FLAGS="-Os -O3 -freorder-blocks" |
| 59 | return 0 |
59 | return 0 |
| 60 | } |
60 | } |