Skip to contentSkip to conversation

arch/ia64/Makefile tweak

Linux-ia64 Applied Gary Hade 2 participants 2 messages Apr 2, 2002

lore
Share & tools
lore

Gary Hade

author
#0 lore raw

If the gcc in your PATH is version 2.X and you are not using cross tools (the CROSS_COMPILE make macro is null) make CC=<path to a 3.X gcc> fails due to the lack of --param max-inline-insns 00 on the compile lines.

This happens because GCC_VERSION in arch/ia64/Makefile is determined using $(CROSS_COMPILE)$(HOSTCC) which expands "gcc" picking up gcc 2.X. With GCC_VERSION defined as 2 the additional CFLAGS options within the ifneq ($(GCC_VERSION),2) are not being added.

You can work around the problem by also setting HOSTCC on the make command line
e.g. make CC=<path to a 3.X gcc> HOSTCC=<path to a 3.X gcc>
but I believe the correct solution is to use $(CC) instead of $(CROSS_COMPILE)$(HOSTCC) to determine GCC_VERSION.

Gary

Signature · 18 lines
Gary Hade
IBM Linux Technology Center
503-578-4503  IBM T/L: 775-4503
[email protected]
http://www.ibm.com/linux/ltc


--- arch/ia64/Makefile.orig	Wed Mar 27 13:11:59 2002
+++ arch/ia64/Makefile	Mon Apr  1 15:26:14 2002
@@ -22,7 +22,7 @@
 # -ffunction-sections
 CFLAGS_KERNEL := -mconstant-gp
 
-GCC_VERSION=$(shell $(CROSS_COMPILE)$(HOSTCC) -v 2>&1 | fgrep 'gcc version' | cut -f3 -d' ' | cut -f1 -d'.')
+GCC_VERSION=$(shell $(CC) -v 2>&1 | fgrep 'gcc version' | cut -f3 -d' ' | cut -f1 -d'.')
 
 ifneq ($(GCC_VERSION),2)
 	CFLAGS += -frename-registers --param max-inline-insns 00
#1 lore raw

Applied, thanks.

In the future, please send properly formatted patches, so that they can be applied with "patch -p1". This avoids creating extra work when applying the patch in the bitkeepr tree.

Thanks,

	--david
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Gary Hade

Gary> If the gcc in your PATH is version 2.X and you are not using Gary> cross tools (the CROSS_COMPILE make macro is null) make Gary> CC=<path to a 3.X gcc> fails due to the lack of --param Gary> max-inline-insns 00 on the compile lines.

Gary> This happens because GCC_VERSION in arch/ia64/Makefile is Gary> determined using $(CROSS_COMPILE)$(HOSTCC) which expands "gcc" Gary> picking up gcc 2.X. With GCC_VERSION defined as 2 the Gary> additional CFLAGS options within the ifneq ($(GCC_VERSION),2) Gary> are not being added.

Gary> You can work around the problem by also setting HOSTCC on the Gary> make command line e.g. make CC=<path to a 3.X gcc> Gary> HOSTCC=<path to a 3.X gcc> but I believe the correct solution Gary> is to use $(CC) instead of $(CROSS_COMPILE)$(HOSTCC) to Gary> determine GCC_VERSION.

Gary> Gary