| ▲ | nrdvana 2 hours ago | |
It was true in 2005, but still? As I described in another post here, a modern strategy is to get a beefy server than can run the same ABI, then start a docker container and assemble a system from Alpine's package repo, then compile a kernel and a few in-house things, then extract a subset of that into an image. No cross-compile, and most of the useful software is in pre-built binary packages with the compile-time options you would have selected anyway. Even if you don't have a beefy server of the same architecture, you can probably run it in qemu instead of docker to the same effect. And even if qemu is slow, you can run a build of the kernel and your in-house stuff in parallel on 64 cores and not really be affected by the qemu slowdown. I'm interested to hear counterexamples, though. | ||
| ▲ | drdexebtjl an hour ago | parent [-] | |
I don’t have counter examples, but hear me out. What if this hegemony in ISAs is partially because of the high costs of porting software and toolchains? Maybe the next generation of embedded devices will have ISAs that are, say, extremely optimized for real time industrial controllers, but terrible at compiling C++. It seems a little silly to give up on cross-compilation just because _today_ everything runs on ARM. Especially because cross-compilation is not a particularly hard problem, the problem is with decades of tooling assuming the build and target environments are the same. | ||