We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
All,
I have a project that was compiling and running correctly using an older version of uVision 4. I just upgraded from 4.70a to version 4.71a, and am getting the following error after I compile my project:
.\Obj\PumaINS.axf: Error: L6218E: Undefined symbol __dso_handle (referred from main.o).
There is no mention of 'dso_handle' anywhere in my project, so I don't know how to begin troubleshooting this issue. Does anyone know what might've changed in the most recent uVision update that caused this, and how we can correct it?
Thanks, Andy
This looks like a side effect off Cross-Module-Optimization (CMO). An interim solution is to turn CMO off via Options for Target. If CMO is absolutely required, then a definition 'int __dso_handle' in main.c/cpp will do the trick.
Indeed we are using cross-module optimization (full rebuild), and when I disabled it, it compiles fine. Thanks for the input. We can live without the CMO.
This, combined with the recent "-O3 -Otime" bugs fixed in 4.71a (armcc 5.03u1), does NOT instill confidence in the stability of the compiler!