Le projet https://reproducible-builds.org/ s'intéresse à cette question et s'efforce de répondre à votre question "non, ils ne seront pas différents" dans le plus grand nombre d'endroits possible. NixOS et Debian ont maintenant plus de 90 % de reproductibilité pour leurs paquets.
Si vous compilez un binaire et que je compile un binaire, et qu'ils sont identiques bit à bit, je peux être rassuré sur le fait que le code source et les outils déterminent le résultat, et que vous n'avez pas introduit un code trojan en cours de route.
Si nous combinons la reproductibilité avec l'amorçabilité à partir d'une source lisible par l'homme, comme http://bootstrappable.org/ s'efforce de faire, nous obtenons un système déterminé de A à Z par une source lisible par l'homme, et c'est seulement à ce moment-là que nous pouvons être sûrs de savoir ce que fait le système.
8 votes
Cela dépend du compilateur. Certains d'entre eux intègrent des horodateurs, la réponse est donc "non" pour ceux-là.
0 votes
En fait, cela dépend de la format exécutable et non le compilateur. Certains formats d'exécutables, comme le format PE de Windows, incluent un horodatage qui est lié à l'heure et à la date de compilation, tandis que d'autres formats, comme le format ELF de Linux, ne le font pas. Quoi qu'il en soit, cette question dépend de la définition de "binaire identique". L'image elle-même sera/devrait être identique sur le plan binaire si le même fichier source est compilé avec le même compilateur, les mêmes bibliothèques, les mêmes commutateurs et tout le reste, mais l'en-tête et les autres métadonnées peuvent varier.