compiler-clang: remove version check for BPF Tracing

Message ID 20201104191052.390657-1-ndesaulniers@google.com
State New
Headers show
Series
  • compiler-clang: remove version check for BPF Tracing
Related show

Commit Message

Nick Desaulniers Nov. 4, 2020, 7:10 p.m.
bpftrace parses the kernel headers and uses Clang under the hood. Remove
the version check when __BPF_TRACING__ is defined (as bpftrace does) so
that this tool can continue to parse kernel headers, even with older
clang sources.

Cc: <stable@vger.kernel.org>
Fixes: commit 1f7a44f63e6c ("compiler-clang: add build check for clang 10.0.1")
Reported-by: Chen Yu <yu.chen.surf@gmail.com>
Reported-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

---
 include/linux/compiler-clang.h | 2 ++
 1 file changed, 2 insertions(+)

-- 
2.29.1.341.ge80a0c044ae-goog

Comments

Song Liu Nov. 5, 2020, 12:25 a.m. | #1
> On Nov 4, 2020, at 12:33 PM, Jarkko Sakkinen <jarkko@kernel.org> wrote:

> 

> On Wed, Nov 04, 2020 at 11:10:51AM -0800, Nick Desaulniers wrote:

>> bpftrace parses the kernel headers and uses Clang under the hood. Remove

>> the version check when __BPF_TRACING__ is defined (as bpftrace does) so

>> that this tool can continue to parse kernel headers, even with older

>> clang sources.

>> 

>> Cc: <stable@vger.kernel.org>

>> Fixes: commit 1f7a44f63e6c ("compiler-clang: add build check for clang 10.0.1")

>> Reported-by: Chen Yu <yu.chen.surf@gmail.com>

>> Reported-by: Jarkko Sakkinen <jarkko@kernel.org>

>> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

>> ---

> 

> Thank you, resolved my issue.

> 

> Acked-by: Jarkko Sakkinen <jarkko@kernel.org>

> Tested-by: Jarkko Sakkinen <jarkko@kernel.org>


Acked-by: Song Liu <songliubraving@fb.com>
Andrew Morton Nov. 5, 2020, 12:51 a.m. | #2
On Wed,  4 Nov 2020 11:10:51 -0800 Nick Desaulniers <ndesaulniers@google.com> wrote:

> bpftrace parses the kernel headers and uses Clang under the hood. Remove

> the version check when __BPF_TRACING__ is defined (as bpftrace does) so

> that this tool can continue to parse kernel headers, even with older

> clang sources.

> 

> Cc: <stable@vger.kernel.org>

> Fixes: commit 1f7a44f63e6c ("compiler-clang: add build check for clang 10.0.1")


1f7a44f63e6c is only in 5.10-rcX, so I shall remove the cc:stable.
Miguel Ojeda Nov. 5, 2020, 2:22 a.m. | #3
On Wed, Nov 4, 2020 at 8:11 PM Nick Desaulniers <ndesaulniers@google.com> wrote:
>

> bpftrace parses the kernel headers and uses Clang under the hood. Remove

> the version check when __BPF_TRACING__ is defined (as bpftrace does) so

> that this tool can continue to parse kernel headers, even with older

> clang sources.


Acked-by: Miguel Ojeda <ojeda@kernel.org>


Cheers,
Miguel
Alexei Starovoitov Nov. 6, 2020, 4:16 a.m. | #4
On Wed, Nov 4, 2020 at 11:11 AM Nick Desaulniers
<ndesaulniers@google.com> wrote:
>

> bpftrace parses the kernel headers and uses Clang under the hood. Remove

> the version check when __BPF_TRACING__ is defined (as bpftrace does) so

> that this tool can continue to parse kernel headers, even with older

> clang sources.

>

> Cc: <stable@vger.kernel.org>

> Fixes: commit 1f7a44f63e6c ("compiler-clang: add build check for clang 10.0.1")

> Reported-by: Chen Yu <yu.chen.surf@gmail.com>

> Reported-by: Jarkko Sakkinen <jarkko@kernel.org>

> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

> ---

>  include/linux/compiler-clang.h | 2 ++

>  1 file changed, 2 insertions(+)

>

> diff --git a/include/linux/compiler-clang.h b/include/linux/compiler-clang.h

> index dd7233c48bf3..98cff1b4b088 100644

> --- a/include/linux/compiler-clang.h

> +++ b/include/linux/compiler-clang.h

> @@ -8,8 +8,10 @@

>                      + __clang_patchlevel__)

>

>  #if CLANG_VERSION < 100001

> +#ifndef __BPF_TRACING__

>  # error Sorry, your version of Clang is too old - please use 10.0.1 or newer.

>  #endif

> +#endif


I can take it through the bpf tree if no one objects.
Jarkko Sakkinen Nov. 6, 2020, 10:32 p.m. | #5
On Fri, Nov 06, 2020 at 10:52:50AM -0800, Nick Desaulniers wrote:
> On Thu, Nov 5, 2020 at 8:16 PM Alexei Starovoitov
> <alexei.starovoitov@gmail.com> wrote:
> >
> > I can take it through the bpf tree if no one objects.
> 
> Doesn't matter to me. You'll need to coordinate with Andrew though,
> since I got the email that this was picked up into -mm:
> 
> >> This patch should soon appear at
> >>     https://ozlabs.org/~akpm/mmots/broken-out/compiler-clang-remove-version-check-for-bpf-tracing.patch
> >> and later at
> >>     https://ozlabs.org/~akpm/mmotm/broken-out/compiler-clang-remove-version-check-for-bpf-tracing.patch

Thanks a lot for quick response to everyone :-) This ebpf tracing has
been a great help lately with the SGX patch set. Hope I get chance to
contribute to this work at some point in future.

> -- 
> Thanks,
> ~Nick Desaulniers

/Jarkko

Patch

diff --git a/include/linux/compiler-clang.h b/include/linux/compiler-clang.h
index dd7233c48bf3..98cff1b4b088 100644
--- a/include/linux/compiler-clang.h
+++ b/include/linux/compiler-clang.h
@@ -8,8 +8,10 @@ 
 		     + __clang_patchlevel__)
 
 #if CLANG_VERSION < 100001
+#ifndef __BPF_TRACING__
 # error Sorry, your version of Clang is too old - please use 10.0.1 or newer.
 #endif
+#endif
 
 /* Compiler specific definitions for Clang compiler */