> That's because .initX sections *are* located after .progmem etc.

Ah.  My experience so far has involved programs that delete both
vector table and normal startup code, and didn't have any progmem.  It
seems logical that .initX would be located at the nominal start
address (0)
There's no reason to have progmem come first on devices with 64k or
less of flash, right?

I'm not sure why I got sidetracked into thinking that -nostartfiles
was insufficient to get rid of the vector table.  It looks like it
works fine as long as I avoid the "progmem comes first" issue by
putting the vectors in the .vectors section rather than one of the
.initX sections.

I will write something up.

BillW

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

Reply via email to