Befehl "strip"

Zweck

Dieser Befehl reduziert die Größe einer XCOFF-Objektdatei (Extended Common Object File Format), indem er die vom Binder und vom symbolischen Debugprogramm verwendeten Informationen entfernt.

Syntax

Streifen [ -V] [  -r -l ] |  -x -l ] |  -t. -H -e -E ] [  -X  {32|64|32_64}]— ]  Datei ...

Beschreibung

Der Befehl strip reduziert die Größe von XCOFF-Objektdateien. Der Befehl strip entfernt optional die Zeilennummerinformation, die Neuspositionierungsinformationen, den Verschiebungsinformation, den Abschnitt "debug", den Abschnitt "typchk", den Abschnitt "comment", Dateiheader und die gesamte oder einen Teil der Symboltabelle aus den XCOFF-Objektdateien. Wenn Sie diesen Befehl verwenden, ist das symbolische Debugging der Datei schwierig. Deshalb sollten Sie den Befehl strip normalerweise nur für Produktionsmodule verwenden, die Sie geprüft und getestet haben. Die Verwendung des Befehls strip reduziert den erforderlichen Speicheraufwand für eine Objektdatei.

Der Befehl strip entfernt für jedes Objektmodul die mit den Optionen angegebenen Informationen. Der Befehl strip entfernt für jede Archivdatei die globale Symboltabelle aus dem Archiv.

Sie können eine gekürzte Symboltabelle mit dem Befehl ar -s in einer Archiv- oder Bibliotheksdatei wiederherstellen.

Wenn der Befehl strip ohne Optionen ausgeführt wird, entfernt er die Zeilennummerninformationen, die Neuspositionierungsinformationen, die Symboltabelle, den Abschnitt "debug", den Abschnitt "typchk" sowie den Abschnitt "comment".

Flags

Element Beschreibung
-E Setzt das Flag F_LOADONLY im optionalen Header der Objektdatei. Wenn die Objektdatei in einem Archiv gespeichert wird, zeigt dieses Flag dem Binder (Befehl ld) an, dass Symbole in der Objektdatei beim Verlinken des Archivs ignoriert werden sollen.
-E Setzt das F_LOADONLY-Bit im optionalen Header der Objektdatei zurück (inaktiviert es). (Weitere Informationen finden Sie in der Beschreibung des Flags -e.)
-H Entfernt den Objektdateiheader, beliebige optionale Header und alle Abschnittsheader.

Anmerkung: Symboltabelleninformationen werden nicht entfernt.

-l Entfernt die Zeilennummerinformationen aus der Objektdatei.
Element Beschreibung
-r Entfernt alle Symboltabelleninformationen mit Ausnahme der Einträge für externe und statische Symbole. Entfernt die Neupositionierungsinformationen nicht. Entfernt auch die Abschnitt "debug" und "typchk". Diese Option erzeugt eine Objektdatei, die weiterhin als Eingabe für den Linkage-Editor (Befehl ld) verwendet werden kann.
-T Entfernt die meisten Symboltabelleninformationen, entfernt aber keine Funktionssymbole und Zeilennummerninformationen.
-V Gibt die Versionsnummer des Befehls strip aus.
-x Entfernt die Symboltabelleninformationen, aber keine statischen und externen Symbolinformationen. Das Flag -x entfernt auch Neupositionierungsinformationen, was ein Verlinken der Datei unmöglich macht.
-X Modus Gibt den Typ der Objektdatei an, die von strip untersucht werden soll. Die gültigen Werte für Modus sind im Folgenden beschrieben:
32
Verarbeitet nur 32-Bit-Objektdateien.
64
Verarbeitet nur 64-Bit-Objektdateien.
32_64
Verarbeitet sowohl 32-Bit- als auch 64-Bit-Objektdateien.

Standardmäßig werden 32-Bit-Objektdateien verarbeitet (und 64-Bit-Objekte ignoriert). Der Modus kann auch mit der Umgebungsvariablen OBJECT_MODE festgelegt werden. Zum Beispiel bewirkt OBJECT_MODE=64, dass strip alle 64-Bit-Objekte verarbeiten und 32-Bit-Objekte ignorieren soll. Das Flag -X überschreibt die Variable OBJECT_MODE.

(Doppeltes Minuszeichen) Interpretiert alle Argumente, die mit diesem Flag angegeben werden, als Dateinamen. Auf diese Weise können Sie Dateien kürzen, deren Namen mit einem Minuszeichen beginnen.

Exitstatus

Dieser Befehl gibt die folgenden Exitwerte zurück:

Element Beschreibung
0 Erfolgreiche Ausführung.
>0 Es ist ein Fehler aufgetreten.

Beispiele

  1. Geben Sie Folgendes ein, um die Symboltabelle und Zeilennummerninformationen aus der Datei a.out zu entfernen:
    strip a.out
  2. Geben Sie Folgendes ein, um den Objektdateiheader der Datei a.out zu entfernen:
    strip -H a.out
  3. Geben Sie Folgendes ein, um sowohl die 32-Bit- als auch die 64-Bit-Symboltabelle aus lib.a zu entfernen:
    strip -X 32_64 lib.a

Dateien

Element Beschreibung
/usr/ccs/bin/strip Enthält den Befehl strip.