作者:史宁宁(snsn1984)

之前有朋友问到这个问题,是否有使用LLVM/Clang编译Linux内核的,随手找了一些相关资料,在这里贴出来,与大家共享。

网址:http://llvm.linuxfoundation.org

项目简介:

LLVMLinux Project Overview

This project aims to fully build the Linux kernel using Clang which is the C front end for the LLVM compiler infrastructure project. Together Clang and LLVM have many positive attributes and features which many developers and system integrators would like to take advantage of when developing and deploying the Linux Kernel as a part of their own projects.

The hope is that this project will help reduce duplicate work, as well as concentrate, and accelerate efforts around this subject matter in order to allow Linux Kernel developers, and system integrators to have the choice of a Clang compiled Linux kernel. The goal is for this project to be a testing/proving ground for these updates and to get patches that make this possible upstream to their respective projects.

The LLVMLinux project consolidates the work of the lll-project, the PAX team, and Mark Charlebois' work on the ARM kernel.

There have been several presentations and articles on this topic if you wish to learn more about the reasons for this project.

Currently the work is centred around the ARM, x86, x86_64, and MIPS architectures but contributions to support other architectures are welcome. Patches accepted!

Interested parties will be holding a Bi-weekly Google Hangout to discuss project status and goals.

最新进展情况,从新闻稿中可以看出:

Features You Won't Find In The Linux 4.9 Mainline Kernel

Written by Michael Larabel in Linux Kernel on 19 October 2016 at 07:18 AM EDT. 17 Comments

...

LLVM Clang Building - The mainline kernel still can't build cleanly under the LLVM Clang compiler. The LLVMLinux project slowed down a lot but hopefully developers will get back to working on this support in the not too distant future.

...

新闻链接:http://www.phoronix.com/scan.php?page=news_item&px=Linux-4.9-Stuff-Not-Mainline

至少到2016年10月19日,该新闻发布的时候,还无法正常支持主线的内核编译。同时,也号召有兴趣的朋友们积极参与该项目。

另外,该项目的邮件列表为: llvmlinux@lists.linuxfoundation.org.

LLVM每日谈之二十三 LLVM/Clang编译Linux内核资料相关推荐

  1. LLVM每日谈之四十五 LLVM IR TUTORIAL

    今年的LLVM欧洲开发者会议上,在Tutorials环节,Vince Bridgers (Intel Corporation), Felipe de Azevedo Piovezan (Intel C ...

  2. clang编译linux内核

    我的环境是Ubuntu18.04,linux内核是5.7.12,clang版本11.0.0,cmake版本3.18.4 必要的环境依赖: sudo apt-get install gcc make l ...

  3. LLVM每日谈之二十八 I am leaving llvm

    Rafael 于当地时间五月二日宣称离开LLVM社区,在网络引发了广泛的讨论.Rafael 作为LLVM贡献排名第五的资深贡献者,对LLVM社区贡献极大,他一共提交了4,344个节点,占LLVM提交节 ...

  4. LLVM每日谈之二十九 面向机器学习的编译器——Glow

    当地时间五月三日,Glow开发者在LLVM开发者邮件列表中发布了Glow. 邮件地址:[llvm-dev] Thank you from the Glow Developers Glow的开源地址:p ...

  5. LLVM每日谈之三十四 LLVM IR生成和转换的几条指令

    本文将罗列几条关于LLVM IR生成和转换的几条指令,并没有技术含量可言,只是让刚接触LLVM IR的同学,有一个检索和参考作用.文中min.c作为输入. min.c int min(int a , ...

  6. LLVM每日谈 | 知乎

    llvm是什么? llvm是low level virtual machine的简称,其实是一个编译器框架.llvm随着这个项目的不断的发展,已经无法完全的代表这个项目了,只是这种叫法一直延续下来. ...

  7. i.MX 6ULL 驱动开发 二十九:向 Linux 内核中添加自己编写驱动

    一.概述 Linux 内核编译流程如下: 1.配置 Linux 内核. 2.编译 Linux 内核. 说明:进入 Linux 内核源码,使用 make help 参看相关配置. 二.make menu ...

  8. LLVM每日谈之三十一 如何读写LLVM的bitcode

    LLVM的IR在整个LLVM工程中占据着核心地位,它是整个LLVM三个阶段的中间环节,起着承上启下的作用.如何读写LLVM的bitcode在LLVM的前端和后端都会涉及这个问题,在基于LLVM做一些定 ...

  9. Linux学习记录(二)QEMU安装与Linux内核环境搭建

    Linux学习记录(二) 记录本人学习的过程和遇到的问题 QEMU安装与Linux内核环境搭建 Linux学习记录(二) 一.QEMU安装 1.什么是QEMU 2.QEMU安装 二.Linux内核环境 ...

最新文章

  1. 职场社交是一个真实需求吗?
  2. php 获取当前url hash,http - 我可以在服务器端应用程序(PHP,Ruby,Python等)上读取URL的哈希部分吗?...
  3. SigmaStar SSD202 openwrt 系统下ubi根文件系统挂载过程
  4. 如何在 SAP 电商云 Spartacus UI 首页的产品展示里显示视频
  5. 链式链表的C风格实现
  6. OGRE分析之设计模式
  7. Java 线程实例二(终止线程、生产者/消费者问题、获取线程状态、获取所有线程、查看线程优先级、中断线程)
  8. 使用UIActivityIndicatorView 和多线程
  9. 能力不是仅靠原始积累(一)
  10. 我的世界服务器起床地图维修,Minecraft·起床战争地图更新来了!地图“雪仗”全面解读!...
  11. 开源众包-项目大厅数据爬取
  12. 计算机网络考研408计算机134分笔记!超级详细!23最新考纲
  13. 微信小程序如何做营销推广?
  14. 微服务入门到入土(07)-分布式搜索ElasticSearch
  15. 牛逼!手把手教你制作个人微信红包封面,保姆级红包封面制作教程
  16. python鲜花_【实战案例】90 行Python代码实现一棵鲜花盛开树
  17. 微信小程序里的block
  18. 虚拟机hmc连接服务器,VMware虚拟机安装HMC图文教程
  19. 概率论考点总结类型26 统计中的卡方分布 t分布F分布
  20. Linux性能优化大师-系统优化漫谈

热门文章

  1. linux终端设置-集成说明
  2. 服务器的文件共享,服务器文件共享
  3. 主线程如何等待多线程完成 返回数据_多线程基础体系知识清单
  4. Java实现快速排序 Quick Sort
  5. 北斗导航 | Select Satellite 选星算法
  6. 一些常规形几何形状的绘制和效果填充(二)
  7. java如何打logo,利用java给网站图片打上文本或图片logo
  8. 文本分析:吉利不裁员不降薪背后的真相是什么
  9. web开发入门到深入-WebAssembly(1)
  10. 【深度学习】手撕 CNN 之 AlexNet(PyTorch 实战篇)