.\" -*- coding: UTF-8 -*- .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH PR_SET_FP_MODE 2const "17 mai 2025" "Pagini de manual de Linux 6.15" .SH NUME PR_SET_FP_MODE \- stabilește modul în virgulă mobilă al procesului apelant .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP /* Definirea constantelor \fBPR_*\fP */ \fB#include \fP .P \fBint prctl(PR_SET_FP_MODE, unsigned long \fP\fImode\fP\fB);\fP .fi .SH DESCRIERE Pe arhitectura MIPS, codul din spațiul utilizatorului poate fi creat utilizând o ABI care permite legarea cu un cod care are cerințe mai restrictive privind punctul flotant (FP). De exemplu, codul din spațiul utilizatorului poate fi construit pentru a viza O32 FPXX ABI și legat cu codul construit pentru unul dintre ABI\-urile FP32 sau FP64 mai restrictive. Atunci când codul mai restrictiv este conectat, cerința generală pentru proces este de a utiliza modul în virgulă mobilă mai restrictiv. .P Deoarece nucleul nu are cum să știe dinainte în ce mod ar trebui să fie executat procesul și deoarece aceste restricții se pot schimba pe durata de viață a procesului, operația \fBPR_SET_FP_MODE\fP este prevăzută pentru a permite controlul modului în virgulă mobilă din spațiul utilizatorului. .P .\" https://dmz-portal.mips.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking Argumentul \fImode\fP este o mască de biți care descrie modul în virgulă mobilă utilizat: .TP \fBPR_FP_MODE_FR\fP Când acest bit este \fIunset \- dezactivat\fP (așa\-numitul mod \fBFR=0\fP sau \fBFR0\fP), cele 32 de registre în virgulă mobilă au o lățime de 32 de biți, iar registrele pe 64 de biți sunt reprezentate ca o pereche de registre (cu numere pare și impare, registrul cu număr par conținând cei 32 de biți inferiori, iar registrul cu număr impar conținând cei 32 de biți superiori). .IP Când acest bit este \fIset \- activat\fP (pe hardware acceptat), cele 32 de registre în virgulă mobilă au lățimea de 64 de biți (așa\-numitul mod \fBFR=1\fP sau \fBFR1\fP). Rețineți că implementările MIPS moderne (MIPS R6 și mai noi) acceptă numai modul \fBFR=1\fP. .IP Aplicațiile care utilizează O32 FP32 ABI pot funcționa numai atunci când acest bit este \fIunset\fP (\fBFR=0\fP; sau pot fi utilizate cu FRE activat, a se vedea mai jos). Aplicațiile care utilizează ABI O32 FP64 (și ABI O32 FP64A, care există pentru a oferi posibilitatea de a opera cu codul FP32 existent; a se vedea mai jos) pot funcționa numai atunci când acest bit este \fIset\fP (\fBFR=1\fP). Aplicațiile care utilizează O32 FPXX ABI pot funcționa fie cu \fBFR=0\fP, fie cu \fBFR=1\fP. .TP \fBPR_FP_MODE_FRE\fP Activează emulația modului de virgulă mobilă pe 32 de biți. Atunci când acest mod este activat, el emulează operațiile în virgulă mobilă pe 32 de biți prin ridicarea unei excepții de instrucțiune rezervată la fiecare instrucțiune care utilizează formate pe 32 de biți, iar nucleul gestionează apoi instrucțiunea în mod software. (Problema constă în discrepanța de gestionare a registrelor cu numere impare, care sunt cei 32 de biți superiori ai registrelor pe 64 de biți cu numere pare în modul \fBFR=0\fP și părțile inferioare pe 32 de biți ale registrelor pe 64 de biți cu numere impare în modul \fBFR=1\fP). Activarea acestui bit este necesară atunci când codul cu ABI O32 FP32 trebuie să funcționeze cu un cod compatibil cu ABI O32 FPXX sau O32 FP64A (care necesită modul FPU \fBFR=1\fP) sau atunci când este executat pe un hardware mai nou (MIPS R6 și mai departe) care nu suportă modul \fBFR=0\fP atunci când este utilizat un binar cu ABI FP32. .IP Rețineți că acest mod are sens numai atunci când FPU este în modul pe 64 de biți (\fBFR=1\fP). .IP Rețineți că utilizarea emulației are în mod inerent un impact semnificativ asupra performanței și ar trebui evitată dacă este posibil. .P În ABI N32/N64, modul virgulă mobilă pe 64 de biți este utilizat întotdeauna, astfel încât emulația FPU nu este necesară, iar FPU funcționează întotdeauna în modul \fBFR=1\fP. .P Această operație este destinată în principal utilizării de către editorul de legături dinamice (\fBld.so\fP(8)). .SH "VALOAREA RETURNATĂ" În caz de succes, se returnează 0. În caz de eroare, se returnează \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEOPNOTSUPP\fP \fImode\fP are o valoare nevalidă sau neacceptată. .SH STANDARDE Linux. Doar MIPS. .SH ISTORIC .\" commit 9791554b45a2acc28247f66a5fd5bbc212a6b8c8 Linux 4.0 (MIPS). .SH "CONSULTAȚI ȘI" \fBprctl\fP(2), \fBPR_GET_FP_MODE\fP(2const) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .