Hallo zusammen, mittels gcc habe ich ein kleines C++ LedBlink Test-Projekt gebaut. Exceptions handling habe ich per Build Option deaktiviert. Daher wundert es mich, dass ich map file ~2kb 'Unwind' Einträge sehe. Die würde ich gerne weg haben. Geht das ? Soviel ich weiß, werden die 'Unwind' nur für Stackverwaltung bei einer Exceptions benötigt. Mein Test-Projekt benutzt keine Exeptions. Mittels google konnte ich leider sehr wenig dazu finden. Das hier konnte ich finden. Aber es hat mir nicht direkt weitergeholfen. https://embdev.net/topic/201054#1975689 Beitrag "NIOSII GCC4 Exception Handling Codesize" Wenn ich pure C Test-Projekt mache, habe ich die Einträge nicht. Zum Spass hatte ich eine c in cpp umbenannt und dann waren sie wieder da.
Vielleicht "-fno-exceptions" als Compileroption ? Ach ne, das hast du ja schon ausgeschaltet. Vielleicht ist noch ein -lunwind oder so drin ?
:
Bearbeitet durch User
Anbei meine C++ Build Optionen. "-lunwind" habe ich nicht drin.
1 | # C++ specific settings:
|
2 | # -----------------------------------------------
|
3 | -fmessage-length=0 |
4 | -fsigned-char |
5 | -fdata-sections |
6 | -Wextra |
7 | -std=gnu++11 |
8 | -fabi-version=6 |
9 | -fno-exceptions |
10 | -fno-rtti |
11 | -fno-use-cxa-atexit |
12 | -fno-threadsafe-statics |
13 | -nostdinc++ |
Danke für die Hilfe. Ich habe mir leider selbst ins Knie geschossen :(. Ich benutze eine CMAKE + Ninja Kombination. Als mit den obigen Einstellungen immer noch die Unwind Tabellen auftauchten, habe ich in das build.ninja reingeschaut und gesehen, dass sämtliche C++ Flags gefehlt haben. Nach etwas rumsuchen habe ich bemerkt, dass ich die C++ Flags in eine falsche Liste geschrieben hatte und die daher nicht genutzt wurden. Nach Korrektur ging es wie erwartet und die Unwind-Tabellen waren dann weg.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.