The segfaults caused by BINDNOW are x86-specific. Limit the blacklisting to x86 systems and add further documentation, why BINDNOW has to be blacklisted.
Signed-off-by: Michael Tretter <[email protected]> --- rules/igt-gpu-tools.make | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rules/igt-gpu-tools.make b/rules/igt-gpu-tools.make index a2d9f4d5a221..734db1d07e8c 100644 --- a/rules/igt-gpu-tools.make +++ b/rules/igt-gpu-tools.make @@ -29,10 +29,16 @@ IGT_GPU_TOOLS_LICENSE_FILES := \ # Prepare # ---------------------------------------------------------------------------- -# For some reason, intel_gpu_frequency and other segfault immediately if -# built with -Wl,-z,now. +# On x86 systems, libigt resolves igt_half_to_float and igt_float_to_half as +# indirect functions at runtime by checking CPU features with igt_x86_features. +# The igt_x86_features function is implemented is a different object and the +# call uses the PLT itself. If lazy binding is disabled, this causes a segfault +# while resolving the symbols for libigt on x64 systems. Disable BINDNOW on X86 +# systems to prevent the segfaults. +ifdef PTXCONF_ARCH_X86 IGT_GPU_TOOLS_WRAPPER_BLACKLIST := \ TARGET_HARDEN_BINDNOW +endif IGT_GPU_TOOLS_LIBDRM-y := ifdef PTXCONF_ARCH_X86 -- 2.39.2
