TL;DR

  • Rust 1.100.0부터 i686-pc-windows-msvc는 호스트 도구가 없는 Tier 1, i686-pc-windows-gnu는 호스트 도구가 없는 Tier 2 대상으로 변경됨.
  • 두 대상의 표준 라이브러리 빌드 배포는 계속되지만, 컴파일러 같은 호스트 도구는 더 이상 제공되지 않음.
  • i686-pc-windows-msvc는 Tier 1 대상으로서 CI 테스트를 계속 받음.
  • 32비트 Windows 호스트에 도구 체인을 설치할 수 없게 되며, 32비트 Windows 바이너리 빌드에는 지원되는 호스트 도구 체인에서의 크로스 컴파일이 필요함.
  • 32비트 전용 x86 하드웨어와 Windows 지원 환경의 감소, i686 도구 체인 빌드 중 발생한 문제를 고려해 두 대상의 호스트 도구 제공을 중단함.

배경

  • 데스크톱 및 서버용 32비트 전용 x86 CPU는 15년 넘게 판매되지 않고 있으며, 일반적인 32비트 Windows 지원은 2025년 10월 종료됨.
  • 이 대상이 겨냥하는 개발 플랫폼은 현재 거의 존재하지 않으며, 남아 있는 플랫폼도 대체로 개발 작업을 수행할 만큼 충분한 성능을 갖추지 못함.
  • 최신 x86_64 하드웨어에서도 i686 Windows 도구 체인 빌드에 문제가 발생함.
  • i686 MSVC 대상으로 빌드한 컴파일러 바이너리가 충돌하는 사례가 있었음.
  • LLVM 빌드 중 GNU C++ 도구 체인에서 메모리 부족(OOM)이 발생함.
  • 이러한 상황에서 더 잘 지원되는 대상에서 크로스 컴파일하는 방식이 앞으로의 최선의 해결책으로 판단됨. 이에 따라 해당 대상의 호스트 도구 생성을 중단함.
  • 당분간 사전 빌드된 표준 라이브러리는 계속 제공되며, i686-pc-windows-msvc는 CI 테스트도 계속 받음.

변경 사항

  • Rust 1.100 이후에는 32비트 Windows 호스트에 도구 체인을 설치할 수 없음.
  • 대신 64비트 Windows 도구 체인과 같이 계속 지원되는 호스트에서 크로스 컴파일하는 방식이 권장됨.
  • 이번 변경은 다른 32비트 플랫폼에는 영향을 주지 않음.
  • i686-pc-windows-msvc 강등에 대한 자세한 내용은 RFC 3999, i686-pc-windows-gnu 강등에 대한 내용은 MCP 1020에 있음.