Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cc(1)

dump(1)

ld(1)

a.out(4)

ar(4)

nm(1)                                                                 nm(1)

NAME
     nm - Symboltabelle einer Objektdatei ausgeben

SYNTAX
     nm [Option...] Datei...

BESCHREIBUNG
     Das Kommando nm (name list) zeigt die Symboltabelle jeder ELF- oder
     COFF-Objektdatei an, die durch Datei angegeben ist. Die Datei kann
     eine verschiebbare oder eine absolute ELF- oder COFF-Objektdatei sein;
     oder es kann sich auch um ein Archiv von verschiebbaren oder absoluten
     ELF- oder COFF-Objektdateien handeln. Für jedes Symbol werden folgende
     Informationen ausgegeben:

     Lib/Obj
          Name der Bibliothek bzw. des Objekts (nur bei -A)

     Name Name des Symbols

     Type Typ des Symbols:

          A    absolutes Symbol global

          a    absolutes Symbol lokal

          B    bss Symbol global

          b    bss Symbol lokal

          D    Datenobjekt-Symbol global

          d    Datenobjekt-Symbol lokal

          T    Textobjekt-Symbol global

          t    Textobjekt-Symbol lokal

          U    undefiniertes Symbol

     Value
          Wert des Symbols ist der Offset eines definierten Symbols in
          einer verschiebbaren Datei; es gibt Beschränkungen für die Aus-
          richtung von Symbolen mit einem Sektionsindex gleich SHNCOMMON
          sowie einer virtuellen Adresse in ausführbaren und dynamischen
          Bibliotheksdateien.

     Size Größe in Bytes des assoziierten Objekts

     Index
          Index des Symbols, erscheint in Klammern

     Bind Attribute des Gültigkeitsbereichs eines Symbols. Bei LOCAL-



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

nm(1)                                                                 nm(1)

          Symbolen ist der Gültigkeitsbereich auf die Objektdatei, die ihre
          Defintion enthält, beschränkt. GLOBAL-Symbole sind in allen kom-
          binierten Objektdateien sichtbar. WEAK-Symbole sind im Grunde
          genommen globale Symbole, die aber einen geringeren Vorrang als
          GLOBAL-Symbole haben.

     Other
          Feld, das für zukünftige Verwendung reserviert ist, zur Zeit ent-
          hält es 0.

     Shndx
          Mit Ausnahme von drei speziellen Werten, ist dies der Index in
          der Abschnittskopftabelle, in der das Symbol definiert ist. Die
          folgenden speziellen Werte existieren: ABS gibt an, daß sich der
          Symbolwert bei einer Relokation nicht ändert; COMMON gibt einen
          freien Block und den Wert für eine Ausrichtung an. UNDEF gibt ein
          undefiniertes Symbol an.

OPTIONEN
     Die Ausgabe von nm kann mit folgenden Optionen gesteuert werden:

     -A   in jeder Zeile den vollen Pfadnamen bzw. Bibliotheksnamen eines
          Objekts ausgeben

     -e   siehe Abschnitt HINWEISE

     -f   siehe Abschnitt HINWEISE

     -g   nur externe Symbole ausgeben

     -h   Daten des Ausgabekopfs nicht anzeigen

     -l   Damit zwischen WEAK- und GLOBAL-Attributen der Symbole unter-
          schieden werden kann, wird ein * an den Buchstaben bei WEAK-
          Symbolen angehängt.

     -n   externe Symbole vor der Ausgabe nach ihren Namen sortieren

     -o   Wert und Größe eines Symbols in Oktal- statt in Dezimalform aus-
          geben (gleichbedeutend mit -t o)

     -p   leicht analysierbare kurze Ausgabe erstellen. Jeder Symbolbe-
          zeichnung wird ihr Wert (Leerzeichen, wenn undefiniert) und einer
          der Buchstaben U (undefiniert), N (Symbol hat keinen Typ), D
          (Datenobjekt-Symbol), T (Textobjekt-Symbol), S (Segmentsymbol)
          oder F (Dateisymbol) vorangestellt. Hat das Symbol das Attribut
          lokal (nicht extern), wird der Buchstabe für den Typ kleinge-
          schrieben. Hat das Symbol das Attribut WEAK, so wird der Buch-
          stabe groß geschrieben. Wird zusätzlich die Option -l angegeben,
          so folgt dem Buchstaben ein *. Der Buchstabe wird groß ausgege-
          ben, wenn das Symbol das Attribut GLOBAL hat.



Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

nm(1)                                                                 nm(1)

     -P   Ausgabe in einem portierbaren Format erstellen. Ist auch die
          Option -A angegeben, wird für jedes Symbol eine Zeile in folgen-
          dem Format ausgegeben:

          <Bibliotheks-/Objektname> <Symbolname> <Typ> <Wert> <Größe>

          Ist -A nicht angegeben, wird der Bibliotheks-/Objektname in eine
          eigene Zeile geschrieben. Ist die Option -t nicht angegeben, wird
          implizit -t x angenommen.

     -r   Name der Objektdatei oder des Archivs vor jede Ausgabezeile stel-
          len

     -t format
          Ausgabeformat von Wert und Größe eines Symbols festlegen:

          d    Wert und Größe werden dezimal ausgegeben (Standard)

          o    Wert und Größe werden oktal ausgegeben (entspricht -o)

          x    Wert und Größe werden hexadezimal ausgegeben (entspricht -x)

     -T   siehe Abschnitt HINWEISE

     -u   nur undefinierte Symbole ausgeben

     -v   externe Symbole vor der Ausgabe nach ihrem Wert sortieren (statt
          alphabetisch)

     -V   Die Version des Kommandos nm wird auf der Standard-Fehlerausgabe
          ausgeben. (Sollte in portierbaren Scripts nicht verwendet wer-
          den.)

     -x   Wert und Größe eines Symbols in Hexadezimal- statt in Dezimalform
          ausgeben (gleichbedeutend mit -t x)

     --   Ende der Optionenliste. Die Angabe ist nötig, wenn der erste
          Dateiname mit - beginnt.

     Die Optionen können in beliebiger Reihenfolge einzeln oder in Kombina-
     tionen verwendet werden. Wenn Optionen angegeben werden, die sich
     widersprechen (wie z. B. nm -v -n), wird die erste Option verwendet
     und die zweite ignoriert. Es wird eine Warnung ausgegeben, daß die
     zweite Option ignoriert wurde.

HINWEISE
     Die folgenden Optionen sind aufgrund von Änderungen beim Objektformat
     überflüssig geworden.

     -e   ausschließliche Ausgabe von externen und statischen Symbolen.
          Automatische Symbole erscheinen nicht mehr in der Symboltabelle.
          Sie stehen in den Informationen für den Debugger, die mit dem


Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

nm(1)                                                                 nm(1)

          Kommando cc -g erzeugt werden. Diese können dann mit dump(1)
          angesehen werden.

     -f   erzeugt eine vollständige Ausgabe. Redundante Symbole (wie z. B.
          Ausgabe entspricht der Standardausgabe.

     -T   Standardmäßig gibt nm den vollständigen Namen der angezeigten
          Symbole aus. Da die Symbolnamen jetzt in der letzten Spalte aus-
          gegeben werden, ist das Problem der zu langen Bezeichner ver-
          schwunden und es ist nicht länger notwendig, den Symbolnamen zu
          kürzen.

INTERNATIONALE UMGEBUNG
     Die Sprache der Meldungstexte wird durch die Umgebungsvariablen
     LCALL, LCMESSAGES oder LANG bestimmt.

     In der Standardeinstellung verhält sich das System so, als wäre es
     nicht internationalisiert, d. h. die Meldungstexte erscheinen in eng-
     lischer Sprache. Wenn Sie die Sprache der Meldungstexte ändern wollen,
     müssen Sie eine dieser Variablen entsprechend setzen.

     Ausführliche Informationen zu den Abhängigkeiten der Umgebungsvaria-
     blen und zur Internationalisierung im allgemeinen finden Sie im Hand-
     buch "Leitfaden für Programmierer: Internationalisierung - Lokalisie-
     rung". Zur Einstellung der Benutzerumgebung siehe auch environ(5).

SIEHE AUCH
     cc(1), dump(1), ld(1), a.out(4), ar(4).


























Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026