idata5 must be writable, because it contains the addresses of imported symbols. cegcc currently places them in .rdata. The system happily accepts that and fills in the addresses of imported symbols, but under memory pressure the page can be evicted (it's "rdata" after all), and when it is loaded back from storage the address of the imported symbols on this page are gone.
The problem is only visible under memory pressure, when the application suddenly starts to crash when calling library functions.
fix crash under memory pressure
Thanks for your bug report!
To ease maintenance of the project, we are migrating bug tracking facilities to Trac. We would appreciate if you re-posted this bug on Trac via https://sourceforge.net/apps/trac/cegcc/newticket . Please include link to this bug for reference.