Re: [PATCH 1/2] drm/i915: Ensure _print_param() builds with Clang

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 16, 2018 at 8:18 AM Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote:
>
> Quoting Jani Nikula (2018-10-16 13:29:37)
> > When building the kernel with Clang with defconfig and CONFIG_64BIT
> > disabled, vmlinux fails to link because of the BUILD_BUG in
> > _print_param.
> >
> > ld: drivers/gpu/drm/i915/i915_params.o: in function `i915_params_dump':
> > i915_params.c:(.text+0x56): undefined reference to
> > `__compiletime_assert_191'
> >
> > This function is semantically invalid unless the code is first inlined
> > then constant folded, which doesn't work for Clang because semantic
> > analysis happens before optimization/inlining.
> >
> > [The above written by Nathan Chancellor <natechancellor@xxxxxxxxx>]
> >
> > Use WARN_ONCE() instead of BUILD_BUG() to avoid the problem. The
> > WARN_ONCE() should get optimized away unless there's a type that's not
> > handled by _print_param().
> >
> > References: https://github.com/ClangBuiltLinux/linux/issues/191
> > References: http://mid.mail-archive.com/20181009171401.14980-1-natechancellor@xxxxxxxxx
> > Cc: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> > Cc: Nathan Chancellor <natechancellor@xxxxxxxxx>
> > Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> > Reported-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> > Reported-by: Nathan Chancellor <natechancellor@xxxxxxxxx>
> > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
>
> Fair enough,
> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> -Chris

Thanks for the fix, we appreciate it!
Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>

-- 
Thanks,
~Nick Desaulniers
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux