Follow-up Comment #1, bug #52181 (project avr-libc): This is not an avr-libc problem. The stdio routines like prinf are fully synchronous, and there is no buffering.
Hence any buffering must emerge from the applicaton's stream implementation, i.e. from the callbacks you are providing with FDEV_SETUP_STREAM or by similar means. One fix is to provide a destructor for your static buffering object. abort will call _exit which will run all the static destructors and all the functions registered with atexit. Beside thar, gnu tools allow to provide own static destructors even for C, and avr tool allow to override abort, _exit and exit and to run own shutdown code located in dedicated sections .fini9 ... .fini0. _______________________________________________________ Reply to this item at: <http://savannah.nongnu.org/bugs/?52181> _______________________________________________ Message sent via/by Savannah http://savannah.nongnu.org/ _______________________________________________ AVR-libc-dev mailing list AVR-libc-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/avr-libc-dev