Re: Thoughts about introducing OPTIMIZATION_CFLAG
From: Michal Marek <hidden>
Date: 2016-01-08 11:31:48
Also in:
linux-kbuild, lkml
On 2016-01-08 11:03, Sedat Dilek wrote:
On Mon, Jan 4, 2016 at 11:37 PM, Michal Marek [off-list ref] wrote:quoted
Dne 4.1.2016 v 12:47 Sedat Dilek napsal(a):quoted
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