I am currently upgrading our code base for CrossWorks for ARM V3.1 (with GCC 4.8).
This version of GCC has replaced the .ctors/.dtors sections for static constructor lists with .init_array/.fini_array (see here https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46770). However the default 'xxx_placement.xml' files supplied with CrossWorks (and installed into CrossWorks\targets) still use the old names - as does the default 'thumb_crt0.s'. This results in the static constructor lists missing from the compiled code.
We use our own placement file and thumb_crt0.s anyway which I have updated, but it would be nice if the basic ones that come with CrossWorks were correct. This took me several hours to work out as our code all built fine, but wouldn't run as the static constructors weren't getting called.
Cheers and Have a Good Day,
Please sign in to leave a comment.