This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more infromation.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
compiler : powerpc-eabi-g++ (egcs-1.1.2) libc : newlib (newlib-1.8.1 I think) os : none. target architecture : powerpc (mpc860) I have ported some code that was originally written for the DiabData compiler. I have managed to load it into RAM on my embedded system using the SDS SingleStep debugger via the BDM port. It runs really well. I tried programming it into Flash and it aborts. The __eabi function which is called from main() never returns. I have tracked this down to malloc returning zero. The backtrace shows the following functions being called. main() __do_global_ctors() __get_eh_context() __get_eh_info() __get_eh_info() __empty() malloc() _malloc_r() The SDS debugger does not support the gcc debugging formats so I am debugging the assembler. This is getting very tedious but it seems that _malloc_r() is returning zero. From newlib's _malloc_r code, it seems that chucksize(top) is zero which is causing the problem. /* Try to extend */ malloc_extend_top(RCALL nb); remainder_size = chunksize(top) - nb; if (chunksize(top) < nb || remainder_size < (long)MINSIZE) { MALLOC_UNLOCK; return 0; /* propagate failure */ } Has anyone got any ideas what the problem is and/or what I can do to fix the problem. Thanks, Brendan Simon. ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |