Ich möchte wissen, ob Binärdateien spezielle Befehlssätze wie SSE 4.1 / 4.2, AVX, F16C verwenden (für diese kompiliert wurden) oder nicht. Wie kann ich herausfinden, ob eine Binärdatei in einem Paket bestimmte Befehlssätze verwendet?
Ich weiß, dass ich solche Anweisungen mithilfe von configure
Schaltern aktivieren kann, wenn ich Pakete von Hand kompiliere, aber wenn ich vorkompilierte Pakete aus dem Debian-Repository verwende, muss es einen Standard geben.
Wahrscheinlich werden Binärdateien nicht mit zu spezifischen Befehlssätzen kompiliert, da sie auf keinem System verwendet werden können, oder sie werden je nach Binärdatei mit alternativen Unterroutinen kompiliert, die die Verarbeitung mit grundlegenden Anweisungen "emulieren", um CPUs zu unterstützen, denen solche Funktionen fehlen.
Ich weiß, dass ich in die rules
Datei eines Debian-Quellpakets schauen könnte, aber ich bin interessiert, ob es einen einfacheren Weg gibt, dies zu tun.
- Sind die CPU-Anweisungen, die eine x86-64-Binärdatei verwendet, sehr begrenzt?
- Dürfen Pakete ganz bestimmte Befehlssätze verwenden, können sie Fallbacks mit primitiveren Befehlen haben?