[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <568F9E1E.7030406@suse.cz>
Date: Fri, 8 Jan 2016 12:31:42 +0100
From: Michal Marek <mmarek@...e.cz>
To: sedat.dilek@...il.com
Cc: One Thousand Gnomes <gnomes@...rguk.ukuu.org.uk>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Sam Ravnborg <sam@...nborg.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
Arnd Bergmann <arnd@...db.de>, Ingo Molnar <mingo@...hat.com>,
linux-kbuild@...r.kernel.org,
Linux ACPI <linux-acpi@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
the arch/x86 maintainers <x86@...nel.org>
Subject: Re: Thoughts about introducing OPTIMIZATION_CFLAG
On 2016-01-08 11:03, Sedat Dilek wrote:
> On Mon, Jan 4, 2016 at 11:37 PM, Michal Marek <mmarek@...e.cz> wrote:
>> Dne 4.1.2016 v 12:47 Sedat Dilek napsal(a):
>>> But I think you did not get my problem - to have two different
>>> optimization-levels for a compiler in *one* make-line makes no sense
>>> to me.
>>
>> That we sometimes have -O2 ... -Os on the command line is not a problem,
>> since any same unix tool parses its options so that the last one of
>> mutually exclusive options wins.
>
> That is new to me and I haven't tested this by dropping arguments in
> my make-line(s).
>
> From where do have this information - sort of "business-life-experience" :-)?
> Is that documented somewhere in the Linux-sources?
You override a previously set option by appending one with different value:
$ yes | head -n 10 -n 999 -n 2
y
y
$
This pattern is used all over in Makefiles.
> Do you agree that it is confusing to have two optlevel arguments in
> one make-line?
It probably is, but fixing this problem would make the Makefiles unreadable.
> Linus suggested me to use a wrapper-script in case of using two
> different compiler and passing arguments...
>
> [ /usr/bin/mycompiler ]
> #!/bin/bash
>
> gcc-4.9 "$@"
> - EOF -
>
> According to your statement passing an optlevel here in this script
> will never-ever be recognized - as it is at the begin-of-(make)-line.
Pass it as the last argument.
> So how should someone change the Linux-sources to test a different
> optlevel than -O2?
make KCFLAGS=-O3
However, per-directory and per-file cflags set in Makefiles will take
precedence. If you want to override these as well, use the wrapper.
Michal
Powered by blists - more mailing lists