Elektrine lite

← Feed

@mei@donotsta.re

Post #2196041

2025-11-22 14:03 UTC

current status: Rust's new implementation of formatting internals non-deterministically prints garbage on specifically ATmega2560 due to what we've tracked down to be an LLVM bug (see also: https://xkcd.com/2083/)

Replies (4)

  • @fasterthanlime@hachyderm.io 2025-11-22 14:04

    @mei@donotsta.re incredible

    Open ##2210004

  • @mei@donotsta.re 2025-11-22 14:10

    why formatting internals? well, they're doing pointer tagging that depends on alignment. why ATmega2560? well, that's the one that has 256KB of program flash. and a 2-byte return address can only support 128KB of program flash (because the flash is word addressed) which means that, yes, specifically the 256KB version of the microcontroller pushes 3-byte return addresses on the stack

    Open ##2210008

  • @manawyrm@chaos.social 2025-11-22 14:46

    @mei@donotsta.re tbf, using a 2560 in 2025 is also just deranged :D LLVM on AVR is such an absurd concept xD

    Open ##2210017

  • @wronglang@bayes.club 2025-11-23 10:48

    @mei@donotsta.re nice!

    Open ##2210019