================ @@ -263,11 +263,17 @@ bool AVRAsmPrinter::doFinalization(Module &M) { auto *Section = cast<MCSectionELF>(TLOF.SectionForGlobal(&GO, TM)); if (Section->getName().starts_with(".data")) NeedsCopyData = true; - else if (Section->getName().starts_with(".rodata") && SubTM->hasLPM()) + else if (Section->getName().starts_with(".rodata") && SubTM->hasLPM()) { // AVRs that have a separate program memory (that's most AVRs) store - // .rodata sections in RAM. - NeedsCopyData = true; - else if (Section->getName().starts_with(".bss")) + // .rodata sections in RAM, + // but XMEGA3 family maps all flash in the data space. ---------------- Patryk27 wrote:
Does it actually map the entire flash or just this 32 kb segment? If it's just this segment that's mapped, is it assumed that we should never copy anything to RAM because the flash will just remap stuff during runtime? https://github.com/llvm/llvm-project/pull/146244 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits