* [PATCH][RFC] gcc3 arch options
@ 2002-05-27 15:00 J.A. Magallon
2002-05-27 15:08 ` Thunder from the hill
2002-05-27 15:18 ` David Woodhouse
0 siblings, 2 replies; 8+ messages in thread
From: J.A. Magallon @ 2002-05-27 15:00 UTC (permalink / raw)
To: Lista Linux-Kernel; +Cc: Alan Cox, Marcelo Tosatti
Hi.
Patch below adds support for newer gcc -march code generation options.
It adds options for pentium-mmx, pentium-pro, pentium2, pentium3 and pentium4.
(note: pII part depends or previous patch).
It just what Luca Barbieri did adding PII.
I have been running a PII optmized kernel on a dual PII@400 box and nothing
has broken for 2 days....
Patch follows:
--- linux-2.4.19-pre8-jam4/arch/i386/Makefile.orig 2002-05-26 11:39:23.000000000 +0200
+++ linux-2.4.19-pre8-jam4/arch/i386/Makefile 2002-05-26 11:43:06.000000000 +0200
@@ -43,23 +43,23 @@
endif
ifdef CONFIG_M586MMX
-CFLAGS += -march=i586
+CFLAGS += $(shell if $(CC) -march=pentium-mmx -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=pentium-mmx"; else echo "-march=i586"; fi)
endif
ifdef CONFIG_M686
-CFLAGS += -march=i686
+CFLAGS += $(shell if $(CC) -march=pentium-pro -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=pentium-pro; else echo "-march=i686"; fi)
endif
ifdef CONFIG_MPENTIUMII
-CFLAGS += -march=i686
+CFLAGS += $(shell if $(CC) -march=pentium2 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=pentium2"; else echo "-march=i686"; fi)
endif
ifdef CONFIG_MPENTIUMIII
-CFLAGS += -march=i686
+CFLAGS += $(shell if $(CC) -march=pentium3 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=pentium3"; else echo "-march=i686"; fi)
endif
ifdef CONFIG_MPENTIUM4
-CFLAGS += -march=i686
+CFLAGS += $(shell if $(CC) -march=pentium4 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=pentium4"; else echo "-march=i686"; fi)
endif
ifdef CONFIG_MK6
--
J.A. Magallon # Let the source be with you...
mailto:jamagallon@able.es
Mandrake Linux release 8.3 (Cooker) for i586
Linux werewolf 2.4.19-pre8-jam4 #2 SMP dom may 26 11:20:42 CEST 2002 i686
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][RFC] gcc3 arch options
2002-05-27 15:00 [PATCH][RFC] gcc3 arch options J.A. Magallon
@ 2002-05-27 15:08 ` Thunder from the hill
2002-05-27 15:18 ` David Woodhouse
1 sibling, 0 replies; 8+ messages in thread
From: Thunder from the hill @ 2002-05-27 15:08 UTC (permalink / raw)
To: J.A. Magallon; +Cc: Lista Linux-Kernel, Alan Cox, Marcelo Tosatti
Hi,
ifdef CONFIG_M686
CFLAGS += -march=i686
-CFLAGS += $(shell if $(CC) -march=pentium-pro -S -o /dev/null -xc > /dev/null >/dev/null 2>&1; then echo "-march=pentium-pro; else echo > "-march=i686"; fi)
+CFLAGS += $(shell if $(CC) -march=pentium-pro -S -o /dev/null -xc > /dev/null >/dev/null 2>&1; then echo "-march=pentium-pro"; else echo > "-march=i686"; fi)
endif
Regards,
Thunder
--
Was it a black who passed along in the sand?
Was it a white who left his footprints?
Was it an african? An indian?
Sand says, 'twas human.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][RFC] gcc3 arch options
2002-05-27 15:00 [PATCH][RFC] gcc3 arch options J.A. Magallon
2002-05-27 15:08 ` Thunder from the hill
@ 2002-05-27 15:18 ` David Woodhouse
2002-05-27 15:47 ` Kai Germaschewski
1 sibling, 1 reply; 8+ messages in thread
From: David Woodhouse @ 2002-05-27 15:18 UTC (permalink / raw)
To: J.A. Magallon; +Cc: Lista Linux-Kernel, Alan Cox, Marcelo Tosatti
jamagallon@able.es said:
> +CFLAGS += $(shell if $(CC) -march=pentium-mmx -S -o /dev/null -xc /
> dev/null >/dev/null 2>&1; then echo "-march=pentium-mmx"; else echo
> "-march=i586"; fi)
Doesn't this run the shell command every time $(CFLAGS) is used?
--
dwmw2
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][RFC] gcc3 arch options
@ 2002-05-27 15:33 Thunder from the hill
0 siblings, 0 replies; 8+ messages in thread
From: Thunder from the hill @ 2002-05-27 15:33 UTC (permalink / raw)
To: Linux Kernel Mailing List
Hi,
On Mon, 27 May 2002, David Woodhouse wrote:
> jamagallon@able.es said:
> > +CFLAGS += $(shell if $(CC) -march=pentium-mmx -S -o /dev/null -xc /
> > dev/null >/dev/null 2>&1; then echo "-march=pentium-mmx"; else echo
> > "-march=i586"; fi)
>
> Doesn't this run the shell command every time $(CFLAGS) is used?
It does. But I don'y know whether it is _TOO_ expensive, others do it as
well. I think in the GCC compile we have it either.
However, we might better determine that in advance.
Regards,
Thunder
--
Was it a black who passed along in the sand?
Was it a white who left his footprints?
Was it an african? An indian?
Sand says, 'twas human.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][RFC] gcc3 arch options
2002-05-27 15:18 ` David Woodhouse
@ 2002-05-27 15:47 ` Kai Germaschewski
2002-05-27 16:01 ` Thunder from the hill
2002-05-27 21:42 ` J.A. Magallon
0 siblings, 2 replies; 8+ messages in thread
From: Kai Germaschewski @ 2002-05-27 15:47 UTC (permalink / raw)
To: David Woodhouse
Cc: J.A. Magallon, Lista Linux-Kernel, Alan Cox, Marcelo Tosatti
On Mon, 27 May 2002, David Woodhouse wrote:
> jamagallon@able.es said:
> > +CFLAGS += $(shell if $(CC) -march=pentium-mmx -S -o /dev/null -xc /
> > dev/null >/dev/null 2>&1; then echo "-march=pentium-mmx"; else echo
> > "-march=i586"; fi)
>
> Doesn't this run the shell command every time $(CFLAGS) is used?
CFLAGS is initially defined with ':=', which, as opposed to '=' means to
evaluate directly and store the resulting string, so it should be fine.
Even if it wasn't, only the evaluations from the top-level Makefile would
cause the command to be executed, make will always pass down the evaluated
result to the subdir makes.
--Kai
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][RFC] gcc3 arch options
2002-05-27 15:47 ` Kai Germaschewski
@ 2002-05-27 16:01 ` Thunder from the hill
2002-05-27 21:42 ` J.A. Magallon
1 sibling, 0 replies; 8+ messages in thread
From: Thunder from the hill @ 2002-05-27 16:01 UTC (permalink / raw)
To: Kai Germaschewski; +Cc: Linux Kernel Mailing List
Hi,
On Mon, 27 May 2002, Kai Germaschewski wrote:
> CFLAGS is initially defined with ':=', which, as opposed to '=' means to
> evaluate directly and store the resulting string, so it should be fine.
>
> Even if it wasn't, only the evaluations from the top-level Makefile would
> cause the command to be executed, make will always pass down the evaluated
> result to the subdir makes.
>
> --Kai
I've had an evaluation; it does not. So nothing to worry about
Regards,
Thunder
--
Was it a black who passed along in the sand?
Was it a white who left his footprints?
Was it an african? An indian?
Sand says, 'twas human.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][RFC] gcc3 arch options
2002-05-27 15:47 ` Kai Germaschewski
2002-05-27 16:01 ` Thunder from the hill
@ 2002-05-27 21:42 ` J.A. Magallon
2002-05-27 22:47 ` Kai Germaschewski
1 sibling, 1 reply; 8+ messages in thread
From: J.A. Magallon @ 2002-05-27 21:42 UTC (permalink / raw)
To: Kai Germaschewski
Cc: David Woodhouse, Lista Linux-Kernel, Alan Cox, Marcelo Tosatti
On 2002.05.27 Kai Germaschewski wrote:
>On Mon, 27 May 2002, David Woodhouse wrote:
>
>> jamagallon@able.es said:
>> > +CFLAGS += $(shell if $(CC) -march=pentium-mmx -S -o /dev/null -xc /
>> > dev/null >/dev/null 2>&1; then echo "-march=pentium-mmx"; else echo
>> > "-march=i586"; fi)
>>
>> Doesn't this run the shell command every time $(CFLAGS) is used?
>
>CFLAGS is initially defined with ':=', which, as opposed to '=' means to
>evaluate directly and store the resulting string, so it should be fine.
>
>Even if it wasn't, only the evaluations from the top-level Makefile would
>cause the command to be executed, make will always pass down the evaluated
>result to the subdir makes.
>
It even does not depend on that. That is exactly the difference between
$(shell ) and backquoting.
Try this (with both = and :=):
# Makefile
A=
B=
#A:=
#B:=
A+=$(shell date)
B+=`date`
all:
@echo "A="$(A)
@sleep 2
@echo "A="$(A)
@sleep 2
@echo "B="$(B)
@sleep 2
@echo "B="$(B)
--
J.A. Magallon # Let the source be with you...
mailto:jamagallon@able.es
Mandrake Linux release 8.3 (Cooker) for i586
Linux werewolf 2.4.19-pre8-jam4 #2 SMP dom may 26 11:20:42 CEST 2002 i686
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH][RFC] gcc3 arch options
2002-05-27 21:42 ` J.A. Magallon
@ 2002-05-27 22:47 ` Kai Germaschewski
0 siblings, 0 replies; 8+ messages in thread
From: Kai Germaschewski @ 2002-05-27 22:47 UTC (permalink / raw)
To: J.A. Magallon; +Cc: Lista Linux-Kernel
On Mon, 27 May 2002, J.A. Magallon wrote:
> >CFLAGS is initially defined with ':=', which, as opposed to '=' means to
> >evaluate directly and store the resulting string, so it should be fine.
>
> It even does not depend on that. That is exactly the difference between
> $(shell ) and backquoting.
>
> Try this (with both = and :=):
>
> # Makefile
>
> A=
> B=
> #A:=
> #B:=
> A+=$(shell date)
> B+=`date`
>
> all:
> @echo "A="$(A)
> @sleep 2
> @echo "A="$(A)
> @sleep 2
> @echo "B="$(B)
> @sleep 2
> @echo "B="$(B)
Actually, it makes a difference. Backquoting doesn't really have anything
to do with the problem at all, since make doesn't understand it, it
just puts literally "`date`" into the variable, so you pass
echo "B="`date` to the shell, which will then to the substitution.
(Try
C = `echo all.c`
all: $(C)
it won't compile all, even if there is all.c - backquoting can only work
in the command part of a rule.)
Anyway, A= vs A:=, A += $(shell ...) behaves differently, as I
conjectured. Example:
VAR =
#VAR :=
VAR += $(shell echo $$RANDOM)
all:
@echo $(VAR)
@echo $(VAR)
Not that it really matters...
--Kai
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2002-05-27 22:48 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-05-27 15:00 [PATCH][RFC] gcc3 arch options J.A. Magallon
2002-05-27 15:08 ` Thunder from the hill
2002-05-27 15:18 ` David Woodhouse
2002-05-27 15:47 ` Kai Germaschewski
2002-05-27 16:01 ` Thunder from the hill
2002-05-27 21:42 ` J.A. Magallon
2002-05-27 22:47 ` Kai Germaschewski
-- strict thread matches above, loose matches on Subject: below --
2002-05-27 15:33 Thunder from the hill
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.