Re: [PATCH] samples: fix binderfs sample
From: Masahiro Yamada
Date: Tue May 05 2020 - 19:56:07 EST
Hi Arnd,
On Wed, Apr 29, 2020 at 6:26 AM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> A routine check for misspelled Kconfig symbols showed on instance
> from last year, the correct symbol name is CONFIG_ANDROID_BINDERFS,
> not CONFIG_CONFIG_ANDROID_BINDERFS, so the extra prefix must
> be removed in the Kconfig file to allow enabling the sample.
>
> As the actual sample fails to build as a kernel module, change the
> Makefile enough to get to build as a hostprog instead.
>
> Fixes: 9762dc1432e1 ("samples: add binderfs sample program")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> samples/Kconfig | 2 +-
> samples/binderfs/Makefile | 6 +++++-
> 2 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/samples/Kconfig b/samples/Kconfig
> index 5c31971a5745..e0b747cc90c9 100644
> --- a/samples/Kconfig
> +++ b/samples/Kconfig
> @@ -171,7 +171,7 @@ config SAMPLE_VFIO_MDEV_MBOCHS
>
> config SAMPLE_ANDROID_BINDERFS
> bool "Build Android binderfs example"
> - depends on CONFIG_ANDROID_BINDERFS
> + depends on ANDROID_BINDERFS
> help
> Builds a sample program to illustrate the use of the Android binderfs
> filesystem.
> diff --git a/samples/binderfs/Makefile b/samples/binderfs/Makefile
> index ea4c93d36256..a3ac5476338a 100644
> --- a/samples/binderfs/Makefile
> +++ b/samples/binderfs/Makefile
> @@ -1,2 +1,6 @@
> # SPDX-License-Identifier: GPL-2.0-only
> -obj-$(CONFIG_SAMPLE_ANDROID_BINDERFS) += binderfs_example.o
> +ifndef CROSS_COMPILE
> +ifdef CONFIG_SAMPLE_ANDROID_BINDERFS
> +hostprogs := binderfs_example
> +endif
> +endif
> --
> 2.26.0
>
binderfs_example.c includes <linux/android/binderfs.h>.
This uapi header is very new.
include/uapi/linux/android/binderfs.h was added by
commit c13295ad219d8bb0e47942d4cfc8251de449a67e
i.e. Linux 5.0
If this sample is compiled by a compiler with kernel headers
older than Linux 5.0, it will fail to build.
Documentation/process/changes.rst defines the minumal
GCC version, but the minimal kernel header version
is undefined.
Is there any criteria when to add
'-I usr/include' ?
At least, this is this case, I think.
--
Best Regards
Masahiro Yamada