Manpages

NIMI

objdump − tulosta tietoja objektitiedostoista.

YLEISKATSAUS

objdump

[−a|−−archive−headers] [−b bfdnimi | −−target=bfdnimi] [−C|−−demangle] [−−debugging] [−d|−−disassemble] [−D|−−disassemble-all] [−−disassemble−zeroes] [−EB|−EL|−−endian={big|little}] [−f|−−file−headers] [−h|−−section−headers | −−headers] [−i|−−info] [−j kappale | −−section=kappale] [−l|−−line−numbers] [−m konetyyppi | −−architecture=konetyyppi] [−−prefix−addresses] [−r|−−reloc] [−R|−−dynamic−reloc] [−s|−−full−contents] [−S|−−source] [−−[no−]show−raw−insn] [−−stabs] [−t|−−syms] [−T|−−dynamic−syms] [−x|−−all−headers] [−−start−address=osoite] [−−stop−address=osoite] [−−adjust−vma=siirros] [−−version] [−−help] objtiedostot...

KUVAUS

objdump tulostaa tietoja yhdestä tai useammasta objektitiedostosta. Komentorivioptioilla voi vaikuttaa siihen, mitä tietoja tulostetaan. Tiedot ovat hyödyllisiä ennenkaikkea ohjelmoijille, jotka työskentelevät kääntäjien ja muiden binäärityökalujen kanssa, ei niinkään normaaleille ohjelmoijille, jotka haluavat vain kääntää ja ajaa ohjelmiaan.

objtiedostot... ovat tarkastelun kohteena olevat objektitiedostot. Jos kohteena on arkisto, objdump tulostaa tiedot jokaisesta arkistossa olevasta objektitiedostosta.

OPTIOT

Jos optiosta on esitetty sekä pitkä että lyhyt muoto, niin ne ovat toiminnaltaan identtisiä. Ainakin yksi optio −l (−−line−numbers) option lisäksi tulee antaa.

−a

−−archive−headers

Jos joku tai jotkut objtiedostoista on arkisto, niin tulostetaan arkiston otsikkotiedot (tulostusmuoto on sama kuin komennossa ’ls −l’). Tietojen, jotka voi listata myös ’ar tv’ komennolla, lisäksi ’objdump −a’ tulostaa myös jokaisen tiedoston objektiformaatin.

−−adjust−vma=siirros

Kun tietoja tulostetaan, lisätään siirros (offset) kaikkiin kappaleosoitteisiin (section address). Tämä on hyödyllistä, jos kappaleosoite ei täsmää symbolitaulun kanssa. Tämä on mahdollista, jos kappale on sijoitettu tiettyyn osoitteeseen ja jos formaatti ei sisällä esitystä kappaleosoitteelle (esim. a.out formaatti).

−b bfdnimi
−−target=
bfdnimi

Määrää objektitiedostojen objektikoodin formaatiksi bfdnimi. Tämä ei välttämättä ole tarpeen; objdump osaa tunnistaa automaattisesti useita erilaisia formaatteja. Esimerkiksi

objdump −b oasys −m vax −h fu.o

tulostaa yhteenvetotiedot kappaleotsikoista (section headers) (’−h’) tiedostosta ’fu.o’, joka on identifioitu (’−m’) Vax-objektitiedostoksi formaatissa, jonka on tuottanut Oasys-kääntäjä. Kaikki tuetut formaatit voi listata optiolla ’−i’.

−C

−−demangle

Dekoodaa (demangle) matalan tason symbolinimet ymmärrettävämpään muotoon. Nimiä edeltävän alaviivan poistamisen lisäksi tämä optio muuntaa C++ -funktionimet selkeämpään muotoon.

−−debugging

Tulostaa objektitiedostoon talletettuja debuggaustietoja. Tiedot tulostetaan C-tyyppisellä syntaksilla. Vain tiettyjen debuggaustietojen tulostus on implementoitu.

−d

−−disassemble

Tulostaa assemblermuistikkaita (mnemonics) objtiedoston konekoodista. Tämä optio tulostaa vain ne tiedoston kappaleet (section), joiden voidaan olettaa sisältävän ohjelmakoodia.

−D

−−disassemble-all

Kuten −d, mutta kaikkien kappaleiden sisältö tulostetaan, ei vain niiden kappaleiden, joiden oletetaan sisältävän ohjelmakoodia.

−−prefix−addresses

Kun tulostetaan assemblermuistikkaita, tulostetaan täydellinen osoite joka riville. Tämä on vanha disassemblerin formaatti.

−−disassemble−zeroes

Normaalisti, jos disassembler kohtaa lohkon nollia, se hyppää niiden yli. Tämä optio määrää disassemblerin tulostamaan myös nämä lohkot samalla tavoin kuin muunkin datan.

−EB

−EL

−−endian={big|little}

Määrää objektitiedostojen tavujärjestyksen (endianess). Tämä vaikuttaa vain disassembleriin. Tämä voi olla hyödyllistä, jos disassembleroitava formaatti ei sisällä tietoa tavujärjestyksestä, kuten esimerkiksi S-record formaatti.

−f

−−file−headers

Tulosta yhteenvetotiedot jokaisen objtiedoston otsikosta.

−h

−−section−headers
−−headers

Tulosta yhteenvetotiedot jokaisesta kappaleesta (section) objektitiedostossa.

−−help

Tulosta yhteenveto objdump ohjelman optioista ja poistu ohjelmasta.

−i

−−info

Tulosta kaikki arkkitehtuurit ja objektitiedostojen formaatit, jotka voidaan antaa −b tai −m optioille.

−j nimi
−−section=
nimi

Tulosta tietoja vain kappaleesta nimi.

−l

−−line−numbers

Tulosta lähdekooditiedoston nimi ja rivinumero, jolta tulostettava objektikoodi on peräisin. Tiedot saadaan objektitiedoston debuggaustiedoista. Tämä optio on järkevä ainoastaan optioiden −d, −D, tai −r kanssa.

−m konetyyppi
−−architecture=
konetyyppi

Määrää arkkitehtuuri, jota käytetään objektitiedoston disassemblointiin. Tämä on hyödyllistä, kun disassembloidaan objektitiedostoa, joka ei sisällä tietoa arkkitehtuurista (esim. S-record). Tuetut arkkitehtuurit voi listata optiolla −i.

−r

−−reloc

Tulosta objektitiedoston uudelleensijoitustiedot (relocation entries). Jos tätä optiota käytetään yhdessä −d option kanssa, tiedot tulostetaan disassemblerlistauksen seassa symboliin viittauksen yhteydessä.

−R

−−dynamic−reloc

Tulosta dynaamiset uudelleensijoittamistiedot (relocation entries). Tämä optio on järkevä vain dynaamisille objekteille, kuten eräille jaetuille kirjastotyypeille.

−s

−−full−contents

Tulosta haluttujen kappaleiden täydellinen sisältö (sekä heksana että ascii-merkkeinä).

−S

−−source

Tulosta lähdekoodi disassemblerlistauksen seassa (jos mahdollista). Sama kuin optio -d.

−−show−raw−insn

Kun tulostetaan disassemblerlistausta tulostetaan muistikkaiden lisäksi myös vastaava heksakoodi. Tämä on oletusarvoinen toiminta paitsi, jos käytetään optiota −−prefix−addresses

−−no−show−raw−insn

Kun tulostetaan disassemblerlistausta tulostetaan vain muistikkaat ilman vastaavaa heksakoodia. Tämä on oletusarvoinen toiminta, jos käytetään optiota −−prefix−addresses

−−stabs

Tulostetaan sisältö kappaleista .stab, .stab.index ja .stab.excl ELF-formaatin objektitiedostoista. Tämä on hyödyllistä vain järjestelmissä (kuten Solaris 2.0), joissa debuggaussymbolit ovat omassa kappaleessaan. Useimmissa muissa järjestelmissä debuggaussymbolit ovat linkityssymbolien seassa ja ovat tulostettavissa optiolla −−syms.

−−start−address=osoite

Aloita tulostus annetusta osoitteesta. Tämä optio vaikuttaa optioiden −d, −r ja −s tulostukseen.

−−stop−address=address

Lopeta tulostus annetuun osoitteeseen. Tämä optio vaikuttaa optioiden −d, −r ja −s tulostukseen.

−t

−−syms

Tulosta objektitiedoston symbolitaulun sisältö. Tulostettava tieto on vastaavaa kuin ’nm’-ohjelman tulostama.

−T

−−dynamic−syms

Tulosta objektitiedoston dynaamisen symbolitaulun sisältö. Tämä optio on järkevä vain dynaamisille objekteille, kuten eräille jaetuille kirjastotyypeille. Tulostettava tieto on vastaavaa kuin ’nm’-ohjelman tulostama, kun sille annetaan optio −D (−−dynamic)

−−version

Tulosta objdump ohjelman versionumero ja poistu ohjelmasta.

−x

−−all−headers

Tulosta kaikki saatavilla oleva tieto otsikoista, mukaanlukien symbolitaulu ja uudelleensijoittamistiedot. Option ’−x’ kayttö vastaa optioiden ’−a −f −h −r −t’ yhtäaikaista käyttöä.

COPYING

Copyright (c) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.

KATSO MYÖS

binutils’ kohta infossa; The GNU Binary Utilities Roland H. Pesch (October 1991), nm(1).