Ich versuche ein GCC-Plugin zu schreiben, das einige domänenspezifische Analysen der Programme durchführt, die es kompiliert. Ich frage mich, wie die Analyseergebnisse am besten als eine Art von Metadaten (wie Debug-Informationen) in die generierten Objektdateien eingebettet werden können.Wie man Metadaten in die Objektdatei von GCC-Plugin einbetten
Idealerweise sollten einige Metadaten (in meinem Fall Text) in jede Objektdatei eingebettet sein, der Linker sollte die Daten aller Objekte behalten, die er verbindet, und schließlich sollte ich eine Möglichkeit haben, auf alle Metadaten zuzugreifen endgültige binäre Verwendung objdump
, readelf
oder ähnlich.
Meine aktuelle Idee ist, zu versuchen, ein eindeutiger Namen globalen String-Variable für jede Übersetzungseinheit hinzufügen, indem sie sie an dem GIMPLE AST Zugabe. Ich frage mich jedoch, ob es einen "disziplinierteren" Weg gibt; Wie können Plugins Debug-Informationen oder andere solche Metadaten erzeugen?