Compiler-Option "-mpoke-function-name"

OP #6794186
Hallo zusammen,

ich gehe bei einem Altprojekt die Compileroptionen durch. Irgendwann 
habe ich wohl mal das Häkchen bei "Write the name of each function into 
the text section, directly preceding the function prologue" gesetzt oder 
es ist defaultmäßig aktiv.

Das Problem: Ich verstehe die praktischen Auswirkungen nicht. Das per 
objdump aus dem ELF-File erzeugte Assembler-Listing sieht gleich aus. 
Meine beiden Debugger J-Link Edu und der ST-Link V2/isol scheinen sich 
auch nicht weiter zu stören, wenn die Option aktiv oder inaktiv ist.

Die Doku des GCC ist in der Hinsicht auch recht kurz ( 
https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html ) und selbst der 
sonst ganz brauchbare Wall/Hagen "Definitive Guide to GCC" bietet nur 
den exakt gleichen Wortlaut und nicht mehr.
Gast
Die Option bringt nichts wenn du sowieso die ELF-Datei (mit 
Debug-Informationen) hast, weil da sowieso schon alles nötige drin 
steht. Die Option wäre nur nützlich, wenn du explizit Code zum Programm 
hinzufügst, welcher Backtraces generiert und dabei eben diese erzeugten 
Funktionsnamen ausliest. GDB & Debugging-Tools nutzen diese Information 
nicht, sondern verlassen sich eben auf die ELF-Debug-Informationen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.