[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bdbe9e04-4da0-64b2-ab0c-ae739d8fd7ac@163.com>
Date: Wed, 13 Nov 2019 22:55:30 +0800
From: Xiao Yang <ice_yangxiao@....com>
To: Masahiro Yamada <yamada.masahiro@...ionext.com>,
Daniel Borkmann <daniel@...earbox.net>
Cc: Will Deacon <will@...nel.org>,
linux-arch <linux-arch@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Alexei Starovoitov <ast@...nel.org>
Subject: Re: Question about "asm/rwonce.h: No such file or directory"
On 11/13/19 4:54 PM, Masahiro Yamada wrote:
> On Wed, Nov 13, 2019 at 5:36 PM Xiao Yang <ice_yangxiao@....com> wrote:
>> On 11/13/19 3:53 PM, Masahiro Yamada wrote:
>>> On Wed, Nov 13, 2019 at 4:17 PM Xiao Yang <ice_yangxiao@....com> wrote:
>>>> On 11/13/19 2:57 PM, Masahiro Yamada wrote:
>>>>> Sorry, I really do not understand what you are doing.
>>>>>
>>>>> include/linux/compiler.h is only for kernel-space.
>>>>> Shrug if a user-land program includes it.
>>>> Hi Masahiro,
>>>>
>>>> For building tools/bpf, it is good to fix the compiler error by Daniel's
>>>> patch(i.e. use linux/filter from linux header).
>>>>
>>>> linux/compiler.h may be used by other code in kernel. Is it possible to
>>>> trigger the same error when the other code
>>>>
>>>> including linux/compiler.h is built? Is this kind of code able to find
>>>> the location of <asm/rwonce.h>?
>>> <asm/rwonce.h> is also kernel-only header.
>>>
>>> The kernel code can find <asm/rwonce.h>, but user-land code cannot.
>> Hi Masahiro,
>>
>> Sorry, I am not familar with it.
>>
>> Thanks a lot for your explanation and I have seen the LINUXINCLUDE
>> variable in Makefile.
>>
>> I will try to send a patch as Daniel suggested.
>>
>> Best Regards,
>>
>> Xiao Yang
>>
> Hmm, digging into the git history,
> this include path was added by the following commit:
>
>
> commit d7475de58575c904818efa369c82e88c6648ce2e
> Author: Kamal Mostafa <kamal@...onical.com>
> Date: Wed Nov 11 14:24:27 2015 -0800
>
> tools/net: Use include/uapi with __EXPORTED_HEADERS__
>
> Use the local uapi headers to keep in sync with "recently" added #define's
> (e.g. SKF_AD_VLAN_TPID). Refactored CFLAGS, and bpf_asm doesn't need -I.
>
> Fixes: 3f356385e8a4 ("filter: bpf_asm: add minimal bpf asm tool")
> Signed-off-by: Kamal Mostafa <kamal@...onical.com>
> Acked-by: Daniel Borkmann <daniel@...earbox.net>
> Signed-off-by: David S. Miller <davem@...emloft.net>
>
>
>
> I am not sure how big a deal it is,
> but it could be a problem on old distros??
>
Hi Daniel, Masahiro
Could we include the linux/filter.h generated by "make headers_install"
as a higher priority?
(PS: According to above commit, just ensure that tools/bpf keeps in sync
with new linux header as far as possible).
and then use the linux/filter.h in system if kernel doesn't provide
linux/filter.h by "make headers_install".
--------------------------------------------------------------------------------------------------------------------
diff --git a/tools/bpf/Makefile b/tools/bpf/Makefile
index 5d1995fd369c..1e0c768132af 100644
--- a/tools/bpf/Makefile
+++ b/tools/bpf/Makefile
@@ -10,7 +10,7 @@ MAKE = make
INSTALL ?= install
CFLAGS += -Wall -O2
-CFLAGS += -D__EXPORTED_HEADERS__ -I$(srctree)/include/uapi
-I$(srctree)/include
+CFLAGS += -I$(srctree)/usr/include
# This will work when bpf is built in tools env. where srctree
# isn't set and when invoked from selftests build, where srctree
---------------------------------------------------------------------------------------------------------------------
Best Regards,
Xiao Yang
>
Powered by blists - more mailing lists