* 2.6: spurious recompiles
@ 2003-09-06 20:14 Adrian Bunk
2003-09-06 22:33 ` Randy.Dunlap
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Adrian Bunk @ 2003-09-06 20:14 UTC (permalink / raw)
To: Randy.Dunlap, jsimmons, Justin T. Gibbs; +Cc: linux-kernel
When doing a "make" inside an already compiled kernel source there
shouldn't be anything rebuilt. I've identified three places where this
isn't the case in recent 2.6 kernels:
1. ikconfig
CC kernel/configs.o
even when the .config wasn't changed
2. pnmtologo
The following happens again once, but not when doing a third "make":
./scripts/pnmtologo -t mono -n logo_linux_mono -o drivers/video/logo/logo_linux_mono.c drivers/video/logo/logo_linux_mono.pbm
CC drivers/video/logo/logo_linux_mono.o
./scripts/pnmtologo -t vga16 -n logo_linux_vga16 -o drivers/video/logo/logo_linux_vga16.c drivers/video/logo/logo_linux_vga16.ppm
CC drivers/video/logo/logo_linux_vga16.o
./scripts/pnmtologo -t clut224 -n logo_linux_clut224 -o drivers/video/logo/logo_linux_clut224.c drivers/video/logo/logo_linux_clut224.ppm
CC drivers/video/logo/logo_linux_clut224.o
LD drivers/video/logo/built-in.o
LD drivers/video/built-in.o
3. aic7xxx
drivers/scsi/aic7xxx/aicasm/aicasm -Idrivers/scsi/aic7xxx -r
drivers/scsi/aic7xxx/aic79xx_reg.h \
-p drivers/scsi/aic7xxx/aic79xx_reg_print.c -i
aic79xx_osm.h -o drivers/scsi/aic7xxx/aic79xx_seq.h \
drivers/scsi/aic7xxx/aic79xx.seq
drivers/scsi/aic7xxx/aicasm/aicasm: 785 instructions used
CC drivers/scsi/aic7xxx/aic79xx_core.o
CC drivers/scsi/aic7xxx/aic79xx_pci.o
CC drivers/scsi/aic7xxx/aic79xx_reg_print.o
CC drivers/scsi/aic7xxx/aic79xx_osm.o
CC drivers/scsi/aic7xxx/aic79xx_proc.o
CC drivers/scsi/aic7xxx/aic79xx_osm_pci.o
drivers/scsi/aic7xxx/aicasm/aicasm -Idrivers/scsi/aic7xxx -r
drivers/scsi/aic7xxx/aic7xxx_reg.h \
-p drivers/scsi/aic7xxx/aic7xxx_reg_print.c -i
aic7xxx_osm.h -o drivers/scsi/aic7xxx/aic7xxx_seq.h \
drivers/scsi/aic7xxx/aic7xxx.seq
drivers/scsi/aic7xxx/aicasm/aicasm: 879 instructions used
CC drivers/scsi/aic7xxx/aic7xxx_core.o
CC drivers/scsi/aic7xxx/aic7xxx_93cx6.o
CC drivers/scsi/aic7xxx/aic7770.o
CC drivers/scsi/aic7xxx/aic7xxx_pci.o
CC drivers/scsi/aic7xxx/aic7xxx_reg_print.o
CC drivers/scsi/aic7xxx/aic7xxx_osm.o
CC drivers/scsi/aic7xxx/aic7xxx_proc.o
CC drivers/scsi/aic7xxx/aic7770_osm.o
CC drivers/scsi/aic7xxx/aic7xxx_osm_pci.o
LD drivers/scsi/aic7xxx/aic7xxx.o
LD drivers/scsi/aic7xxx/aic79xx.o
LD drivers/scsi/aic7xxx/built-in.o
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles
2003-09-06 20:14 2.6: spurious recompiles Adrian Bunk
@ 2003-09-06 22:33 ` Randy.Dunlap
2003-09-07 10:37 ` Adrian Bunk
2003-09-07 5:33 ` Sam Ravnborg
2003-09-07 5:51 ` Sam Ravnborg
2 siblings, 1 reply; 11+ messages in thread
From: Randy.Dunlap @ 2003-09-06 22:33 UTC (permalink / raw)
To: bunk; +Cc: linux-kernel
> When doing a "make" inside an already compiled kernel source there
> shouldn't be anything rebuilt. I've identified three places where this
> isn't the case in recent 2.6 kernels:
>
> 1. ikconfig
> CC kernel/configs.o
> even when the .config wasn't changed
This is probably the same thing that Steve Hemminger posted about
yesterday:
http://marc.theaimsgroup.com/?l=linux-kernel&m=106270067411137&w=2
I posted a patch based on Sam Ravnborg's comments that might fix it,
but I haven't verified it yet... The patch is in this message:
http://marc.theaimsgroup.com/?l=linux-kernel&m=106272687506379&w=2
or it may be some other dependency. I'll look into it.
Thanks,
~Randy
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles
2003-09-06 20:14 2.6: spurious recompiles Adrian Bunk
2003-09-06 22:33 ` Randy.Dunlap
@ 2003-09-07 5:33 ` Sam Ravnborg
2003-09-08 23:45 ` James Simmons
2003-09-07 5:51 ` Sam Ravnborg
2 siblings, 1 reply; 11+ messages in thread
From: Sam Ravnborg @ 2003-09-07 5:33 UTC (permalink / raw)
To: Adrian Bunk; +Cc: Randy.Dunlap, jsimmons, Justin T. Gibbs, linux-kernel
On Sat, Sep 06, 2003 at 10:14:18PM +0200, Adrian Bunk wrote:
> When doing a "make" inside an already compiled kernel source there
> shouldn't be anything rebuilt. I've identified three places where this
> isn't the case in recent 2.6 kernels:
>
> 1. ikconfig
> CC kernel/configs.o
> even when the .config wasn't changed
configs.o included compile.h. Compile.h contains date when kernel was
compiled, and gets updated each time there is new .o files.
That is fixed in patch sent to Randy.
> 2. pnmtologo
> The following happens again once, but not when doing a third "make":
> ./scripts/pnmtologo -t mono -n logo_linux_mono -o drivers/video/logo/logo_linux_mono.c drivers/video/logo/logo_linux_mono.pbm
> CC drivers/video/logo/logo_linux_mono.o
> ./scripts/pnmtologo -t vga16 -n logo_linux_vga16 -o drivers/video/logo/logo_linux_vga16.c drivers/video/logo/logo_linux_vga16.ppm
> CC drivers/video/logo/logo_linux_vga16.o
> ./scripts/pnmtologo -t clut224 -n logo_linux_clut224 -o drivers/video/logo/logo_linux_clut224.c drivers/video/logo/logo_linux_clut224.ppm
> CC drivers/video/logo/logo_linux_clut224.o
> LD drivers/video/logo/built-in.o
> LD drivers/video/built-in.o
I have sent a patch to James Simmons some time ago. I will try to dig it
up and see if it still applies, and fixes the problem.
> 3. aic7xxx
> drivers/scsi/aic7xxx/aicasm/aicasm -Idrivers/scsi/aic7xxx -r
> drivers/scsi/aic7xxx/aic79xx_reg.h \
> -p drivers/scsi/aic7xxx/aic79xx_reg_print.c -i
> aic79xx_osm.h -o drivers/scsi/aic7xxx/aic79xx_seq.h \
> drivers/scsi/aic7xxx/aic79xx.seq
> drivers/scsi/aic7xxx/aicasm/aicasm: 785 instructions used
> CC drivers/scsi/aic7xxx/aic79xx_core.o
New to me, I will take a look.
Sam
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles
2003-09-06 20:14 2.6: spurious recompiles Adrian Bunk
2003-09-06 22:33 ` Randy.Dunlap
2003-09-07 5:33 ` Sam Ravnborg
@ 2003-09-07 5:51 ` Sam Ravnborg
2003-09-07 7:00 ` Sam Ravnborg
2 siblings, 1 reply; 11+ messages in thread
From: Sam Ravnborg @ 2003-09-07 5:51 UTC (permalink / raw)
To: Adrian Bunk; +Cc: Randy.Dunlap, jsimmons, Justin T. Gibbs, linux-kernel
On Sat, Sep 06, 2003 at 10:14:18PM +0200, Adrian Bunk wrote:
> 2. pnmtologo
> The following happens again once, but not when doing a third "make":
> ./scripts/pnmtologo -t mono -n logo_linux_mono -o drivers/video/logo/logo_linux_mono.c drivers/video/logo/logo_linux_mono.pbm
Would you mind to give this patch a spin. Only lightly tested here.
===== drivers/video/aty/Makefile 1.10 vs edited =====
--- 1.10/drivers/video/aty/Makefile Thu May 1 18:32:15 2003
+++ edited/drivers/video/aty/Makefile Sun Sep 7 07:45:54 2003
@@ -4,4 +4,3 @@
atyfb-y := atyfb_base.o mach64_accel.o
atyfb-$(CONFIG_FB_ATY_GX) += mach64_gx.o
atyfb-$(CONFIG_FB_ATY_CT) += mach64_ct.o mach64_cursor.o
-atyfb-objs := $(atyfb-y)
===== drivers/video/console/Makefile 1.15 vs edited =====
--- 1.15/drivers/video/console/Makefile Mon Feb 3 23:19:38 2003
+++ edited/drivers/video/console/Makefile Sun Sep 7 07:45:55 2003
@@ -3,18 +3,16 @@
# Rewritten to use lists instead of if-statements.
# Font handling
-font-objs := fonts.o
+font-y := fonts.o
-font-objs-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o
-font-objs-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o
-font-objs-$(CONFIG_FONT_8x8) += font_8x8.o
-font-objs-$(CONFIG_FONT_8x16) += font_8x16.o
-font-objs-$(CONFIG_FONT_6x11) += font_6x11.o
-font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
-font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
-font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o
-
-font-objs += $(font-objs-y)
+font-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o
+font-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o
+font-$(CONFIG_FONT_8x8) += font_8x8.o
+font-$(CONFIG_FONT_8x16) += font_8x16.o
+font-$(CONFIG_FONT_6x11) += font_6x11.o
+font-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
+font-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
+font-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o
# Each configuration option enables a list of files.
@@ -31,8 +29,11 @@
# Files generated that shall be removed upon make clean
clean-files := promcon_tbl.c
-$(obj)/promcon_tbl.c: $(src)/prom.uni
- $(objtree)/scripts/conmakehash $< | \
+
+quiet_cmd_promtbl = GEN $@
+ cmd_promtbl = scripts/conmakehash $< | \
sed -e '/#include <[^>]*>/p' -e 's/types/init/' \
-e 's/dfont\(_uni.*\]\)/promfont\1 __initdata/' > $@
+$(obj)/promcon_tbl.c: $(src)/prom.uni
+ $(call cmd,promtbl)
===== drivers/video/i810/Makefile 1.2 vs edited =====
--- 1.2/drivers/video/i810/Makefile Wed Jan 1 14:00:16 2003
+++ edited/drivers/video/i810/Makefile Sun Sep 7 07:45:56 2003
@@ -1,15 +1,8 @@
#
# Makefile for the Intel 810/815 framebuffer driver
#
-# Note! Dependencies are done automagically by 'make dep', which also
-# removes any old dependencies. DON'T put your own dependencies here
-# unless it's something special (ie not a .c file).
-#
-# Note 2! The CFLAGS definitions are now in the main makefile...
-
obj-$(CONFIG_FB_I810) += i810fb.o
-
i810fb-objs := i810_main.o i810_accel.o
===== drivers/video/logo/Makefile 1.3 vs edited =====
--- 1.3/drivers/video/logo/Makefile Mon Jul 21 23:30:38 2003
+++ edited/drivers/video/logo/Makefile Sun Sep 7 07:47:00 2003
@@ -25,18 +25,23 @@
# How to generate them
+# Create commands like "pnmtologo -t mono -n logo_mac_mono -o ..."
+quiet_cmd_logo = LOGO $@
+ cmd_logo = scripts/pnmtologo \
+ -t $(patsubst $*_%,%,$(notdir $(basename $<))) \
+ -n $(notdir $(basename $<)) -o $@ $<
+
$(obj)/%_mono.c: $(src)/%_mono.pbm
- $(objtree)/scripts/pnmtologo -t mono -n $*_mono -o $@ $<
+ $(call cmd,logo)
$(obj)/%_vga16.c: $(src)/%_vga16.ppm
- $(objtree)/scripts/pnmtologo -t vga16 -n $*_vga16 -o $@ $<
+ $(call cmd,logo)
$(obj)/%_clut224.c: $(src)/%_clut224.ppm
- $(objtree)/scripts/pnmtologo -t clut224 -n $*_clut224 -o $@ $<
+ $(call cmd,logo)
$(obj)/%_gray256.c: $(src)/%_gray256.pgm
- $(objtree)/scripts/pnmtologo -t gray256 -n $*_gray256 -o $@ $<
-
+ $(call cmd,logo)
# Files generated that shall be removed upon make clean
clean-files := *_mono.c *_vga16.c *_clut224.c *_gray256.c
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles
2003-09-07 5:51 ` Sam Ravnborg
@ 2003-09-07 7:00 ` Sam Ravnborg
2003-09-07 10:17 ` Adrian Bunk
2003-09-08 23:45 ` James Simmons
0 siblings, 2 replies; 11+ messages in thread
From: Sam Ravnborg @ 2003-09-07 7:00 UTC (permalink / raw)
To: Adrian Bunk, Randy.Dunlap, jsimmons, Justin T. Gibbs, linux-kernel
On Sun, Sep 07, 2003 at 07:51:44AM +0200, Sam Ravnborg wrote:
> On Sat, Sep 06, 2003 at 10:14:18PM +0200, Adrian Bunk wrote:
> > 2. pnmtologo
> > The following happens again once, but not when doing a third "make":
> > ./scripts/pnmtologo -t mono -n logo_linux_mono -o drivers/video/logo/logo_linux_mono.c drivers/video/logo/logo_linux_mono.pbm
>
> Would you mind to give this patch a spin. Only lightly tested here.
Tested it a bit more, it was not good. Corrected patch follows.
I had to spell out the dependencies, otherwise make saw them
as implicit targets, and deleted the .c files afterwards.
Btw the patch contains some general clean-up as well, unrelated to
the 'spurious recompile' issue.
Sam
===== drivers/video/aty/Makefile 1.10 vs edited =====
--- 1.10/drivers/video/aty/Makefile Thu May 1 18:32:15 2003
+++ edited/drivers/video/aty/Makefile Sun Sep 7 07:45:54 2003
@@ -4,4 +4,3 @@
atyfb-y := atyfb_base.o mach64_accel.o
atyfb-$(CONFIG_FB_ATY_GX) += mach64_gx.o
atyfb-$(CONFIG_FB_ATY_CT) += mach64_ct.o mach64_cursor.o
-atyfb-objs := $(atyfb-y)
===== drivers/video/console/Makefile 1.15 vs edited =====
--- 1.15/drivers/video/console/Makefile Mon Feb 3 23:19:38 2003
+++ edited/drivers/video/console/Makefile Sun Sep 7 07:45:55 2003
@@ -3,18 +3,16 @@
# Rewritten to use lists instead of if-statements.
# Font handling
-font-objs := fonts.o
+font-y := fonts.o
-font-objs-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o
-font-objs-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o
-font-objs-$(CONFIG_FONT_8x8) += font_8x8.o
-font-objs-$(CONFIG_FONT_8x16) += font_8x16.o
-font-objs-$(CONFIG_FONT_6x11) += font_6x11.o
-font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
-font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
-font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o
-
-font-objs += $(font-objs-y)
+font-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o
+font-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o
+font-$(CONFIG_FONT_8x8) += font_8x8.o
+font-$(CONFIG_FONT_8x16) += font_8x16.o
+font-$(CONFIG_FONT_6x11) += font_6x11.o
+font-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
+font-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
+font-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o
# Each configuration option enables a list of files.
@@ -31,8 +29,11 @@
# Files generated that shall be removed upon make clean
clean-files := promcon_tbl.c
-$(obj)/promcon_tbl.c: $(src)/prom.uni
- $(objtree)/scripts/conmakehash $< | \
+
+quiet_cmd_promtbl = GEN $@
+ cmd_promtbl = scripts/conmakehash $< | \
sed -e '/#include <[^>]*>/p' -e 's/types/init/' \
-e 's/dfont\(_uni.*\]\)/promfont\1 __initdata/' > $@
+$(obj)/promcon_tbl.c: $(src)/prom.uni
+ $(call cmd,promtbl)
===== drivers/video/i810/Makefile 1.2 vs edited =====
--- 1.2/drivers/video/i810/Makefile Wed Jan 1 14:00:16 2003
+++ edited/drivers/video/i810/Makefile Sun Sep 7 07:45:56 2003
@@ -1,15 +1,8 @@
#
# Makefile for the Intel 810/815 framebuffer driver
#
-# Note! Dependencies are done automagically by 'make dep', which also
-# removes any old dependencies. DON'T put your own dependencies here
-# unless it's something special (ie not a .c file).
-#
-# Note 2! The CFLAGS definitions are now in the main makefile...
-
obj-$(CONFIG_FB_I810) += i810fb.o
-
i810fb-objs := i810_main.o i810_accel.o
===== drivers/video/logo/Makefile 1.3 vs edited =====
--- 1.3/drivers/video/logo/Makefile Mon Jul 21 23:30:38 2003
+++ edited/drivers/video/logo/Makefile Sun Sep 7 08:57:22 2003
@@ -14,29 +14,38 @@
obj-$(CONFIG_LOGO_SUPERH_CLUT224) += logo_superh_clut224.o
# Dependencies on generated files need to be listed explicitly
-
-$(obj)/%_mono.o: $(src)/%_mono.c
-
-$(obj)/%_vga16.o: $(src)/%_vga16.c
-
-$(obj)/%_clut224.o: $(src)/%_clut224.c
-
-$(obj)/%_gray256.o: $(src)/%_gray256.c
+# mono logo's
+$(obj)/logo_linux_mono.o: $(obj)/logo_linux_mono.c
+$(obj)/logo_superh_mono.o: $(obj)/logo_superh_mono.c
+
+# vga16 logo's
+$(obj)/logo_linux_vga16.o: $(obj)/logo_linux_vga16.c
+$(obj)/logo_superh_vga16.o: $(obj)/logo_superh_vga16.c
+
+# clut224 logo's
+$(obj)/logo_linux_clut224.o: $(obj)/logo_linux_clut224.c
+$(obj)/logo_dec_clut224.o: $(obj)/logo_dec_clut224.c
+$(obj)/logo_mac_clut224.o: $(obj)/logo_mac_clut224.c
+$(obj)/logo_sgi_clut224.o: $(obj)/logo_sgi_clut224.c
+$(obj)/logo_sun_clut224.o: $(obj)/logo_sun_clut224.c
+$(obj)/logo_superh_clut224.o: $(obj)/logo_superh_clut224.c
# How to generate them
+# Create commands like "pnmtologo -t mono -n logo_mac_mono -o ..."
+quiet_cmd_logo = LOGO $@
+ cmd_logo = scripts/pnmtologo \
+ -t $(patsubst $*_%,%,$(notdir $(basename $<))) \
+ -n $(notdir $(basename $<)) -o $@ $<
+
$(obj)/%_mono.c: $(src)/%_mono.pbm
- $(objtree)/scripts/pnmtologo -t mono -n $*_mono -o $@ $<
+ $(call cmd,logo)
$(obj)/%_vga16.c: $(src)/%_vga16.ppm
- $(objtree)/scripts/pnmtologo -t vga16 -n $*_vga16 -o $@ $<
+ $(call cmd,logo)
$(obj)/%_clut224.c: $(src)/%_clut224.ppm
- $(objtree)/scripts/pnmtologo -t clut224 -n $*_clut224 -o $@ $<
-
-$(obj)/%_gray256.c: $(src)/%_gray256.pgm
- $(objtree)/scripts/pnmtologo -t gray256 -n $*_gray256 -o $@ $<
-
+ $(call cmd,logo)
# Files generated that shall be removed upon make clean
-clean-files := *_mono.c *_vga16.c *_clut224.c *_gray256.c
+clean-files := *_mono.c *_vga16.c *_clut224.c
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles
2003-09-07 7:00 ` Sam Ravnborg
@ 2003-09-07 10:17 ` Adrian Bunk
2003-09-08 23:45 ` James Simmons
1 sibling, 0 replies; 11+ messages in thread
From: Adrian Bunk @ 2003-09-07 10:17 UTC (permalink / raw)
To: jsimmons, linux-kernel
On Sun, Sep 07, 2003 at 09:00:25AM +0200, Sam Ravnborg wrote:
> On Sun, Sep 07, 2003 at 07:51:44AM +0200, Sam Ravnborg wrote:
> > On Sat, Sep 06, 2003 at 10:14:18PM +0200, Adrian Bunk wrote:
> > > 2. pnmtologo
> > > The following happens again once, but not when doing a third "make":
> > > ./scripts/pnmtologo -t mono -n logo_linux_mono -o drivers/video/logo/logo_linux_mono.c drivers/video/logo/logo_linux_mono.pbm
> >
> > Would you mind to give this patch a spin. Only lightly tested here.
> Tested it a bit more, it was not good. Corrected patch follows.
> I had to spell out the dependencies, otherwise make saw them
> as implicit targets, and deleted the .c files afterwards.
Thanks, this patch seems to fix it.
> Btw the patch contains some general clean-up as well, unrelated to
> the 'spurious recompile' issue.
These are the places where I got rejects in 2.6.0-test4-mm6 (these
changes are already in the -mm tree).
> Sam
>...
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles
2003-09-06 22:33 ` Randy.Dunlap
@ 2003-09-07 10:37 ` Adrian Bunk
0 siblings, 0 replies; 11+ messages in thread
From: Adrian Bunk @ 2003-09-07 10:37 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: linux-kernel
On Sat, Sep 06, 2003 at 03:33:21PM -0700, Randy.Dunlap wrote:
> > When doing a "make" inside an already compiled kernel source there
> > shouldn't be anything rebuilt. I've identified three places where this
> > isn't the case in recent 2.6 kernels:
> >
> > 1. ikconfig
> > CC kernel/configs.o
> > even when the .config wasn't changed
>...
> I posted a patch based on Sam Ravnborg's comments that might fix it,
> but I haven't verified it yet... The patch is in this message:
> http://marc.theaimsgroup.com/?l=linux-kernel&m=106272687506379&w=2
>...
It seems I missed this mail.
The patch in this mail seems to fix the recompiles.
> Thanks,
> ~Randy
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles
2003-09-07 5:33 ` Sam Ravnborg
@ 2003-09-08 23:45 ` James Simmons
0 siblings, 0 replies; 11+ messages in thread
From: James Simmons @ 2003-09-08 23:45 UTC (permalink / raw)
To: Sam Ravnborg; +Cc: Adrian Bunk, Randy.Dunlap, Justin T. Gibbs, linux-kernel
> > 2. pnmtologo
> > The following happens again once, but not when doing a third "make":
> > ./scripts/pnmtologo -t mono -n logo_linux_mono -o drivers/video/logo/logo_linux_mono.c drivers/video/logo/logo_linux_mono.pbm
> > CC drivers/video/logo/logo_linux_mono.o
> > ./scripts/pnmtologo -t vga16 -n logo_linux_vga16 -o drivers/video/logo/logo_linux_vga16.c drivers/video/logo/logo_linux_vga16.ppm
> > CC drivers/video/logo/logo_linux_vga16.o
> > ./scripts/pnmtologo -t clut224 -n logo_linux_clut224 -o drivers/video/logo/logo_linux_clut224.c drivers/video/logo/logo_linux_clut224.ppm
> > CC drivers/video/logo/logo_linux_clut224.o
> > LD drivers/video/logo/built-in.o
> > LD drivers/video/built-in.o
>
> I have sent a patch to James Simmons some time ago. I will try to dig it
> up and see if it still applies, and fixes the problem.
I have the patch in the fbdev BK tree.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles
2003-09-07 7:00 ` Sam Ravnborg
2003-09-07 10:17 ` Adrian Bunk
@ 2003-09-08 23:45 ` James Simmons
1 sibling, 0 replies; 11+ messages in thread
From: James Simmons @ 2003-09-08 23:45 UTC (permalink / raw)
To: Sam Ravnborg; +Cc: Adrian Bunk, Randy.Dunlap, Justin T. Gibbs, linux-kernel
I have most of this patch already. I applied your logo Makefile changes. I
will test them tonight.
> ===== drivers/video/aty/Makefile 1.10 vs edited =====
> --- 1.10/drivers/video/aty/Makefile Thu May 1 18:32:15 2003
> +++ edited/drivers/video/aty/Makefile Sun Sep 7 07:45:54 2003
> @@ -4,4 +4,3 @@
> atyfb-y := atyfb_base.o mach64_accel.o
> atyfb-$(CONFIG_FB_ATY_GX) += mach64_gx.o
> atyfb-$(CONFIG_FB_ATY_CT) += mach64_ct.o mach64_cursor.o
> -atyfb-objs := $(atyfb-y)
> ===== drivers/video/console/Makefile 1.15 vs edited =====
> --- 1.15/drivers/video/console/Makefile Mon Feb 3 23:19:38 2003
> +++ edited/drivers/video/console/Makefile Sun Sep 7 07:45:55 2003
> @@ -3,18 +3,16 @@
> # Rewritten to use lists instead of if-statements.
>
> # Font handling
> -font-objs := fonts.o
> +font-y := fonts.o
>
> -font-objs-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o
> -font-objs-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o
> -font-objs-$(CONFIG_FONT_8x8) += font_8x8.o
> -font-objs-$(CONFIG_FONT_8x16) += font_8x16.o
> -font-objs-$(CONFIG_FONT_6x11) += font_6x11.o
> -font-objs-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
> -font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
> -font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o
> -
> -font-objs += $(font-objs-y)
> +font-$(CONFIG_FONT_SUN8x16) += font_sun8x16.o
> +font-$(CONFIG_FONT_SUN12x22) += font_sun12x22.o
> +font-$(CONFIG_FONT_8x8) += font_8x8.o
> +font-$(CONFIG_FONT_8x16) += font_8x16.o
> +font-$(CONFIG_FONT_6x11) += font_6x11.o
> +font-$(CONFIG_FONT_PEARL_8x8) += font_pearl_8x8.o
> +font-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
> +font-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o
>
> # Each configuration option enables a list of files.
>
> @@ -31,8 +29,11 @@
> # Files generated that shall be removed upon make clean
> clean-files := promcon_tbl.c
>
> -$(obj)/promcon_tbl.c: $(src)/prom.uni
> - $(objtree)/scripts/conmakehash $< | \
> +
> +quiet_cmd_promtbl = GEN $@
> + cmd_promtbl = scripts/conmakehash $< | \
> sed -e '/#include <[^>]*>/p' -e 's/types/init/' \
> -e 's/dfont\(_uni.*\]\)/promfont\1 __initdata/' > $@
>
> +$(obj)/promcon_tbl.c: $(src)/prom.uni
> + $(call cmd,promtbl)
> ===== drivers/video/i810/Makefile 1.2 vs edited =====
> --- 1.2/drivers/video/i810/Makefile Wed Jan 1 14:00:16 2003
> +++ edited/drivers/video/i810/Makefile Sun Sep 7 07:45:56 2003
> @@ -1,15 +1,8 @@
> #
> # Makefile for the Intel 810/815 framebuffer driver
> #
> -# Note! Dependencies are done automagically by 'make dep', which also
> -# removes any old dependencies. DON'T put your own dependencies here
> -# unless it's something special (ie not a .c file).
> -#
> -# Note 2! The CFLAGS definitions are now in the main makefile...
> -
>
> obj-$(CONFIG_FB_I810) += i810fb.o
> -
>
> i810fb-objs := i810_main.o i810_accel.o
>
> ===== drivers/video/logo/Makefile 1.3 vs edited =====
> --- 1.3/drivers/video/logo/Makefile Mon Jul 21 23:30:38 2003
> +++ edited/drivers/video/logo/Makefile Sun Sep 7 08:57:22 2003
> @@ -14,29 +14,38 @@
> obj-$(CONFIG_LOGO_SUPERH_CLUT224) += logo_superh_clut224.o
>
> # Dependencies on generated files need to be listed explicitly
> -
> -$(obj)/%_mono.o: $(src)/%_mono.c
> -
> -$(obj)/%_vga16.o: $(src)/%_vga16.c
> -
> -$(obj)/%_clut224.o: $(src)/%_clut224.c
> -
> -$(obj)/%_gray256.o: $(src)/%_gray256.c
> +# mono logo's
> +$(obj)/logo_linux_mono.o: $(obj)/logo_linux_mono.c
> +$(obj)/logo_superh_mono.o: $(obj)/logo_superh_mono.c
> +
> +# vga16 logo's
> +$(obj)/logo_linux_vga16.o: $(obj)/logo_linux_vga16.c
> +$(obj)/logo_superh_vga16.o: $(obj)/logo_superh_vga16.c
> +
> +# clut224 logo's
> +$(obj)/logo_linux_clut224.o: $(obj)/logo_linux_clut224.c
> +$(obj)/logo_dec_clut224.o: $(obj)/logo_dec_clut224.c
> +$(obj)/logo_mac_clut224.o: $(obj)/logo_mac_clut224.c
> +$(obj)/logo_sgi_clut224.o: $(obj)/logo_sgi_clut224.c
> +$(obj)/logo_sun_clut224.o: $(obj)/logo_sun_clut224.c
> +$(obj)/logo_superh_clut224.o: $(obj)/logo_superh_clut224.c
>
> # How to generate them
>
> +# Create commands like "pnmtologo -t mono -n logo_mac_mono -o ..."
> +quiet_cmd_logo = LOGO $@
> + cmd_logo = scripts/pnmtologo \
> + -t $(patsubst $*_%,%,$(notdir $(basename $<))) \
> + -n $(notdir $(basename $<)) -o $@ $<
> +
> $(obj)/%_mono.c: $(src)/%_mono.pbm
> - $(objtree)/scripts/pnmtologo -t mono -n $*_mono -o $@ $<
> + $(call cmd,logo)
>
> $(obj)/%_vga16.c: $(src)/%_vga16.ppm
> - $(objtree)/scripts/pnmtologo -t vga16 -n $*_vga16 -o $@ $<
> + $(call cmd,logo)
>
> $(obj)/%_clut224.c: $(src)/%_clut224.ppm
> - $(objtree)/scripts/pnmtologo -t clut224 -n $*_clut224 -o $@ $<
> -
> -$(obj)/%_gray256.c: $(src)/%_gray256.pgm
> - $(objtree)/scripts/pnmtologo -t gray256 -n $*_gray256 -o $@ $<
> -
> + $(call cmd,logo)
>
> # Files generated that shall be removed upon make clean
> -clean-files := *_mono.c *_vga16.c *_clut224.c *_gray256.c
> +clean-files := *_mono.c *_vga16.c *_clut224.c
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles
2003-09-06 22:44 ` Andi Kleen
@ 2003-09-07 5:36 ` Sam Ravnborg
0 siblings, 0 replies; 11+ messages in thread
From: Sam Ravnborg @ 2003-09-07 5:36 UTC (permalink / raw)
To: Andi Kleen; +Cc: Randy.Dunlap, linux-kernel
On Sun, Sep 07, 2003 at 12:44:24AM +0200, Andi Kleen wrote:
> "Randy.Dunlap" <rddunlap@osdl.org> writes:
>
> x86-64 has the same problem. It always rebuilds arch/x86_64/ia32/vsyscall32.so,
> no matter if it has changed or not. I have not figured out why it does that.
>
> vsyscall.S is an assembly file which depends on asm/offset.h, which
> is regenerated each build. But the regeneration is written in a way to
> not trigger rebuilds when nothing has changed. That works for everything
> else, just apparently not for the vsyscall.S file.
Hi Andi, I recall I have a mail from you about this.
Last time I looked I could not figure out what was wrong, but let
me try again.
Could you send me the output of "make V=1" for an otherwise clean compile.
Sam
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6: spurious recompiles
[not found] ` <33384.4.4.25.4.1062887601.squirrel@www.osdl.org.suse.lists.linux.kernel>
@ 2003-09-06 22:44 ` Andi Kleen
2003-09-07 5:36 ` Sam Ravnborg
0 siblings, 1 reply; 11+ messages in thread
From: Andi Kleen @ 2003-09-06 22:44 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: linux-kernel
"Randy.Dunlap" <rddunlap@osdl.org> writes:
> > When doing a "make" inside an already compiled kernel source there
> > shouldn't be anything rebuilt. I've identified three places where this
> > isn't the case in recent 2.6 kernels:
> >
> > 1. ikconfig
> > CC kernel/configs.o
> > even when the .config wasn't changed
>
> This is probably the same thing that Steve Hemminger posted about
> yesterday:
> http://marc.theaimsgroup.com/?l=linux-kernel&m=106270067411137&w=2
>
> I posted a patch based on Sam Ravnborg's comments that might fix it,
> but I haven't verified it yet... The patch is in this message:
> http://marc.theaimsgroup.com/?l=linux-kernel&m=106272687506379&w=2
>
> or it may be some other dependency. I'll look into it.
x86-64 has the same problem. It always rebuilds arch/x86_64/ia32/vsyscall32.so,
no matter if it has changed or not. I have not figured out why it does that.
vsyscall.S is an assembly file which depends on asm/offset.h, which
is regenerated each build. But the regeneration is written in a way to
not trigger rebuilds when nothing has changed. That works for everything
else, just apparently not for the vsyscall.S file.
-Andi
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2003-09-08 23:46 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-06 20:14 2.6: spurious recompiles Adrian Bunk
2003-09-06 22:33 ` Randy.Dunlap
2003-09-07 10:37 ` Adrian Bunk
2003-09-07 5:33 ` Sam Ravnborg
2003-09-08 23:45 ` James Simmons
2003-09-07 5:51 ` Sam Ravnborg
2003-09-07 7:00 ` Sam Ravnborg
2003-09-07 10:17 ` Adrian Bunk
2003-09-08 23:45 ` James Simmons
[not found] <20030906201417.GI14436@fs.tum.de.suse.lists.linux.kernel>
[not found] ` <33384.4.4.25.4.1062887601.squirrel@www.osdl.org.suse.lists.linux.kernel>
2003-09-06 22:44 ` Andi Kleen
2003-09-07 5:36 ` Sam Ravnborg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).