Wie die objcopy des Streifens umgekehrt mit nur-Keep-debug?
Frage
In der modernen Linux fast alle Objekte werden entfernt und in zwei Teile aufgeteilt (zwei Dateien). Zunächst ist ausführbar selbst und der zweite ist Debug-Symbole, von der ursprünglichen ELF abgezogen. Solche Dateien mit erstellt
objcopy --only-keep-debug original.elf binary.dbg
mv original.elf binary
objcopy --strip-debug binary
Wie kann ich binary
und binary.dbg
in ELF-Datei verschmelzen mit info Debuggen? Ich möchte unstripped, Originalbinärbild neu erstellen. Es kann sein, nicht Byte-zu-Byte gleich dem ursprünglichen, aber es muss in einem Debug-Symbole haben.
PS Ja, ich weiß über gnu.debuglink
Abschnitt, aber es funktioniert nicht für einige Debugger (etnus) und Disassembler (objdump kann nicht wiederherstellen Symbole info)
Lösung
Für ELF, das elfutils
Paket enthält ein Tool namens eu-unstrip
dass der Job nicht. Im Zusammenhang mit Ihrem Beispiel:
eu-unstrip binary binary.dbg
binary.dbg
hat nun sowohl die binäre und Debug-Symbole. Ich würde einen Verweis auf Dokumentation enthalten, wenn ich welche finden könnte ...