TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Bootstrappable Builds

59 点作者 perfunctory9 个月前

5 条评论

er4hn9 个月前
The big issue with bootstrappable builds is how to get started and have good examples. This is an ambitious goal, like landing on the moon, and takes a lot to get there. My understanding of this has been you need to (a) Be able to have a compiler that can be compiled from understandable code, which itself may require a set of increasingly complex compilers. I've heard this referred to before as a "compiler pilgrimage" but I can't find where I heard that term. (b) Then you need to be able to build the code with that compiler / dependencies. This is a pretty well solved problem these days assuming you can pin all your dependencies and transitive dependencies. (c) Then this all needs to be reproducible so that you can actually trust the output and that is a pretty hard problem today.
评论 #41369770 未加载
评论 #41370990 未加载
mikewarot9 个月前
The story referenced as part of the motivation for the project[1] is pretty chilling. The laws of physics can put a lower limit on things for you if you have an old school analog oscilloscope handy to watch for network packets.<p>If you have old school TTL, EPROMs, RAM, and time, you could built a CPU you can test all the parts of, and trust. You could even work your way up to floppy disks, and an analog CRT display.<p>Once you want to ramp up the speed and complexity, things get dicey. I have ideas that would help, but nothing provably secure.<p>[1] <a href="https:&#x2F;&#x2F;www.teamten.com&#x2F;lawrence&#x2F;writings&#x2F;coding-machines&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.teamten.com&#x2F;lawrence&#x2F;writings&#x2F;coding-machines&#x2F;</a>
transpute9 个月前
<i>&gt; Current versions of GCC are written in C++, which means that a C++ compiler is needed to build it from source. GCC 4.7 was the last version of the collection that could be built with a plain C compiler, a much simpler task.</i><p>Which C++ compiler was used to build GCC 4.8?
评论 #41371015 未加载
andy_xor_andrew9 个月前
regarding the &quot;security&quot; aspect, I&#x27;m interested in what an attack vector would look like against a build system<p>like, say you are building code, and all the below functions are compilers, and * denotes an evil compiler. Every link in the chain is a compiler building another compiler, until the last node which builds the code.<p>A() -&gt; B() -&gt; Evil*() -&gt; D() -&gt; E(code) -&gt; binary<p>how in the world would the evil compiler in this situation inject something malicious into the final binary?
评论 #41369655 未加载
评论 #41370042 未加载
mcosta9 个月前
Then the trust is in your silicon. Not only the CPU. The network card, hard drive, memory controller, PCI bus...