Package: release.debian.org Severity: important X-Debbugs-Cc: debian-r...@lists.debian.org, sylves...@debian.org, d...@debian.org
Hi! This is prompted by #1095862 (RC-bug on LLVM/rustc for unsoundness/miscompilations on current Debian i386, because LLVM and thus rustc don't support Debian's i386 baseline). The issue was discussed back in November on debian-release/-devel, including a roll call for opinions on raising i386's baseline by elbrus [0] (with 6 pro voices, mine included, and no objections), and an analysis of affected hardware[1]. IMHO the most sensible change to the baseline would be to move from: - i686 since Debian 12 'bookworm'. There's no MMX nor SSE. [2] to - i686 with MMX and SSE/SSE2 ("Pentium 4") since Debian 13 'trixie' which is what I want to suggest by filing this issue. It seems to be sometimes refered to as i786, but that doesn't seem to be the universal nomenclature - but i686 is already meaning different things as well. I recently picked up the discussion on IRC (05.02.25): 12:35:13 <smcv> amacater, f_g: I think rust having a realistic/working baseline on i386 would be better than dropping rusty things from i386, because sooner or later I expect something like Mesa will pick up a Rust dependency, and that's necessary for the legacy-binaries/Wine/Steam use-case 20:03:03 <elbrus> f_g: if the baseline could be raised across the toolchain packages in sync (I mean, if they agree what to raise it too), than I (as a Release Team member) are fine with the raise; much more appreciated than removal of rustc on i386 I am not worried about the rebuild side for rustc, as we (well, mostly you ;)) rebuild the Rust world roughly every 6 weeks anyway with each new upstream release, and we still plan on uploading 1.85 for Trixie before the freeze starts. For rustc and LLVM an updated baseline would actually align us closer with upstream rather than deviating from it, so I expect the majority of fallout to be dropping patches that worked around this fact. Yesterday I reached out to the LLVM and GCC maintainers. Sylvestre (for the LLVM side) would be fine with raising its target to match a bumped baseline like described above, doko (for the GCC side) thinks it is too late in the release cycle to do that because of the number of rebuilds and potential performance implications it entails. @Sylvestre, @Doko : please expand the above if you feel like something is missing! A mixed approach (raising the baseline to allow LLVM and rustc to bump their targets, but keeping GCC's default target and thus the majority of packages at the current/old baseline and skip the rebuilds there) might be possible, but also has potential perfomance or bugginess implications because of switching back and forth between x87 and SSE floating operations. So it seems we are at an impasse now with the toolchain freeze rapidly approaching - and might have to remove i386 support from rustc (and in theory, LLVM as well, but I will of course defer to the respective team's opinion on that) for Trixie after all. Any further input that might help get this unstuck highly appreciated. I am sorry that this came up this late in the release cycle, and that I didn't push faster between November and now to get this resolved. Thanks for the consideration, Fabian 0: https://lists.debian.org/debian-devel/2024/11/msg00389.html 1: https://lists.debian.org/debian-release/2024/11/msg00459.html 2: https://wiki.debian.org/ArchitectureSpecificsMemo#i386-1