Zack's Kernel News
Zack's Kernel News

Considering Plan 9 extensions for type conversion, supporting heterogeneous systems, and optimizing CPU idle states.
Considering Plan 9 Extensions for Type Conversion
For a long time, the Linux kernel would only compile with the GNU C Compiler (GCC). Now, several compilers can do it, but each compiler has its own way of doing things, offering various extensions to the C language and optimizing code in different ways. The question of which compiler features to depend on can have an effect on whether other compilers can keep supporting Linux.
Recently, Matthew Wilcox suggested using the -fplan9-extensions
GCC option to handle some implicit type conversions. This way, a particular cyclic memory allocation could be made to embed a needed reference instead of requiring it to be passed explicitly to the function. If the code used the Plan 9 extensions, the functions would not need to be tweaked to accept the additional input.
However, as Nick Desaulniers pointed out, other compilers might not support that particular extension. Even if Matthew successfully argued in favor of it, Nick suggested making it optional, so that other compilers could continue to support the kernel.
[...]
Buy this article as PDF
(incl. VAT)