Hi, Le dimanche 14 août 2016 à 13:31 +0200, Greg KH a écrit :
On Sun, Aug 14, 2016 at 07:11:01PM +0800, Hao Lee wrote:
Just out of curiosity - is there a technical reason why -O0 couldn't be used in Linux kernel? I don't know, spinlocks would not work in this case because it's how GCC was written or something. Or just nobody compiles and tests kernel like this so it most likely would not work?
[...]
Hi, I also like figuring out what's happening in the OS underlying. So I have some ideas about reducing optimization. Although you couldn't turn off optimization completely, you can use both -O2 and other options to reducing optimization as far as possible. You can use -O2 -Q -v to find out which options are enabled when using -O2. Then you can try -O2 -fno-defer-pop -fno-thread-jumps etc. to disable some options. I once used this approach to debug kernel-2.4 in bochs simulator. Unfortunately, this approach could not counteract the effects of -O2 completely, but it's worth a try.
No, please don't do that. If you do, you will end up with a completly unsuported and unknown system and no one will be able to help you out with any sort of problem solving.
And what about -Og which is a dedicated optimization level since GCC 4.8 https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-Og-723 https://gcc.gnu.org/gcc-4.8/changes.html Regards. -- Yann Droneaud OPTEYA