Microsoft поправя неправилно задействан блок PopCnt, но изискванията на Windows 11 24H2 може да останат тук

Microsoft поправя неправилно задействан блок PopCnt, но изискванията на Windows 11 24H2 може да останат тук

През последните няколко седмици интернет гъмжи от възможна предстояща промяна на системните изисквания на Windows 11 24H2, при което Microsoft изглежда иска да направи PopCnt, базирана на SSE 4.2 инструкция, задължителна в следващата версия на Windows 11, версия 24H2. Това означаваше, че по-старите процесори не успяват да заредят Canary build 25905 и байпасите, като този, при който се използва трик с една команда , също не работят.

Въпреки че не беше известно по това време, PopCnt също изглеждаше виновникът за повредените приложения на Microsoft Store в Windows 10, така че старите процесори не можеха да се стартират на тези системи, което често води до „Грешка във файловата система (-2147219196)“.

Инженер от Microsoft, Махмуд Г. Салех, който е главен софтуерен инженерен мениджър на MSVC (Microsoft Visual C++), по-късно потвърди, че проблемът е свързан с бъгав пакет Visual C++ Libraries (VCLibs). Те написаха :

Здравейте, екипът на Visual C++ идентифицира проблема като регресия в пакета vclibs framework, от който зависят приложението Photos и други приложения. Проблемът засяга компютри с по-стар хардуер (които не поддържат инструкции на SSE 4.2). В момента Microsoft работи по валидиране на решение и се очаква скоро да бъде пуснато на засегнатите клиенти.

Заслугата за повдигането на проблема е на Масахиро Такегами , който забеляза свързаната с PopCnt грешка на техния Intel Core 2 Quad Q6600 през ноември миналата година. Проблемът изглежда е въведен с актуализация на Visual Studio версия 17.8.0.

Най-новата версия на Visual Studio 2022, версия 17.9.1, коригира този проблем заедно с няколко други грешки. Пълният регистър на промените е даден по-долу:

Обобщение на новостите в тази версия на Visual Studio 2022 версия 17.9.1

  • Актуализира набора от инструменти 16.11 MSVC до 16.11.34 (14.29.30154.0) за клиенти, които използват набора от инструменти 16.11 C++ с VS 17.9.
  • Поправена е грешка, при която libconcrt.lib, използван при статично свързване, може да съдържа инструкция SSE 4.2, която е незаконна на по-стари X64 системи.
  • Добавена е поддръжка за char8_t като вграден тип за C++20 с /clr.

Въпреки че това трябва да коригира проблема с VS Code, както и проблема с неработещите приложения на по-стари процесори , изглежда малко вероятно по-старите чипове да работят на Windows 11 24H2. Инсталационният файл за версията на Windows 11 очевидно е започнал да показва съобщение „ Процесорът на този компютър не поддържа критична функция (PopCnt) “, когато потребителите се опитват да инсталират версия 24H2 на такива системи. Съобщението предполага, че Microsoft може съзнателно да въвежда тази промяна.