没有合适的资源?快使用搜索试试~ 我知道了~
The Theory,History and Future of System Linkers
需积分: 10 2 下载量 2 浏览量
2014-05-29
14:08:43
上传
评论
收藏 1.45MB PDF 举报
温馨提示
Modern optimizing linkers have different models of linking. Every models have its unique strength and weakness. I will introduce the differences, advantages and drawbacks of these linkers. This part will touch ATOM model of ld64 and Fragment-reference model of MCLinker.
资源推荐
资源详情
资源评论
Together, we can make
difference
The Theory, History and Future
of
System Linkers
Luba Tang
CEO & Founder, Skymizer Inc.
Outline
•
The History
–
Target Independent Linkers
–
Post Optimizers
–
Instrumentation Tools
•
The Theory
–
Linking Language
–
Fragment-reference graph
•
The Future
–
for GPGPU; for virtual machines
–
The bold project
唐文力 Luba Tang
CEO & Founder of Skymizer Inc.
Architect of MCLinker and GYM compiler
Compiler and Linker/Electronic System Level
Design
Linker: The Elephant in the Room
•
System linkers are very complicated. Only a few team can make a
full-fledge system linker.
–
There are only four open source linkers that can be said full-fledge.
–
GNU ld, Google gold can link Linux kernel
–
Apple ld64 can link Mac OS X and iOS
–
MCLinker can link BSD and Android system
•
ELF linkers are super complicated. There are many undocumented
behaviors and target-specific behaviors.
–
The other linkers are developed for more than three years and can not be
released. The linking problem is intricate.
•
Although a lot of researches have proven linker itself can optimize
programs at a high performance level, developers still not get
benefit from these researches.
3
No Linker Really Optimize Programs
•
MCLinker is 35% faster than the Google gold, and the Google gold is ~200% faster than GNU ld
•
If we turn on optimization flags, the output quality is almost identical to all linkers (<3 %)
Comparison of ELF Linkers
GNU ld Google gold MCLinker
License
GPLv3
Cannot be adopted by Android
UIUC BSD-Style
Target Platform
All Linux
mainstream
devices
ARM, X86,
X86_64, (Mips,
SPARC)
All Android devices.
ARM, X86, Mips
(X86_64, X32, Mips64
and Hexagon)
Object Format
COFF, a.out, ELF ELF only ELF, extensible
Line of Code
500+K 100+K 50+K
Performance
- Fast Fastest
Steadily x2 than GNU
ld, x1.3 than Google
gold
Intermediate
Representation
The BFD library for
reference graph
None Command line language
and reference graph
5
P
e
o
p
l
e
K
e
e
p
E
y
e
s
o
n
T
a
r
g
e
t
I
n
d
e
p
e
n
d
e
n
t
L
i
n
k
e
r
s
剩余52页未读,继续阅读
资源评论
「已注销」
- 粉丝: 4
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- js基础但是这个烂怂东西要求标题不能少于10个字才能上传然后我其实还没有写完之后再修订吧.md
- electron-tabs-master
- Unity3D 布朗运动算法插件 Brownian Motion
- 鼎微R16中控升级包R16-4.5.10-20170221及强制升级方法
- 鼎微R16中控升级包公版UI 2015及强制升级方法,救砖包
- 基于CSS与JavaScript的积分系统设计源码
- 生物化学作业_1_生物化学作业资料.pdf
- 基于libgdx引擎的Java开发连连看游戏设计源码
- 基于MobileNetV3的SSD目标检测算法PyTorch实现设计源码
- 基于Java JDK的全面框架设计源码学习项目
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功