> 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