Forum: FPGA, VHDL & Co. NIOSII GCC4 Exception Handling Codesize


von R.Straub (Gast)


Lesenswert?

Hallo Leute,

hat jemand von euch schon den GCC4 Compiler in euren NIOS Projekten 
(Cpp) verwendet?
Ich habe momentan das Problem, dass extrem viel mehr Code (im Vergleich 
zum GCC3) erzeugt wird.
Laut Map-File hängt es mit dem Exception Handling zusammen.
Hier wird kB-weise der Speicher für das unwinding verbraten obwohl keine 
einzige Exception im Programm verwedet wird:
1
 .text          0x0001cff0     0x26c8 c:/altera/12.0sp1/nios2eds/bin/gnu/h-i686-mingw32/bin/../lib/gcc/nios2-elf/4.1.2\libgcc.a(unwind-dw2.o)
2
                0x0001d074                _Unwind_GetCFA
3
                0x0001d07c                _Unwind_GetIP
4
                0x0001d084                _Unwind_GetIPInfo
5
                0x0001d098                _Unwind_SetIP
6
                0x0001d0a0                _Unwind_GetLanguageSpecificData
7
                0x0001d0a8                _Unwind_GetRegionStart
8
                0x0001d0b0                _Unwind_GetDataRelBase
9
                0x0001d0b8                _Unwind_GetTextRelBase
10
                0x0001d0c0                _Unwind_DeleteException
11
                0x0001d0d8                _Unwind_SetGR
12
                0x0001d154                _Unwind_GetGR
13
                0x0001d428                _Unwind_FindEnclosingFunction
14
                0x0001de38                __frame_state_for
15
                0x0001efa8                _Unwind_Backtrace
16
                0x0001f140                _Unwind_RaiseException
17
                0x0001f3c0                _Unwind_Resume_or_Rethrow
18
                0x0001f4bc                _Unwind_Resume
19
                0x0001f5bc                _Unwind_ForcedUnwind
20
 .text          0x0001f6b8     0x15e0 c:/altera/12.0sp1/nios2eds/bin/gnu/h-i686-mingw32/bin/../lib/gcc/nios2-elf/4.1.2\libgcc.a(unwind-dw2-fde.o)
21
                0x0001f73c                __register_frame_info_bases
22
                0x0001f774                __register_frame_info
23
                0x0001f780                __register_frame_info_table_bases
24
                0x0001f7ac                __register_frame_info_table
25
                0x00020264                __register_frame_table
26
                0x00020294                __register_frame
27
                0x000202dc                __deregister_frame_info_bases
28
                0x000203b8                __deregister_frame_info
29
                0x000203bc                __deregister_frame
30
                0x00020a74                _Unwind_Find_FDE

Ich habe schon wie auf [1] beschrieben versucht das Exception-Handling 
auszuschalten. Leider ohne Erfolg.
Hat jemand von euch schon die gleichen Erfahrungen gemacht und weis eine 
Lösung?
Oder hat sonst jemand eine gute Idee?

Danke und Grüße
Rainer
[1]: http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Code-Gen-Options.html

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
Noch kein Account? Hier anmelden.