Am I right? This probably shouldn't come as a surprise but I have for years my own stuff for debugging on terminal that uses AVR libc printf_P etc. so it was :(
Afterall __attribute__((__progmem__)) is compile-time and the only thing that tells the bootloader base flash address goes to the linker so I guess there's probably no trick to make this work? Since avr libc does include both <avr/boot.h> and <avr/pgmspace.h> this issue could get a mention in the latter. Britton