Hay un proceso en curso para confirmar parches LLVMLinux en kernel de vainilla (2013-2014).
El proyecto LLVMLinux es un proyecto de The Linux Foundation: http://llvm.linuxfoundation.org/ para permitir que el núcleo vainilla se construya con LLVM. Muchos parches son preparados por Behan Webster, quien es el líder del proyecto LLVMLinux.
No es el artículo LWN sobre el proyecto a partir de mayo 2013 https://lwn.net/Articles/549203/ "LFCS: El proyecto LLVMLinux"
Estado actual de proyecto LLVMLinux se realiza un seguimiento en la página http://llvm.linuxfoundation.org/index.php/Bugs#Linux_Kernel_Issues
cosas (básicamente gcc-ismos) ya eliminados de kernel: * Expicit Registra Variables (no-C99) * VLAIS (no C99-compatible indocumentado característica GCC "arrays de longitud variable en estructuras") como struct S { int array[N];}
o incluso struct S { int array[N]; int array_usb_gadget[M]; }
donde N y M son no constante argumento de la función * Funciones anidadas (característica de Ada portada en C por los desarrolladores de GCC/Gnat; no se permite en C99) * Algunos gcc magic/gas como segmentos especiales o macro
cosas por hacer: * Uso de __builtin_constant_p
orden interna para poner en práctica la magia miedo como BUILD_BUG_ON(!__builtin_constant_p(offset));
Las buenas noticias sobre LLVMLinux son que después de sus parches kernel no solo se puede construir con LLVM + clang, sino que también es más fácil de compilar con otros compiladores no GCC, porque el proyecto mata mucho no al código C99 como VLAIS, creado por el autor del gadget usb, por los hackers netfilter y por el subsistema crypto piratas informáticos; también las funciones anidadas son asesinadas.
Duplicado: http://stackoverflow.com/questions/689327/is-it-possible-to-compile-linux-kernel-with-something-other-than-gcc – dmckee
Mi primera pregunta sería ..."¿Por qué gcc no es una opción?" No estoy diciendo que no deberías estar tratando de hacer lo que estás haciendo, de hecho es grandioso ver complacer la curiosidad. Pero te estás zambulliendo en un grupo de tiburones armados con láseres, por lo que la mayoría de nosotros querría saber por qué. –
@Tim Post, quiero saber qué problemas hay en la compilación de kernel de Linux con compiladores no gcc. Trabajo con un compilador experimental y debo mejorar su compatibilidad con las extensiones de gnu, necesarias para compilar el kernel de Linux. Los parches de intel (linuxdna) son muy interesantes para mí. – osgx