https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30417
Georg-Johann Lay <gjl at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gjl at gcc dot gnu.org --- Comment #6 from Georg-Johann Lay <gjl at gcc dot gnu.org> --- As of GCC 5 this should be no issue any more: The new device specs might specify -Tdata e.g. specs-atmega88 reads *link_data_start: -Tdata 0x800100 The file is located in $prefix/lib/gcc/avr/$version/device-specs/ provided default paths are used with configure. Cf. also the relevant release notes. Hence you could -- Drop that -Tdata from the device specs and specify appropriate -Tdata on the command line. -- Provide custom specs file derived from the one above. Sounds strange that bootloader and application are managed that way. Ususally, after the bootloader has finished, its memory is no more needed and will be cleaned up by the application's start-up code and used by the application without any conflicts.