On Tue, Mar 22, 2016 at 07:24:38PM +0800, Hao Lee wrote: > On Mon, Mar 21, 2016 at 5:51 PM, Nicholas Mc Guire <der.herr@xxxxxxx> wrote: > > You can not turn it off in all functions as some need particluar > > optimization flags to comile at all, but you can pass > > individual CFLAGS per file via the Makefile > > > > CFLAGS_target.o = -O0 or -flags-to-use > > > > aswell as remove specific CFLAGS with > > > > CFLAGS_REMOVE_target.o = -flags-to-remove > > > > but if you want to debug the kernel it is most likely not > > a good idea to try and disable optimization as the code you then > > are debugging might not have that much to do with the final code > > once optimization is on again. So simply generate the .lst file > > of the target you are trying to debug e.g. for kernel/sched/core.c: > > > > make kernel/sched/core.lst > > > > and then use that .lst file to understand the output of gdb you > > are inspecting. > > Thanks for your reply! > Besides,I also find that use "gcc -c -Q -O1 --help=optimizers" can > print the exact set of optimizations. > yes - but for any given code you will find that many of those options actually have no effect for the particular code blob. The set of flags effectively impacting the generated object file is generally much smaller than the ones reported by gcc -c -Q -O1 --help=optimizers. thx! hofrat _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies