Provided by: manpages-ro_4.27.0-1_all bug

NUME

       nm - listează simbolurile din fișierele obiect

SINOPSIS

       nm [-A|-o|--print-file-name]
          [-a|--debug-syms]
          [-B|--format=bsd]
          [-C|--demangle[=stil]]
          [-D|--dynamic]
          [-fformat|--format=format]
          [-g|--extern-only]
          [-h|--help]
          [--ifunc-chars=CARACTERE]
          [-j|--format=just-symbols]
          [-l|--line-numbers] [--inlines]
          [-n|-v|--numeric-sort]
          [-P|--portability]
          [-p|--no-sort]
          [-r|--reverse-sort]
          [-S|--print-size]
          [-s|--print-armap]
          [-t bază|--radix=bază]
          [-u|--undefined-only]
          [-U|--defined-only]
          [-V|--version]
          [-W|--no-weak]
          [-X 32_64]
          [--no-demangle]
          [--no-recurse-limit|--recurse-limit]]
          [--plugin nume]
          [--size-sort]
          [--special-syms]
          [--synthetic]
          [--target=nume-bfd]
          [--unicode=metoda]
          [--with-symbol-versions]
          [--without-symbol-versions]
          [fișier-obiect...]

DESCRIERE

       GNU nm listează simbolurile din fișierele obiect fișier-obiect.... Dacă niciun fișier obiect nu este
       listat ca argument, nm presupune fișierul a.out.

       Pentru fiecare simbol, nm afișează:

       •   Valoarea  simbolului,  în  baza selectată prin opțiuni (a se vedea mai jos) sau în hexazecimal în mod
           implicit.

       •   Tipul de simbol. Se utilizează cel puțin următoarele tipuri; se pot utiliza și altele, în funcție  de
           formatul  fișierului  obiect.  Dacă este scris cu minuscule, simbolul este de obicei local; dacă este
           scris cu majuscule, simbolul este global (extern). Există totuși câteva simboluri minuscule care sunt
           afișate pentru simboluri globale speciale („u”, „v” și „w”).

           "A" Valoarea simbolului este absolută și nu va fi schimbată de o legătură ulterioară.

           "B"
           "b" Simbolul se află în secțiunea de date BSS. Această secțiune conține de obicei  date  inițializate
               zero sau neinițializate, deși comportamentul exact depinde de sistem.

           "C"
           "c" Simbolul  este  comun. Simbolurile comune sunt date neinițializate. La crearea unei legături, pot
               apărea mai multe simboluri comune cu același  nume.  În  cazul  în  care  simbolul  este  definit
               oriunde,  simbolurile  comune  sunt  tratate  ca referințe nedefinite. Caracterul minuscul c este
               utilizat atunci când simbolul se află într-o secțiune specială pentru comunele mici.

           "D"
           "d" Simbolul se află în secțiunea de date inițializate.

           "G"
           "g" Simbolul se află într-o secțiune de date inițializate  pentru  obiecte  mici.  Unele  formate  de
               fișiere  obiect  permit  un  acces  mai  eficient  la obiecte de date mici, cum ar fi o variabilă
               globală int, spre deosebire de o matrice globală mare.

           "i" În cazul fișierelor în format PE, acest lucru indică faptul că simbolul se află  într-o  secțiune
               specifică implementării DLL-urilor.

               În  cazul  fișierelor  în  format  ELF,  acest  lucru  indică  faptul  că simbolul este o funcție
               indirectă. Aceasta este o extensie GNU la setul standard  de  tipuri  de  simboluri  ELF.  Acesta
               indică  un  simbol care, dacă este menționat printr-o realocare, nu este evaluat la adresa sa, ci
               trebuie să fie invocat în timpul execuției. Executarea  în  timp  de  execuție  va  returna  apoi
               valoarea care va fi utilizată în realocare.

               Notă  -  afișarea  efectivă  a  simbolurilor  pentru simbolurile indirecte GNU este controlată de
               opțiunea de linie de comandă --ifunc-chars. Dacă această opțiune a fost furnizată, atunci  primul
               caracter  din  șirul de caractere va fi utilizat pentru simbolurile funcțiilor indirecte globale.
               Dacă șirul conține un al doilea caracter, acesta va fi  utilizat  pentru  simbolurile  funcțiilor
               indirecte locale.

           "I" Simbolul este o referință indirectă la un alt simbol.

           "N" Simbolul este un simbol de depanare.

           "n" Simbolul se află într-o secțiune de numai-citire fără date, fără cod și fără depanare.

           "p" Simbolul se află într-o secțiune de desfășurare a stivei.

           "R"
           "r" Simbolul se află într-o secțiune de date numai-pentru-citire.

           "S"
           "s" Simbolul  se  află într-o secțiune de date neinițializată sau cu inițializare zero pentru obiecte
               mici.

           "T"
           "t" Simbolul se află în secțiunea de text (cod).

           "U" Simbolul este nedefinit.

           "u" Simbolul este un simbol global unic. Aceasta este o extensie GNU la setul standard de legături de
               simboluri ELF. Pentru un astfel de simbol, editorul de legături dinamice  se  va  asigura  că  în
               întregul proces este utilizat un singur simbol cu acest nume și tip.

           "V"
           "v" Simbolul  este  un obiect slab. Atunci când un simbol slab definit este legat de un simbol normal
               definit, simbolul normal definit este utilizat fără nicio eroare.  Atunci  când  un  simbol  slab
               nedefinit este legat și simbolul nu este definit, valoarea simbolului slab devine zero fără nicio
               eroare. Pe unele sisteme, majusculele indică faptul că a fost specificată o valoare implicită.

           "W"
           "w" Simbolul  este  un  simbol  slab  care nu a fost etichetat în mod specific ca simbol obiect slab.
               Atunci când un simbol slab definit este legat  de  un  simbol  normal  definit,  simbolul  normal
               definit  este  utilizat  fără  nicio  eroare.  Atunci când un simbol slab nedefinit este legat și
               simbolul nu este definit, valoarea simbolului este determinată într-un mod  specific  sistemului,
               fără  erori.  Pe  unele  sisteme,  majusculele  indică  faptul  că  a  fost specificată o valoare
               implicită.

           "-" Simbolul este un simbol stabs într-un fișier obiect  a.out.  În  acest  caz,  următoarele  valori
               afișate  sunt  câmpul  stabs  other,  câmpul  stabs desc și tipul de stab. Simbolurile stabs sunt
               utilizate pentru a păstra informații de depanare.

           "?" Tipul de simbol este necunoscut sau specific formatului de fișier obiect.

       •   Numele simbolului. În cazul în care un simbol are asociate informații despre  versiune,  atunci  sunt
           afișate  și  informațiile  despre  versiune. În cazul în care simbolul cu versiune este nedefinit sau
           ascuns de editorul de legături, șirul de versiuni este afișat ca sufix la numele simbolului, precedat
           de un caracter @. De exemplu, foo@VER_1. În cazul în care versiunea  este  versiunea  implicită  care
           urmează să fie utilizată la rezolvarea trimiterilor la simbol fără versiune, aceasta este afișată sub
           forma unui sufix precedat de două caractere @. De exemplu, foo@@VER_2.

OPȚIUNI

       Forma lungă și forma scurtă a opțiunilor, prezentate aici ca alternative, sunt echivalente.

       -A
       -o
       --print-file-name
           Fiecare  simbol  este precedat de numele fișierului de intrare (sau al membrului de arhivă) în care a
           fost găsit, în loc de a identifica fișierul de intrare o singură dată, înaintea tuturor  simbolurilor
           sale.

       -a
       --debug-syms
           Afișează  toate simbolurile, chiar și simbolurile exclusiv pentru depanare; în mod normal, acestea nu
           sunt listate.

       -B  La fel ca --format=bsd (pentru compatibilitate cu MIPS nm).

       -C
       --demangle[=stil]
           Decodifică (demangle) numele simbolurilor de nivel scăzut în nume de nivel utilizator.  În  afară  de
           eliminarea  oricărei sublinieri inițiale preaplicate de sistem, acest lucru face ca numele funcțiilor
           C++ să fie mai ușor de citit. Compilatoare diferite au stiluri  diferite  de  codificare.  Argumentul
           opțional  „demangling  style  (stil  decodificare)”  poate  fi  utilizat  pentru  a  alege un stil de
           decodificare adecvat pentru compilatorul dumneavoastră.

       --no-demangle
           Nu decodifică numele simbolurilor de nivel scăzut. Aceasta este opțiunea implicită.

       --recurse-limit
       --no-recurse-limit
       --recursion-limit
       --no-recursion-limit
           Activează sau dezactivează limitarea numărului de recursivități  efectuate  în  timpul  decodificării
           șirurilor  de  caractere.  Deoarece  formatele  de  manipulare  a  numelor permit un nivel infinit de
           recursivitate, este posibil să se creeze șiruri a căror  decodificare  va  epuiza  spațiul  de  stivă
           disponibil pe calculatorul gazdă, declanșând o eroare de memorie. Limitarea încearcă să prevină acest
           lucru prin restricționarea recursivității la 2048 de niveluri de imbricare.

           În  mod  implicit,  această  limită  este  activată, dar poate fi necesar să fie dezactivată pentru a
           dezmembra nume cu adevărat  complicate.  Rețineți  totuși  că,  dacă  limita  de  recursivitate  este
           dezactivată,  este posibilă epuizarea stivei și orice raport de eroare privind un astfel de eveniment
           va fi respins.

       -D
       --dynamic
           Afișează simbolurile dinamice în loc de simbolurile normale.  Acest  lucru  este  semnificativ  numai
           pentru obiectele dinamice, cum ar fi anumite tipuri de biblioteci partajate.

       -f format
       --format=format
           Utilizează  formatul  de  ieșire  format,  care  poate  fi „bsd”, „sysv”, „posix” sau „just-symbols”.
           Valoarea implicită este „bsd”. Numai primul caracter din format este semnificativ;  acesta  poate  fi
           majusculă sau minusculă.

       -g
       --extern-only
           Afișează numai simboluri externe.

       -h
       --help
           Afișează un rezumat al opțiunilor pentru nm și iese.

       --ifunc-chars=CARACTERE
           La  afișarea simbolurilor funcțiilor indirecte GNU, nm va utiliza în mod implicit caracterul „i” atât
           pentru funcțiile indirecte locale, cât și pentru funcțiile indirecte globale. Opțiunea  --ifunc-chars
           permite  utilizatorului  să  specifice  un  șir de caractere care să conțină unul sau două caractere.
           Primul caracter va fi utilizat  pentru  simbolurile  funcțiilor  indirecte  globale,  iar  al  doilea
           caracter, dacă este prezent, va fi utilizat pentru simbolurile funcțiilor indirecte locale.

       j   La fel cas --format=just-symbols.

       -l
       --line-numbers
           Pentru  fiecare  simbol,  utilizează informațiile de depanare pentru a încerca să găsească un nume de
           fișier și un număr de linie. Pentru un simbol definit, caută numărul de linie al adresei  simbolului.
           Pentru  un  simbol  nedefinit,  caută numărul de linie al unei intrări de realocare care se referă la
           simbol. În cazul în care se pot găsi informații despre numărul de  linie,  acestea  se  imprimă  după
           celelalte informații despre simbol.

       --inlines
           Atunci când opțiunea -l este activă, dacă adresa aparține unei funcții care a fost expandată în linie
           „inlined”,  atunci această opțiune determină afișarea și a informațiilor sursă pentru toate domeniile
           de cuprindere până la prima funcție ne-expandată în linie  „non-inlined”.  De  exemplu,  dacă  „main”
           expandează  în  linie  „callee1”  care  expandează  în linie „callee2”, și adresa este din „callee2”,
           informațiile sursă pentru „callee1” și „main” vor fi deasemenea afișate.

       -n
       -v
       --numeric-sort
           Sortează simbolurile numeric în funcție de adresele lor, mai degrabă decât în ordine alfabetică  după
           nume.

       -p
       --no-sort
           Nu se deranjează să sorteze simbolurile în nicio ordine, ci le imprimă în ordinea întâlnită.

       -P
       --portability
           Utilizează formatul de ieșire standard POSIX.2 în locul formatului implicit. Echivalent cu -f posix.

       -r
       --reverse-sort
           Inversează ordinea de sortare (fie ea numerică sau alfabetică); lasă ultimul să fie primul.

       -S
       --print-size
           Imprimă  atât  valoarea,  cât  și  dimensiunea  simbolurilor  definite pentru stilul de ieșire „bsd”.
           Această opțiune nu are niciun efect pentru formatele de obiecte care  nu  înregistrează  dimensiunile
           simbolurilor,  cu  excepția  cazului  în care se utilizează și --size-sort, caz în care se afișează o
           dimensiune calculată.

       -s
       --print-armap
           La enumerarea simbolurilor din membrii arhivei, include indexul: o cartografiere (stocată  în  arhivă
           prin ar sau ranlib) a modulelor care conțin definiții pentru care nume.

       -t bază
       --radix=bază
           Utilizează  bază  ca  bază  pentru imprimarea valorilor simbolurilor. Aceasta trebuie să fie d pentru
           zecimal, o pentru octal sau x pentru hexazecimal.

       -u
       --undefined-only
           Afișează numai simbolurile nedefinite (cele externe fiecărui fișier obiect). În  mod  implicit,  sunt
           afișate atât simbolurile definite, cât și cele nedefinite.

       -U
       --defined-only
           Afișează  numai simbolurile definite pentru fiecare fișier obiect. În mod implicit, sunt afișate atât
           simbolurile definite, cât și cele nedefinite.

       -V
       --version
           Afișează numărul versiunii de nm și iese.

       -X  Această opțiune este ignorată pentru compatibilitate cu  versiunea  AIX  a  nm.  Aceasta  acceptă  un
           parametru  care  trebuie  să fie șirul 32_64. Modul implicit al AIX nm corespunde -X 32, care nu este
           acceptat de GNU nm.

       --plugin nume
           Încarcă modulul numit nume pentru a adăuga suport pentru alte tipuri de ținte. Această  opțiune  este
           disponibilă numai dacă setul de instrumente a fost construit cu suportul pentru module activat.

           Dacă  opțiunea  --plugin  nu  este  furnizată,  dar  suportul pentru module a fost activat, atunci nm
           parcurge fișierele din ${libdir}/bfd-plugins în ordine alfabetică și se utilizează  primul  modul  de
           extensie care revendică obiectul în cauză.

           Vă rugăm să rețineți că acest director de căutare de module nu este cel folosit de opțiunea -plugin a
           ld.  Pentru  ca  nm  să utilizeze modulul editorului de legături, acesta trebuie copiat în directorul
           ${libdir}/bfd-plugins. Pentru compilațiile bazate pe GCC, modulul editorului de legături  se  numește
           liblto_plugin.so.0.0.0.0. Pentru compilațiile bazate pe Clang, acesta se numește LLVMgold.so. Modulul
           GCC  este  întotdeauna compatibil cu versiunile anterioare, astfel încât este suficient să se copieze
           doar cel mai nou.

       --size-sort
           Sortează simbolurile în funcție de dimensiune. Pentru obiectele ELF, dimensiunile  simbolurilor  sunt
           citite  din  ELF,  iar  pentru  alte  tipuri  de obiecte, dimensiunile simbolurilor sunt calculate ca
           diferență între valoarea simbolului și valoarea simbolului cu valoarea imediat superioară.  În  cazul
           în  care  se  utilizează formatul de ieșire „bsd”, se imprimă dimensiunea simbolului, și nu valoarea,
           iar -S trebuie să fie utilizată pentru ca atât dimensiunea, cât și valoarea să fie imprimate.

           Notă - această opțiune nu funcționează dacă --undefined-only a fost  activată,  deoarece  simbolurile
           nedefinite nu au dimensiune.

       --special-syms
           Afișează  simbolurile  care  au o semnificație specială specifică pentru țintă. Aceste simboluri sunt
           utilizate de obicei de către țintă pentru anumite prelucrări speciale și,  în  mod  normal,  nu  sunt
           utile  atunci  când  sunt  incluse  în  listele normale de simboluri. De exemplu, pentru țintele ARM,
           această opțiune ar omite simbolurile de cartografiere utilizate  pentru  a  marca  tranzițiile  între
           codul ARM, codul THUMB și date.

       --synthetic
           Include  simbolurile  sintetice în rezultat. Acestea sunt simboluri speciale create de către editorul
           de legături în diverse scopuri. Ele nu sunt afișate în mod implicit, deoarece nu fac parte din  codul
           sursă original al binarului.

       --unicode=[default|invalid|locale|escape|hex|highlight]
           Controlează  afișarea  caracterelor  multi-octet  codificate  UTF-8  în  șiruri  de caractere. În mod
           implicit  (--unicode=default),  acestea  nu   beneficiază   de   un   tratament   special.   Opțiunea
           --unicode=locale  afișează  secvența  în  limba  locală  curentă,  care  poate  să le suporte sau nu.
           Opțiunile  --unicode=hex  și  --unicode=invalid  le  afișează  sub  formă  de  secvențe   de   octeți
           hexazecimali, încadrate fie de paranteze unghiulare, fie de paranteze drepte.

           Opțiunea   --unicode=escape   le   afișează   ca   secvențe   de   eludare   (\uxxxx),  iar  opțiunea
           --unicode=highlight le afișează ca secvențe de eludare evidențiate cu roșu (dacă  sunt  acceptate  de
           dispozitivul  de ieșire). Culoarea are rolul de a atrage atenția asupra prezenței secvențelor unicode
           acolo unde nu ar fi de așteptat.

       -W
       --no-weak
           Nu afișează simboluri slabe.

       --with-symbol-versions
       --without-symbol-versions
           Activează sau dezactivează afișarea informațiilor privind versiunea  simbolului.  Șirul  de  versiuni
           este afișat ca sufix la numele simbolului, precedat de un caracter @. De exemplu, foo@VER_1. În cazul
           în  care  versiunea este versiunea implicită care urmează să fie utilizată la rezolvarea trimiterilor
           la simbol fără versiune, aceasta este afișată sub forma unui sufix precedat de două caractere  @.  De
           exemplu, foo@@VER_2. În mod implicit, se afișează informațiile privind versiunea simbolului.

       --target=nume-bfd
           Specifică un alt format de cod obiect decât formatul implicit al sistemului dumneavoastră.

       @fișier
           Citește  opțiunile  liniei  de  comandă  din fișier. Opțiunile citite sunt inserate în locul opțiunii
           originale @fișier. Dacă fișier nu există sau nu poate fi citit, atunci opțiunea va fi tratată literal
           și nu va fi eliminată.

           Opțiunile din fișier sunt separate prin spații albe. Un caracter de spațiere poate fi  inclus  într-o
           opțiune prin includerea întregii opțiuni între ghilimele simple sau duble. Orice caracter (inclusiv o
           bară  oblică  inversă)  poate  fi inclus prin prefixarea caracterului care urmează să fie inclus cu o
           bară oblică inversă. fișier poate conține la rândul său opțiuni @fișier suplimentare; orice astfel de
           opțiuni vor fi procesate în mod recursiv.

CONSULTAȚI ȘI

       ar(1), objdump(1), ranlib(1), și intrările Info pentru binutils.

DREPTURI DE AUTOR

       Drepturi de autor © 1991-2025 Free Software Foundation, Inc.

       Se acordă permisiunea de a copia, distribui și/sau modifica acest document în  conformitate  cu  termenii
       Licenței  GNU  Free Documentation, versiunea 1.3 sau orice versiune ulterioară publicată de Free Software
       Foundation; fără secțiuni invariante, fără texte de copertă și fără texte de contra copertă.  O  copie  a
       licenței este inclusă în secțiunea intitulată „GNU Free Documentation License”.

TRADUCERE

       Traducerea    în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel   Chelu
       <remusgabriel.chelu@disroot.org>

       Această traducere este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3  sau  o
       versiune   ulterioară   cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se  asumă  NICIO
       RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui manual, vă rugăm să  trimiteți  un  e-mail  la  translation-team-
       ro@lists.sourceforge.net.

binutils-2.44                                     3 martie 2025                                            NM(1)