2.4.0-test5-pre4 patch for IA64 make

From: Keith Owens (kaos@ocs.com.au)
Date: Tue Jul 25 2000 - 17:57:51 EST


Linus, please apply. It has been run past the linux-kbuild group.

The IA64 port needs a compile option (-mconstant-gp) turned on for the
kernel but turned off for modules. gcc only supports the option, not
its negation, -mno-constant-gp is not valid.

This patch against 2.4.0-test5-pre4 splits CFLAGS into common flags
(CFLAGS), flags for kernel only (CFLAGS_KERNEL) and flags for modules
only (the existing MODFLAGS). Eventually MODFLAGS should be renamed to
CFLAGS_MODULE for consistency but the kbuild group thinks it is too
close to 2.4 to do that now.

Index: 0-test5-pre4.1/arch/ia64/Makefile
--- 0-test5-pre4.1/arch/ia64/Makefile Tue, 18 Jul 2000 13:40:10 +1000 kaos (linux-2.4/c/c/43_Makefile 1.3 644)
+++ 0-test5-pre4.2(w)/arch/ia64/Makefile Wed, 26 Jul 2000 08:52:23 +1000 kaos (linux-2.4/c/c/43_Makefile 1.3 644)
@@ -18,7 +18,8 @@
 EXTRA =
 
 CFLAGS := $(CFLAGS) -pipe $(EXTRA) -Wa,-x -ffixed-r13 -mfixed-range=f10-f15,f32-f127 \
- -mconstant-gp -funwind-tables
+ -funwind-tables
+CFLAGS_KERNEL := -mconstant-gp
 
 ifdef CONFIG_IA64_GENERIC
         CORE_FILES := arch/$(ARCH)/hp/hp.a \
Index: 0-test5-pre4.1/Makefile
--- 0-test5-pre4.1/Makefile Wed, 19 Jul 2000 17:53:13 +1000 kaos (linux-2.4/B/c/27_Makefile 1.1.2.2.2.4.1.5 644)
+++ 0-test5-pre4.2(w)/Makefile Wed, 26 Jul 2000 08:53:28 +1000 kaos (linux-2.4/B/c/27_Makefile 1.1.2.2.2.6.1.2 644)
@@ -36,6 +36,7 @@
 MAKEFILES = $(TOPDIR)/.config
 GENKSYMS = /sbin/genksyms
 MODFLAGS = -DMODULE
+CFLAGS_KERNEL =
 PERL = perl
 
 export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \
@@ -190,7 +191,7 @@
         @rm -f include/linux/compile.h
 
 boot: vmlinux
- @$(MAKE) -C arch/$(ARCH)/boot
+ @$(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" -C arch/$(ARCH)/boot
 
 vmlinux: $(CONFIGURATION) init/main.o init/version.o linuxsubdirs
         $(LD) $(LINKFLAGS) $(HEAD) init/main.o init/version.o \
@@ -231,7 +232,7 @@
 linuxsubdirs: $(patsubst %, _dir_%, $(SUBDIRS))
 
 $(patsubst %, _dir_%, $(SUBDIRS)) : dummy include/linux/version.h include/config/MARKER
- $(MAKE) -C $(patsubst _dir_%, %, $@)
+ $(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" -C $(patsubst _dir_%, %, $@)
 
 $(TOPDIR)/include/linux/version.h: include/linux/version.h
 $(TOPDIR)/include/linux/compile.h: include/linux/compile.h
@@ -268,13 +269,13 @@
         @mv -f .ver $@
 
 init/version.o: init/version.c include/linux/compile.h include/config/MARKER
- $(CC) $(CFLAGS) -DUTS_MACHINE='"$(ARCH)"' -c -o init/version.o init/version.c
+ $(CC) $(CFLAGS) $(CFLAGS_KERNEL) -DUTS_MACHINE='"$(ARCH)"' -c -o init/version.o init/version.c
 
 init/main.o: init/main.c include/config/MARKER
- $(CC) $(CFLAGS) $(PROFILING) -c -o $*.o $<
+ $(CC) $(CFLAGS) $(CFLAGS_KERNEL) $(PROFILING) -c -o $*.o $<
 
 fs lib mm ipc kernel drivers net: dummy
- $(MAKE) $(subst $@, _dir_$@, $@)
+ $(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" $(subst $@, _dir_$@, $@)
 
 TAGS: dummy
         etags `find include/asm-$(ARCH) -name '*.h'`

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jul 31 2000 - 21:00:20 EST