PR_SET_FP_MODE(2const) PR_SET_FP_MODE(2const) BEZEICHNUNG PR_SET_FP_MODE - Setzt den Fliesskommamodus des aufrufenden Prozesses BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include /* Definition der PR_*-Konstanten */ #include int prctl(PR_SET_FP_MODE, unsigned long Modus); BESCHREIBUNG Auf der MIPS-Architektur kann der Anwendungsraum-Code mittels einer ABI gebaut werden, die das Linken mit Code erlaubt, der strengere Anforderungen an die Fliesskommazahlen (FP) hat. Beispielsweise kann Anwendungsraum-Code mit Ziel der O32-FPXX-ABI gebaut und mit Code gelinkt werden, der fur eine der restriktiveren FP32- oder FP64-ABIs gebaut wurde. Wird der restriktivere Code gelinkt, gilt fur den Prozess insgesamt der restriktivere Fliesskommazahlmodus. Da der Kernel nicht im voraus wissen kann, in welchem Modus der Prozess ausgefuhrt werden soll und da sich diese Anforderungen wahrend der Lebensdauer des Prozesses andern konnen, wird die Aktion PR_SET_FP_MODE bereitgestellt, um die Steuerung des Fliesskommamodus vom Anwendungsraum zu erlauben. Das Argument Modus ist eine Bitmaske, die den verwandten Fliesskommamodus beschreibt: PR_FP_MODE_FR Wenn dieses Bit nicht gesetzt ist (der sogenannte Modus FR=0 oder FR0), sind die 32 Fliesskommaregister 32 bit weit und 64-bit-Register werden als Paar von Registern dargestellt (gerade und ungerade nummeriert, wobei das gerade nummerierte Register die niedrigeren 32 bit enthalt und das ungerade nummerierte Register die hoheren 32 bit enthalt). Wenn dieses Bit gesetzt ist (auf unterstutzter Hardware), sind die 32 Fliesskommaregister 64 bit weit (der sogenannte Modus FR=1 oder FR1). Beachten Sie, dass moderne MIPS-Implementierungen (MIPS R6 und neuer) nur den Modus FR=1 unterstutzen. Anwendungen, die die O32-FP32-ABI verwenden, konnen nur betrieben werden, wenn dieses Bit nicht gesetzt ist (FR=0; oder sie konnen wie unten beschrieben mit aktiviertem FRE verwandt werden). Anwendungen, die die O32-FP64-ABI (oder die O32-FP64A-ABI, die existiert, damit mit bestehendem FP32-Code Ausfuhrungen moglich sind, wie unten beschrieben) verwenden, konnen nur ausgefuhrt werden, wenn dieses Bit gesetzt (FR=1) ist. Anwendungen, die die O32-FPXX-ABI verwenden, konnen sowohl mit FR=0 als auch mit FR=1 betrieben werden. PR_FP_MODE_FRE Aktiviert die Emulation des 32-bit-Fliesskommazahlmodus. Wenn dieser Modus aktiviert wird, emuliert er 32-bit-Fliesskommazahloperationen, indem eine reservierte Ausnahmebehandlungsanweisung bei jeder Anweisung ausgelost wird, die 32-bit-Formate verwendet und der Kernel handhabt die Anweisung in Software. (Das Problem liegt in der Diskrepanz der Handhabung der ungerade nummerierten Register, die die hohen 32 bit der 64-bit-Register mit geraden Zahlen im Modus FR=0 und den niedrigen 32-bit-Anteilen der ungerade nummerierten 64-bit-Register im Modus FR=1 sind.) Die Aktivierung dieses Bits ist notwendig, wenn Code mit der O32-FP32-ABI zusammen mit Code betrieben werden soll, der mit der O32-FPXX- oder der O32-FP64A-ABI kompatibel ist (die den FPU-Modus FR=1 benotigen) oder wenn er auf neuerer Hardware (ab MIPS R6) ausgefuhrt werden soll, bei der die Unterstutzung fur den Modus FR=0 fehlt, wenn ein Programm mit der FP32-ABI verwandt wird. Beachten Sie, dass dieser Modus nur sinnvoll ist, wenn sich die FPU im 64-bit-Modus (FR=1) befindet. Beachten Sie, dass die Verwendung der Emulation einen merklichen Leistungseinbruch erzeugt und wenn moglich vermieden werden sollte. Im ABI N32/N64 wird der 64-bit-Fliesskommazahlmodus immer verwandt, so dass die FPU-Emulation nicht notwendig ist und die FPU immer im Modus FR=1 betrieben wird. Diese Aktion ist hauptsachlich fur die Verwendung durch den dynamischen Linker (ld.so(8)) gedacht. RUCKGABEWERT Bei Erfolg wird 0 zuruckgegeben. Bei einem Fehler wird -1 zuruckgegeben und errno gesetzt, um den Fehler anzuzeigen. FEHLER EOPNOTSUPP Modus hat einen ungultigen oder nicht unterstutzten Wert. STANDARDS Linux. Nur MIPS. GESCHICHTE Linux 4.0 (MIPS). SIEHE AUCH prctl(2), PR_GET_FP_MODE(2const) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer: . Linux man-pages 6.17 8. Februar 2026 PR_SET_FP_MODE(2const)