READELF(1) Instrumente pentru dezvoltare(programare) GNU READELF(1) NUME readelf - afieaza informaii despre fiierele ELF SINOPSIS readelf [-a|--all] [-h|--file-header] [-l|--program-headers|--segments] [-S|--section-headers|--sections] [-g|--section-groups] [-t|--section-details] [-e|--headers] [-s|--syms|--symbols] [--dyn-syms|--lto-syms] [--sym-base=[0|8|10|16]] [--demangle=stil|--no-demangle] [--quiet] [--recurse-limit|--no-recurse-limit] [-U metoda|--unicode=metoda] [-X|--extra-sym-info|--no-extra-sym-info] [-n|--notes] [-r|--relocs] [-u|--unwind] [-d|--dynamic] [-V|--version-info] [-A|--arch-specific] [-D|--use-dynamic] [-L|--lint|--enable-checks] [-x |--hex-dump=] [-p |--string-dump=] [-R |--relocated-dump=] [-j |--display-section=] [-z|--decompress] [-c|--archive-index] [-w[lLiaprmfFsoORtUuTgAck]| --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [-wK|--debug-dump=follow-links] [-wN|--debug-dump=no-follow-links] [-wD|--debug-dump=use-debuginfod] [-wE|--debug-dump=do-not-use-debuginfod] [-P|--process-links] [--dwarf-depth=n] [--dwarf-start=n] [--ctf=seciunea] [--ctf-parent=seciunea] [--ctf-symbols=seciunea] [--ctf-strings=seciunea] [--sframe=seciunea] [-I|--histogram] [--got-contents] [-v|--version] [-W|--wide] [-T|--silent-truncation] [-H|--help] fiier-elf... DESCRIERE readelf afieaza informaii despre unul sau mai multe fiiere obiect in format ELF. Opiunile controleaza ce informaii anume trebuie afiate. fiier-elf... sunt fiierele obiect care urmeaza sa fie examinate. Sunt acceptate fiierele ELF pe 32 i 64 de bii, precum i arhivele care conin fiiere ELF. Acest program indeplinete o funcie similara cu objdump, dar intra in mai multe detalii i exista independent de biblioteca BFD, astfel incat, daca exista o eroare in BFD, atunci readelf nu va fi afectat. OPIUNI Formele lunga i scurta ale opiunilor, prezentate aici ca alternative, sunt echivalente. Cel puin o opiune in afara de -v sau -H trebuie sa fie data. -a --all Echivaleaza cu specificarea --file-header, --program-headers, --sections, --symbols, --relocs, --dynamic, --notes, --got-contents, --version-info, --arch-specific, --unwind, --section-groups i --histogram. Nota - aceasta opiune nu activeaza --use-dynamic in sine, astfel incat, daca aceasta opiune nu este prezenta in linia de comanda, simbolurile dinamice i realocarile dinamice nu vor fi afiate. -h --file-header Afieaza informaiile coninute in antetul ELF de la inceputul fiierului. -l --program-headers --segments Afieaza informaiile coninute in anteturile de segment ale fiierului, in cazul in care exista. --quiet Suprima diagnosticarea ,,fara simboluri". -S --sections --section-headers Afieaza informaiile coninute in anteturile de seciune ale fiierului, in cazul in care exista. -g --section-groups Afieaza informaiile coninute in grupurile de seciuni ale fiierului, in cazul in care acestea exista. -t --section-details Afieaza informaiile detaliate ale seciunii. Implica -S. -s --symbols --syms Afieaza intrarile din seciunea tabel de simboluri a fiierului, daca acesta are una. In cazul in care un simbol are asociate informaii despre versiune, acestea sunt, de asemenea, afiate. irul versiunii este afiat ca sufix la numele simbolului, precedat de un caracter @. De exemplu, foo@VER_1. In cazul in care versiunea este versiunea implicita care urmeaza sa fie utilizata la rezolvarea trimiterilor la simbol fara versiune, aceasta este afiata sub forma unui sufix precedat de doua caractere @. De exemplu, foo@@VER_2. --dyn-syms Afieaza intrarile din seciunea tabelului de simboluri dinamice a fiierului, in cazul in care acesta are una. Formatul de ieire este acelai cu cel utilizat de opiunea --syms. --lto-syms Afieaza coninutul tuturor tabelelor de simboluri LTO din fiier. --sym-base=[0|8|10|16] Foreaza campul de dimensiune al tabelului de simboluri sa utilizeze baza data. Orice opiune nerecunoscuta va fi tratata ca 0. --sym-base=0 reprezinta comportamentul implicit i tradiional. Aceasta opiune va afia dimensiunile sub forma zecimala pentru numere mai mici de 100000. Pentru dimensiuni mai mari de 100000 se va utiliza notaia hexazecimala cu prefixul 0x. --sym-base=8 va da dimensiunile simbolurilor in octal. --sym-base=10 va indica intotdeauna dimensiunile simbolurilor in zecimal. --sym-base=16 va indica intotdeauna dimensiunile simbolurilor in hexazecimal cu prefixul 0x. -C --demangle[=stil] Decodifica (demangle) numele simbolurilor de nivel scazut in nume de nivel utilizator. Acest lucru face ca numele funciilor C++ sa poata fi citite. Compilatoare diferite au stiluri diferite de a codifica (mangling). Argumentul opional stil decodificare,,demangling style" poate fi utilizat pentru a alege un stil de decodificare adecvat pentru compilatorul dumneavoastra. --no-demangle Nu decodifica numele simbolurilor de nivel scazut. Aceasta este opiunea implicita. --recurse-limit --no-recurse-limit --recursion-limit --no-recursion-limit Activeaza sau dezactiveaza limitarea numarului de recursivitai efectuate in timpul decodificarii irurilor de caractere. Deoarece formatele de manipulare a numelor permit un nivel infinit de recursivitate, este posibil sa se creeze iruri a caror decodificare va epuiza spaiul de stiva disponibil pe calculatorul gazda, declanand o eroare de memorie. Limitarea incearca sa previna acest lucru prin restricionarea recursivitaii la 2048 de niveluri de imbricare. In mod implicit, aceasta limita este activata, dar poate fi necesar sa fie dezactivata pentru a dezmembra nume cu adevarat complicate. Reinei totui ca, daca limita de recursivitate este dezactivata, este posibila epuizarea stivei i orice raport de eroare privind un astfel de eveniment va fi respins. -U [d|i|l|e|x|h] --unicode=[default|invalid|locale|escape|hex|highlight] Controleaza afiarea caracterelor non-ASCII in numele identificatorilor. In mod implicit (--unicode=locale sau --unicode=default), acestea sunt tratate ca fiind caractere multi-octet i sunt afiate in limba locala curenta. Toate celelalte versiuni ale acestei opiuni trateaza octeii ca valori codificate UTF-8 i incearca sa le interpreteze. Daca nu pot fi interpretate sau daca se utilizeaza opiunea --unicode=invalid, atunci acestea sunt afiate ca o secvena de octei hexazecimali, inglobate intre caractere acolade. Utilizarea opiunii --unicode=escape va afia caracterele sub forma unor secvene de evadare unicode (\uxxxx). Utilizarea opiunii --unicode=hex va afia caracterele sub forma de secvene de octei hexazecimali, cuprinse intre paranteze drepte. Utilizarea opiunii --unicode=highlight va afia caracterele ca secvene de eludare unicode, dar le va evidenia i cu rou, presupunand ca dispozitivul de ieire accepta colorarea. Colorarea are rolul de a atrage atenia asupra prezenei secvenelor unicode atunci cand nu ar fi de ateptat. -X --extra-sym-info La afiarea detaliilor simbolurilor, include informaii suplimentare care nu sunt prezentate in mod normal. In prezent, se adauga doar numele seciunii la care face referire campul index al simbolului, daca exista unul. In viitor, este posibil ca, atunci cand aceasta opiune este activata, sa fie afiate mai multe informaii. Activarea acestei opiuni activeaza efectiv i opiunea --wide, cel puin atunci cand se afieaza informaii despre simboluri. --no-extra-sym-info Dezactiveaza efectul opiunii --extra-sym-info. Aceasta este opiunea implicita. -e --headers Afieaza toate anteturile din fiier. Echivalent cu -h -l -S. -n --notes Afieaza coninutul segmentelor i/sau seciunilor NOTE, daca exista. -r --relocs Afieaza coninutul seciunii de realocare a fiierului, daca are una. -u --unwind Afieaza coninutul seciunii de desfaurare a fiierului, daca are una. In prezent sunt acceptate numai seciunile de desfaurare pentru fiierele IA64 ELF, precum i tabelele de desfaurare ARM (".ARM.exidx" / ".ARM.extab")). Daca suportul nu este inca implementat pentru arhitectura dumneavoastra, putei incerca sa extragei coninutul seciunii .eh_frames folosind opiunile --debug-dump=frames sau --debug-dump=frames-interp. -d --dynamic Afieaza coninutul seciunii dinamice a fiierului, in cazul in care acesta are una. -V --version-info Afieaza coninutul seciunilor de versiune din fiier, daca acestea exista. -A --arch-specific Afieaza informaiile specifice arhitecturii din fiier, in cazul in care exista. -D --use-dynamic La afiarea simbolurilor, aceasta opiune face ca readelf sa utilizeze tabelele sumelor-de-control ale simbolurilor din seciunea dinamica a fiierului, mai degraba decat seciunile tabelelor de simboluri. La afiarea realocarilor, aceasta opiune face ca readelf sa afieze mai degraba realocarile dinamice decat cele statice. -L --lint --enable-checks Afieaza mesaje de avertizare cu privire la posibilele probleme ale fiierului (fiierelor) examinat(e). Daca este utilizata singura, se va examina intregul coninut al fiierului (fiierelor). Daca se utilizeaza impreuna cu una dintre opiunile de extragere a datelor, atunci mesajele de avertizare vor fi produse numai pentru elementele afiate. -x --hex-dump= Afieaza coninutul seciunii indicate sub forma de octei hexazecimali. Un numar identifica o anumita seciune in funcie de indicele din tabelul de seciuni; orice alt ir de caractere identifica toate seciunile cu numele respectiv din fiierul obiect. Aceasta opiune poate fi repetata de mai multe ori in linia de comanda pentru a solicita mai multe extrageri hexazecimale. -R --relocated-dump= Afieaza coninutul seciunii indicate sub forma de octei hexazecimali. Un numar identifica o anumita seciune in funcie de indicele din tabelul de seciuni; orice alt ir de caractere identifica toate seciunile cu numele respectiv din fiierul obiect. Coninutul seciunii va fi realocat inainte de a fi afiat. Aceasta opiune poate fi repetata de mai multe ori in linia de comanda pentru a solicita mai multe extrageri hexazecimale. -p --string-dump= Afieaza coninutul seciunii indicate ca iruri de caractere imprimabile. Un numar identifica o anumita seciune in funcie de indicele din tabelul de seciuni; orice alt ir de caractere identifica toate seciunile cu numele respectiv din fiierul obiect. Aceasta opiune poate fi repetata de mai multe ori in linia de comanda pentru a solicita mai multe extrageri hexazecimale. -j --display-section Afieaza coninutul seciunii indicate in funcie de tipul de antet al seciunii. Seciunile care conin realocari vor fi afiate ca i cum ar fi fost utilizata opiunea --relocations, seciunile care conin simboluri vor fi afiate ca i cum ar fi fost utilizata opiunea --syms i aa mai departe. Un numar identifica o anumita seciune in funcie de indicele din tabelul de seciuni; orice alt ir de caractere identifica toate seciunile cu numele respectiv din fiierele de intrare. Aceasta opiune poate fi repetata de mai multe ori in linia de comanda pentru a solicita mai multe extrageri de seciuni. -z --decompress Solicita ca seciunile care sunt extrase prin opiunile x, R sau p sa fie decomprimate inainte de a fi afiate. In cazul in care seciunile nu sunt comprimate, acestea sunt afiate ca atare. -c --archive-index Afieaza informaiile privind indexul simbolului de fiier coninute in partea de antet a arhivelor binare. Realizeaza aceeai funcie ca i comanda t la ar, dar fara a utiliza biblioteca BFD. -w[lLiaprmfFsOoRtUuTgAckK] --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links] Afieaza coninutul seciunilor de depanare DWARF din fiier, daca sunt prezente. Seciunile de depanare comprimate sunt decomprimate automat (temporar) inainte de a fi afiate. Daca una sau mai multe litere sau cuvinte opionale urmeaza dupa opiune, atunci vor fi descarcate numai acele tipuri de date. Literele i cuvintele se refera la urmatoarele informaii: "a" "=abbrev" Afieaza coninutul seciunii .debug_abbrev. "A" "=addr" Afieaza coninutul seciunii .debug_addr. "c" "=cu_index" Afieaza coninutul seciunilor .debug_cu_index i/sau .debug_tu_index. "f" "=frames" Afieaza coninutul brut al unei seciuni .debug_frame. "F" "=frames-interp" Afieaza coninutul interpretat al unei seciuni .debug_frame. "g" "=gdb_index" Afieaza coninutul seciunilor .gdb_index i/sau .debug_names. "i" "=info" Afieaza coninutul seciunii .debug_info. Nota: ieirea rezultata din aceasta opiune poate fi, de asemenea, restricionata prin utilizarea opiunilor --dwarf-depth i --dwarf-start. "k" "=links" Afieaza coninutul seciunilor .gnu_debuglink, .gnu_debugaltlink i .debug_sup, in cazul in care oricare dintre ele este prezenta. Afieaza, de asemenea, toate legaturile catre fiiere de obiecte dwarf separate (dwo), daca acestea sunt specificate prin atributele DW_AT_GNU_dwo_name sau DW_AT_dwo_name din seciunea .debug_info. "K" "=follow-links" Afieaza coninutul tuturor seciunilor de depanare selectate care se gasesc in fiiere de informaii de depanare separate i legate. Acest lucru poate avea ca rezultat afiarea mai multor versiuni ale aceleiai seciuni de depanare, daca aceasta exista in mai multe fiiere. In plus, atunci cand se afieaza atributele DWARF, in cazul in care se gasete un formular care face trimitere la un fiier de informaii de depanare separat, atunci va fi afiat i coninutul la care se face referire. Nota - in unele distribuii, aceasta opiune este activata in mod implicit. Ea poate fi dezactivata prin intermediul opiunii de depanare N. Valoarea implicita poate fi aleasa la configurarea binutils prin intermediul opiunilor --enable-follow-debug-links=yes sau --enable-follow-debug-links=no. Daca acestea nu sunt utilizate, atunci opiunea implicita este de a activa urmarirea legaturilor de depanare. Nota - daca suportul pentru protocolul debuginfod a fost activat atunci cand binutils a fost construit, atunci aceasta opiune va include, de asemenea, o incercare de a contacta orice server debuginfod menionat in variabila de mediu DEBUGINFOD_URLS. Rezolvarea acestei probleme ar putea dura ceva timp. Acest comportament poate fi dezactivat prin intermediul opiunii de depanare =do-not-use-debuginfod. "N" "=no-follow-links" Dezactiveaza urmarirea legaturilor catre fiiere de informaii de depanare separate. "D" "=use-debuginfod" Activeaza contactarea serverelor de depanare in cazul in care este necesar sa se urmeze legaturi de depanare. Acesta este comportamentul implicit. "E" "=do-not-use-debuginfod" Dezactiveaza contactarea serverelor de depanare atunci cand este necesar sa se urmareasca legaturi de depanare. "l" "=rawline" Afieaza coninutul seciunii .debug_line intr-un format brut. "L" "=decodedline" Afieaza coninutul interpretat al seciunii .debug_line. "m" "=macro" Afieaza coninutul seciunilor .debug_macro i/sau .debug_macinfo. "o" "=loc" Afieaza coninutul seciunilor .debug_loc i/sau .debug_loclists. "O" "=str-offsets" Afieaza coninutul seciunii .debug_str_offsets. "p" "=pubnames" Afieaza coninutul seciunilor .debug_pubnames i/sau .debug_gnu_pubnames. "r" "=aranges" Afieaza coninutul seciunii .debug_aranges. "R" "=Ranges" Afieaza coninutul seciunilor .debug_ranges i/sau .debug_rnglists. "s" "=str" Afieaza coninutul seciunilor .debug_str, .debug_line_str i/sau .debug_str_offsets. "t" "=pubtype" Afieaza coninutul seciunilor .debug_pubtypes i/sau .debug_gnu_pubtypes. "T" "=trace_aranges" Afieaza coninutul seciunii .trace_aranges. "u" "=trace_abbrev" Afieaza coninutul seciunii .trace_abbrev. "U" "=trace_info" Afieaza coninutul seciunii .trace_info. Nota: afiarea coninutului seciunilor .debug_static_funcs, .debug_static_vars i debug_weaknames nu este acceptata in prezent. --dwarf-depth=n Limiteaza extragerea seciunii ,,.debug_info" la n copii. Acest lucru este util numai cu --debug-dump=info. Valoarea implicita este de a imprima toate DIE-urile; valoarea speciala 0 pentru n va avea, de asemenea, acest efect. Cu o valoare diferita de zero pentru n, nu se afieaza DIE-uri la niveluri mai mari sau mai adanci decat n. Intervalul pentru n este bazat pe zero. --dwarf-start=n Afieaza numai DIE-urile care incep cu DIE numerotate n. Acest lucru este util numai cu --debug-dump=info. Daca este specificata, aceasta opiune va suprima afiarea oricaror informaii de antet i a tuturor DIE-urilor inainte de DIE numerotate n. Vor fi afiai numai fraii i copiii DIE specificai. Aceasta poate fi utilizata impreuna cu --dwarf-depth. -P --process-links Afieaza coninutul seciunilor care nu sunt de depanare i care se gasesc in fiiere debuginfo separate care sunt legate de fiierul principal. Aceasta opiune implica automat opiunea -wK i vor fi afiate numai seciunile solicitate prin alte opiuni de linie de comanda. --ctf[=seciunea] Afieaza coninutul seciunii CTF specificate. Seciunile CTF conin la randul lor numeroase subseciuni, toate fiind afiate in ordine. In mod implicit, afieaza numele seciunii numite .ctf, care este numele emis de ld. --ctf-parent=membru In cazul in care seciunea CTF conine tipuri definite in mod ambiguu, aceasta va consta intr-o arhiva de mai multe dicionare CTF, toate motenind dintr-un dicionar care conine tipuri neechivoce. Acest membru se numete in mod implicit .ctf, la fel ca seciunea care il conine, dar este posibil sa se schimbe acest nume folosind funcia "ctf_link_set_memb_name_changer" in momentul realizarii legaturii. Atunci cand se examineaza arhivele CTF care au fost create de un editor de legaturi care utilizeaza funcia de schimbare a numelui pentru a redenumi membrul arhivei parinte, se poate utiliza --ctf-parent pentru a specifica numele utilizat pentru membrul parinte. --ctf-parent-section=seciune Aceasta opiune va permite sa alegei o seciune complet diferita pentru dicionarul parinte CTF care conine tipuri neambigue decat pentru dicionarele copil care conin restul ambiguu. Editorul de legaturi nu emite obiecte ELF structurate astfel, dar unii editori de legaturi de la teri pot emite astfel de obiecte. De asemenea, este convenabil sa inspectai CTF scris ca mai multe fiiere brute pentru a le compune cu objcopy, care le poate pune in seciuni ELF diferite, dar nu in membri diferii ai unui singur dicionar CTF. --ctf-symbols=seciunea --ctf-strings=seciunea Specifica numele unei alte seciuni din care fiierul CTF poate moteni iruri de caractere i simboluri. In mod implicit, se utilizeaza ,,.symtab" i tabelul de iruri de caractere asociat acestuia. Daca este specificat unul dintre --ctf-symbols sau --ctf-strings, trebuie sa fie specificat i celalalt. --got-contents Afieaza coninutul seciunilor Global Offset Table (GOT) ale fiierului, daca acesta exista. Pentru MIPS, aceasta opiune este similara cu --arch-specific, dar afieaza numai coninutul legat de GOT i este ignorata cand se utilizeaza --arch-specific. -I --histogram Afiarea unei histograme a lungimilor listelor de galei (bucket) la afiarea coninutului tabelelor de simboluri. -v --version Afieaza numarul de versiune al <>. -W --wide Nu intrerupe liniile de ieire pentru a le incadra in 80 de coloane. In mod implicit, readelf intrerupe liniile de antet de seciune i de listare a segmentelor pentru fiierele ELF pe 64 de bii, astfel incat acestea sa incapa in 80 de coloane. Aceasta opiune face ca readelf sa imprime fiecare antet de seciune, respectiv fiecare segment pe o singura linie, ceea ce este mult mai uor de citit pe terminale mai late de 80 de coloane. -T --silent-truncation In mod normal, atunci cand readelf afieaza un nume de simbol i trebuie sa trunchieze numele pentru a se potrivi intr-un afiaj de 80 de coloane, va adauga un sufix de ,,[...]" la nume. Aceasta opiune de linie de comanda dezactiveaza acest comportament, permiand afiarea a inca 5 caractere ale numelui i restabilind vechiul comportament al readelf (inainte de versiunea 2.35). -H --help Afieaza opiunile liniei de comanda inelese de readelf. @fiier Citete opiunile liniei de comanda din fiier. Opiunile citite sunt inserate in locul opiunii originale @fiier. Daca fiier nu exista sau nu poate fi citit, atunci opiunea va fi tratata literal i nu va fi eliminata. Opiunile din fiier sunt separate prin spaii albe. Un caracter de spaiere poate fi inclus intr-o opiune prin includerea intregii opiuni intre ghilimele simple sau duble. Orice caracter (inclusiv o bara oblica inversa) poate fi inclus prin prefixarea caracterului care urmeaza sa fie inclus cu o bara oblica inversa. fiier poate conine la randul sau opiuni @fiier suplimentare; orice astfel de opiuni vor fi procesate in mod recursiv. CONSULTAI I objdump(1), and the Info entries for binutils. DREPTURI DE AUTOR Drepturi de autor (C) 1991-2026 Free Software Foundation, Inc. Se acorda permisiunea de a copia, distribui i/sau modifica acest document in conformitate cu termenii Licenei GNU Free Documentation, versiunea 1.3 sau orice versiune ulterioara publicata de Free Software Foundation; fara seciuni invariante, fara texte de coperta i fara texte de contra coperta. O copie a licenei este inclusa in seciunea intitulata ,,GNU Free Documentation License". TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . binutils-2.46.0 1 mai 2026 READELF(1)