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