diff options
author | Anton Blanchard <anton@samba.org> | 2012-04-17 14:42:54 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-04-30 01:37:26 -0400 |
commit | 82a8508406906a39ed04cb59d83b1703d78dc8b3 (patch) | |
tree | d6d07f56aedde9968c33847af31343778406a3cc /arch/powerpc/Makefile | |
parent | 694caf0255dcab506d1e174c96a65ab65d96e108 (diff) |
powerpc: Require gcc 4.0 on 64-bit
Older versions of gcc had issues with using -maltivec together with
-mcpu of a non altivec capable CPU. We work around it by specifying
-mcpu=970, but the logic is complicated.
In preparation for adding more -mcpu targets, remove the workaround
and just require gcc 4.0 for 64-bit builds.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/Makefile')
-rw-r--r-- | arch/powerpc/Makefile | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 6524c6e21896..68455ddb63b7 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile | |||
@@ -234,10 +234,11 @@ archprepare: checkbin | |||
234 | # Use the file '.tmp_gas_check' for binutils tests, as gas won't output | 234 | # Use the file '.tmp_gas_check' for binutils tests, as gas won't output |
235 | # to stdout and these checks are run even on install targets. | 235 | # to stdout and these checks are run even on install targets. |
236 | TOUT := .tmp_gas_check | 236 | TOUT := .tmp_gas_check |
237 | # Ensure this is binutils 2.12.1 (or 2.12.90.0.7) or later for altivec | ||
238 | # instructions. | ||
239 | # gcc-3.4 and binutils-2.14 are a fatal combination. | ||
240 | 237 | ||
238 | # Check gcc and binutils versions: | ||
239 | # - gcc-3.4 and binutils-2.14 are a fatal combination | ||
240 | # - Require gcc 4.0 or above on 64-bit | ||
241 | # - gcc-4.2.0 has issues compiling modules on 64-bit | ||
241 | checkbin: | 242 | checkbin: |
242 | @if test "$(call cc-version)" = "0304" ; then \ | 243 | @if test "$(call cc-version)" = "0304" ; then \ |
243 | if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \ | 244 | if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \ |
@@ -247,6 +248,12 @@ checkbin: | |||
247 | false; \ | 248 | false; \ |
248 | fi ; \ | 249 | fi ; \ |
249 | fi | 250 | fi |
251 | @if test "$(call cc-version)" -lt "0400" \ | ||
252 | && test "x${CONFIG_PPC64}" = "xy" ; then \ | ||
253 | echo -n "Sorry, GCC v4.0 or above is required to build " ; \ | ||
254 | echo "the 64-bit powerpc kernel." ; \ | ||
255 | false ; \ | ||
256 | fi | ||
250 | @if test "$(call cc-fullversion)" = "040200" \ | 257 | @if test "$(call cc-fullversion)" = "040200" \ |
251 | && test "x${CONFIG_MODULES}${CONFIG_PPC64}" = "xyy" ; then \ | 258 | && test "x${CONFIG_MODULES}${CONFIG_PPC64}" = "xyy" ; then \ |
252 | echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \ | 259 | echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \ |