Mentre mi trovo nei sistemi embedded ho notato che alcuni progetti (Arch Arm e OpenBSD per esempio) disapprovano la compilazione incrociata. Qual è il ragionamento per questo? Un binario compilato in modo incrociato è in qualche modo diverso da uno compilato in modo nativo?
OpenBSD suggerisce che la costruzione dell'hardware garantisce che il sistema sia completamente funzionale (e anche auto-ospitante) e che abbia perfettamente senso. Ma le persone effettivamente sviluppano e compilano i driver del kernel sull'hardware per cui si stanno sviluppando? Sembra molto dispendioso in termini di tempo.
Da Domande frequenti su OpenBSD:
"Gli strumenti di cross-compiling sono nel sistema, per essere usati dagli sviluppatori per creare una nuova piattaforma, ma non sono mantenuti per uso generale."
- link
Vedrò se posso rintracciare il registro IRC in cui uno sviluppatore di ArchLinux Arm mi ha detto che non eseguono il cross-compile, anche se sembra che abbiano aggiornato le loro informazioni sulla compilazione incrociata con DistCC: link