Linked by Amjith Ramanujam on Fri 21st Nov 2008 03:38 UTC
General Development The Linux kernel uses several special capabilities of the GNU Compiler Collection (GCC) suite. These capabilities range from giving you shortcuts and simplifications to providing the compiler with hints for optimization. Discover some of these special GCC features and learn how to use them in the Linux kernel.
Thread beginning with comment 338045
To read all comments associated with this story, please click here.
JonathanBThompson
Member since:
2006-05-26

And having special optimizations in the compiler is nice. But, isn't it a goal to have the OS as portable as possible to make it easier to port? Granted, GCC is readily available for most any platform, and readily enough ported to any other platform as needed, but so much for the claim of Linux using open standards, while at the same time purposely using compiler hacks that no other compiler has, making the code less portable.

braddock Member since:
2005-07-08

Has Linux EVER been compiled with a non-GNU compiler?

Reply Parent Bookmark Score: 1

braddock Member since:
2005-07-08

To answer my own question...

In 2004 a German group apparently got the Linux 2.6 Kernel to compile using the Intel Compiler. It required patches and a custom pre-processor to convert some of the GCC directives. Interesting...

http://www.pyrillion.org/index.html?showframe=linuxkernelpatch.html

They claimed performance improvements of up to 40% for some limited areas of the kernel, and 8-9% overall performance improvement in general.

Reply Parent Bookmark Score: 1

siki_miki Member since:
2006-01-17

It is good to have such useful extensions, because it makes the code faster, and decreases chances of errors in the code. Pure C standard isn't enough for the kernel
(and a small part of it is still platform-dependent ASM, anyway).

Portability of the Linux kernel is not in danger because gcc supports enough platforms.

Reply Parent Bookmark Score: 2