[drm:drm-next 990/1014] ./usr/include/drm/amdgpu_drm.h:38: userspace cannot reference function or variable defined in the kernel

Emil Velikov emil.l.velikov at gmail.com
Tue May 17 10:24:03 UTC 2016


On 17 May 2016 at 09:19, kbuild test robot <fengguang.wu at intel.com> wrote:
> tree:   git://people.freedesktop.org/~airlied/linux.git drm-next
> head:   7c10ddf87472c07eabc206e273dc59f77c700858
> commit: cfa7152f1cfeedba7c4ab3abcb4accee94cc2c0f [990/1014] drm/amdgpu: add extern C guard for the UAPI header
> config: i386-tinyconfig (attached as .config)
> compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430
> reproduce:
>         git checkout cfa7152f1cfeedba7c4ab3abcb4accee94cc2c0f
>         # save the attached .config to linux build tree
>         make ARCH=i386
>
> All warnings (new ones prefixed by >>):
>
>>> ./usr/include/drm/amdgpu_drm.h:38: userspace cannot reference function or variable defined in the kernel
>
Interesting that target does not execute on my system. Must have
something different here.

The messages seems bogus, since scripts/headers_check.pl does not
expand/evaluate the macros, but blindly checks line by line looking
for "extern|unsigned|char|short|int|long|void". We actually removed
some of these recently ... yay :-)

Quickest solution would be to skip "extern \"C\"", the long term
solution is to teach the script to honour/evaluate macros. Leaning
towards the latter since my Perl is quite rough.. do we have any Perl
experts around willing to make the script smarter ?

Thanks
Emil


More information about the dri-devel mailing list