On Tue, Mar 18, 2014 at 11:51:33AM +0000, David Fernandez wrote:
> Hi there,
> 
> I've been trying to use both the attributes "init_priority" for C++, and
> "constructor" for C, with priority numbers, in atxmega{16,32}a4u, and the
> compiler complains saying "error: 'init_priority' attribute is not supported
> on this platform", or "error: constructor priorities are not supported".

This features requires the target backend to opt in (by declaring
SUPPORTS_INIT_PRIORITY) to a non-zero value. The avr backend doesn't, even on 
the latest sources, so newer versions don't have it either.

I checked out what the x86_64 target does with init_priority. It actually

* generates individual intitializer functions for each unique priority
* generates a .init_array.<priority> section for each unique priority
  and puts a pointer to the initializer function inside it.
* These input sections are sorted in the linker script with 
SORT_BY_INIT_PRIORITY, instead of just SORT to so that the linker will
do a numerical sort on priority.

I don't see a reason to not support this though. Can you please file a
bug so we can track this?

Regards
Senthil

_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
https://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to