Package: src:renderdoc Version: 1.11+dfsg-5 Severity: minor User: [email protected] Usertags: ftbfs-x86-64-v3
Starting with LLVM 12 and GCC 11 (and backported to gcc-10 for Debian), GCC introduces optimizations for new micro-architecture levels from the x86-64 psABI. Filing these bug reports for packages building with the current level (x86-64), but not with x86-64-v3. To reproduce these issues, append -march=x86-64-v3 to the compiler flags (CFLAGS, CXXFLAGS, ...). You also need hardware supporting these. The easiest way is to call the dynamic linker in glibc 2.33 like /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --help Otherwise look at the flags in /proc/cpuinfo and compare these with those from table 3.1 in the System V Application Binary Interface doc: https://gitlab.com/x86-psABIs/x86-64-ABI/-/wikis/x86-64-psABI Please don't upload a package setting these flags by default. The x86-64 baseline is still unchanged. The full build log can be found at: http://people.debian.org/~doko/logs/20210228/filtered/gcc10-v3/renderdoc_1.11+dfsg-5_unstable_gcc10-v3.log The last lines of the build log are at the end of this report. [...] /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp: In function ‘unsigned int half_float::detail::float2half_impl(double, std::true_type)’: /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:999:56: error: there are no arguments to ‘_mm_set_sd’ that depend on a template parameter, so a declaration of ‘_mm_set_sd’ must be available [-fpermissive] 999 | return _mm_cvtsi128_si32(_mm_cvtps_ph(_mm_cvtpd_ps(_mm_set_sd(value)), _MM_FROUND_CUR_DIRECTION)); | ^~~~~~~~~~ /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:999:76: error: ‘_MM_FROUND_CUR_DIRECTION’ was not declared in this scope 999 | return _mm_cvtsi128_si32(_mm_cvtps_ph(_mm_cvtpd_ps(_mm_set_sd(value)), _MM_FROUND_CUR_DIRECTION)); | ^~~~~~~~~~~~~~~~~~~~~~~~ /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp: In function ‘float half_float::detail::half2float_impl(unsigned int, float, std::true_type)’: /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:1099:38: error: ‘_mm_cvtsi32_si128’ was not declared in this scope 1099 | return _mm_cvtss_f32(_mm_cvtph_ps(_mm_cvtsi32_si128(value))); | ^~~~~~~~~~~~~~~~~ /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:1099:25: error: ‘_mm_cvtph_ps’ was not declared in this scope 1099 | return _mm_cvtss_f32(_mm_cvtph_ps(_mm_cvtsi32_si128(value))); | ^~~~~~~~~~~~ /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:1099:11: error: ‘_mm_cvtss_f32’ was not declared in this scope 1099 | return _mm_cvtss_f32(_mm_cvtph_ps(_mm_cvtsi32_si128(value))); | ^~~~~~~~~~~~~ /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp: In function ‘double half_float::detail::half2float_impl(unsigned int, double, std::true_type)’: /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:1262:51: error: ‘_mm_cvtsi32_si128’ was not declared in this scope 1262 | return _mm_cvtsd_f64(_mm_cvtps_pd(_mm_cvtph_ps(_mm_cvtsi32_si128(value)))); | ^~~~~~~~~~~~~~~~~ /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:1262:38: error: ‘_mm_cvtph_ps’ was not declared in this scope 1262 | return _mm_cvtsd_f64(_mm_cvtps_pd(_mm_cvtph_ps(_mm_cvtsi32_si128(value)))); | ^~~~~~~~~~~~ /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:1262:25: error: ‘_mm_cvtps_pd’ was not declared in this scope 1262 | return _mm_cvtsd_f64(_mm_cvtps_pd(_mm_cvtph_ps(_mm_cvtsi32_si128(value)))); | ^~~~~~~~~~~~ /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:1262:11: error: ‘_mm_cvtsd_f64’ was not declared in this scope 1262 | return _mm_cvtsd_f64(_mm_cvtps_pd(_mm_cvtph_ps(_mm_cvtsi32_si128(value)))); | ^~~~~~~~~~~~~ [ 57%] Building CXX object renderdoc/driver/vulkan/CMakeFiles/rdoc_vulkan.dir/vk_state.cpp.o cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/renderdoc/driver/vulkan && /usr/bin/c++ -DDISTRIBUTION_CONTACT=\"https://salsa.debian.org/xorg-team/app/renderdoc\" -DDISTRIBUTION_NAME=\"Debian\" -DDISTRIBUTION_VERSION=\"1.11+dfsg-5\" -DRENDERDOC_EXPORTS -DRENDERDOC_PLATFORM_LINUX -DRENDERDOC_STABLE_BUILD=1 -DRENDERDOC_SUPPORT_EGL -DRENDERDOC_SUPPORT_GL -DRENDERDOC_SUPPORT_GLES -DRENDERDOC_SUPPORT_VULKAN -DRENDERDOC_WINDOWING_XCB -DRENDERDOC_WINDOWING_XLIB -DVK_USE_PLATFORM_WIN32_KHR -DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_XLIB_KHR -DVK_USE_PLATFORM_XLIB_XRANDR_EXT -D_RELEASE -I/<<PKGBUILDDIR>>/renderdoc -I/<<PKGBUILDDIR>>/renderdoc/3rdparty -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -fno-strict-aliasing -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -Wno-unused-variable -Wno-unused-parameter -Wno-unused-result -Wno-type-limits -Wno-missing-field-initializers -Wno-unknown- pragmas -Wno-reorder -Wno-unused-but-set-variable -Wno-maybe-uninitialized -Wno-class-memaccess -Wimplicit-fallthrough=2 -O3 -DNDEBUG -fPIC -o CMakeFiles/rdoc_vulkan.dir/vk_state.cpp.o -c /<<PKGBUILDDIR>>/renderdoc/driver/vulkan/vk_state.cpp /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp: In instantiation of ‘unsigned int half_float::detail::float2half_impl(float, std::true_type) [with std::float_round_style R = std::round_to_nearest; std::true_type = std::integral_constant<bool, true>]’: /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:1066:29: required from ‘unsigned int half_float::detail::float2half(T) [with std::float_round_style R = std::round_to_nearest; T = float]’ /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:2077:99: required from here /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:910:52: error: ‘_mm_set_ss’ was not declared in this scope 910 | return _mm_cvtsi128_si32(_mm_cvtps_ph(_mm_set_ss(value), | ~~~~~~~~~~^~~~~~~ /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:915:29: error: ‘_mm_cvtps_ph’ was not declared in this scope 915 | _MM_FROUND_CUR_DIRECTION)); | ^ /<<PKGBUILDDIR>>/renderdoc/3rdparty/half/half.hpp:910:28: error: ‘_mm_cvtsi128_si32’ was not declared in this scope 910 | return _mm_cvtsi128_si32(_mm_cvtps_ph(_mm_set_ss(value), | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 911 | (R==std::round_to_nearest) ? _MM_FROUND_TO_NEAREST_INT : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 912 | (R==std::round_toward_zero) ? _MM_FROUND_TO_ZERO : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 913 | (R==std::round_toward_infinity) ? _MM_FROUND_TO_POS_INF : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 914 | (R==std::round_toward_neg_infinity) ? _MM_FROUND_TO_NEG_INF : | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 915 | _MM_FROUND_CUR_DIRECTION)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~ make[3]: *** [renderdoc/driver/vulkan/CMakeFiles/rdoc_vulkan.dir/build.make:397: renderdoc/driver/vulkan/CMakeFiles/rdoc_vulkan.dir/vk_shaderdebug.cpp.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu' make[2]: *** [CMakeFiles/Makefile2:488: renderdoc/driver/vulkan/CMakeFiles/rdoc_vulkan.dir/all] Error 2 /<<PKGBUILDDIR>>/renderdoc/driver/gl/gl_hooks.cpp: In member function ‘virtual void GLHook::RegisterHooks()’: /<<PKGBUILDDIR>>/renderdoc/driver/gl/gl_hooks.cpp:252:6: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without 252 | void GLHook::RegisterHooks() | ^~~~~~ make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu' [ 57%] Built target rdoc_gl make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu' make[1]: *** [Makefile:152: all] Error 2 make[1]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu' dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j4 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2 make: *** [debian/rules:10: build] Error 25 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2

