![]() |
AW: Warum ergibt zwei mal kompileren keine identischen .exe-Dateien?
Schaut euch doch mal die Screenshots an, statt zu spekulieren :)
Es geht nicht um den Timestamp im PE-Header (und selbst der war jahrelang statisch). Auch ASLR ist Betriebssystemsache und keine Aufgabe des Compilers. Und unterschiedliche Teile, die zuerst in der .exe landen, passen da genau so wenig zu. Parallelisierung müsste mehrere Threads für einzelne Methoden bedeuten, was ich mir nicht als effektiv vorstellen kann. Es geht scheinbar in allen Fällen (in den Screenshots) um lediglich vier Byte, und zwischendurch pendeln die auch wieder zurück. Zugegeben verwirrt Günther da mit "Sie sind völlig unterschiedlich" selber, denn "völlig" ist das wahrlich nicht ;) Ne Antwort habe ich auch nicht, da mein letztes Delphi XE (ja, noch ohne Zahl) war. Ist doch aber nicht soo schwer... zwei unterschiedliche Dateien nehmen, und zwei Funktionen am Wechsel zwischen Gleichlauf und Versatz disassemblieren und vergleichen, inwieweit die identisch sind, ob da ggfls. ein nop-Padding dazwischen ist... dann hätte der Compiler einfach Probleme mit dem Alignment. |
AW: Warum ergibt zwei mal kompileren keine identischen .exe-Dateien?
Zitat:
Seit wann ist die Optimierung ein - salopp forumuliert - Glücksspiel? Hat der Kunde nicht das Recht auf stete vollumfängliche Optimierung gemäß den eingestellten Optionen? Wenigstens ein Compiler sollte verläßlich, genaugenommen determiniert arbeiten. Ansonsten muß man sich über die Ablehnung solcher Compilate für sicherheitskritische Bereiche nicht wundern. |
AW: Warum ergibt zwei mal kompileren keine identischen .exe-Dateien?
Äh, seit Ihr Euch sicher, dass der Compiler das Problem verursacht und nicht der Linker?
|
AW: Warum ergibt zwei mal kompileren keine identischen .exe-Dateien?
Zitat:
Zitat:
@Günther: Compilierst du eventuell auf einer Maschine mit Skylake CPU? Hier wurde ja ein CPU-Bug gefunden, der scheinbar speziell durch Compiler oft ausgelöst wird: ![]() |
AW: Warum ergibt zwei mal kompileren keine identischen .exe-Dateien?
Das beschrieben Verhalten habe ich bisher auf allen Maschinen und mit allen Delphis (Delphi 6..Delphi 10.1) beobachtet.
|
AW: Warum ergibt zwei mal kompileren keine identischen .exe-Dateien?
Zitat:
wenn sich LLVM (MSBuild) auch noch dazwischen hängt. |
AW: Warum ergibt zwei mal kompileren keine identischen .exe-Dateien?
War da nicht neulich ein Bug im 64-Bit Compiler bei dem IdeFixPack. Wo kein deterministischer Code erzeugt wurde ?
|
AW: Warum ergibt zwei mal kompileren keine identischen .exe-Dateien?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz