Ich habe 2 Objektdateien, die ähnlich sein sollen wie sie aus 2 verschiedenen Kompilierungszeiten von der gleichen Code-Basis sind. Ich wollte ihre nm-Ausgänge vergleichen. Allerdings kann ich nicht, da es viele Namen Mangling gibt. Aufgrund des Namens Mangling scheinen die Ergebnisse unterschiedlich zu sein, aber sie sind es tatsächlich nicht. Ich habe versucht, die folgenden Schritte zu mirWie nm Ausgänge zu vergleichen
1) took last word using command
sed '/ /s/.* //' nmfile1 >nmfile1_lastword
2) removed _Z.. starting word with nothing
sed 's/^_Z...//' nmfile1_lastword > nmfile1_lastword_removed_z
3) sorted the same
sort nmfile1_lastword_removed_z > nmfile1_lastword_removed_z_sorted
ich die oben vergleichen zu helfen als auch für die zweite nmFile2 tat.
Allerdings gibt es am Anfang immer noch eine Menge Namensprobleme, die ich nicht entfernen kann, was mich glauben lässt, dass es keine einfache Möglichkeit gibt, nm-Ausgaben zu vergleichen. Beachte, dass ich mich nur mit dem Startnamen beschäftige, da ich die Ergebnisse in gvim -d sehen könnte und ich in der Lage wäre, Unterschiede manuell zu identifizieren. Wenn es ein direktes Werkzeug gibt, wäre es das Beste.
Bitte beachte, dass ich versucht habe, nm mit der Option -C zu verwenden, um mich ohne Namen Mangling zu zeigen, aber es zeigt immer noch eine Menge Name Mangling.
dies versuchte .. es hat noch verstümmelte Symbole – MAG
welche Plattform? kann auf Sample-Binär zugreifen? –
Sorry wird nicht in der Lage sein, Binär zu teilen. Ich benutze Linux mit g ++. die OS-Spezifikationen sind: Händler-ID: RedHatEnterpriseClient Beschreibung: Red Hat Enterprise Linux-Client Release 5.10 Release: 5.10 – MAG