2014-12-03 06:52:44

by Masahiro Yamada

[permalink] [raw]
Subject: [PATCH] kbuild: fix scripts/headers.sh to see the correct Kbuild path

The exported headers were moved to "uapi" directories.
We should check the existence of arch/*/include/uapi/asm/Kbuild.

Signed-off-by: Masahiro Yamada <[email protected]>
---

scripts/headers.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/headers.sh b/scripts/headers.sh
index 95ece06..b164336 100755
--- a/scripts/headers.sh
+++ b/scripts/headers.sh
@@ -6,7 +6,7 @@ set -e

do_command()
{
- if [ -f ${srctree}/arch/$2/include/asm/Kbuild ]; then
+ if [ -f ${srctree}/arch/$2/include/uapi/asm/Kbuild ]; then
make ARCH=$2 KBUILD_HEADERS=$1 headers_$1
else
printf "Ignoring arch: %s\n" ${arch}
--
1.9.1


2014-12-08 21:58:38

by Paul Bolle

[permalink] [raw]
Subject: Re: [PATCH] kbuild: fix scripts/headers.sh to see the correct Kbuild path

Masahiro,

On Wed, 2014-12-03 at 15:52 +0900, Masahiro Yamada wrote:
> The exported headers were moved to "uapi" directories.
> We should check the existence of arch/*/include/uapi/asm/Kbuild.
>
> Signed-off-by: Masahiro Yamada <[email protected]>
> ---

Does this patch fix any problems? If so, which? And why did no one
notice these problems before? Perhaps the commit explanation could
mention that.

See, none of this is obvious, at least to me, and I don't think people
reading the patch should be expected to figure this out themselves.

> scripts/headers.sh | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/headers.sh b/scripts/headers.sh
> index 95ece06..b164336 100755
> --- a/scripts/headers.sh
> +++ b/scripts/headers.sh
> @@ -6,7 +6,7 @@ set -e
>
> do_command()
> {
> - if [ -f ${srctree}/arch/$2/include/asm/Kbuild ]; then
> + if [ -f ${srctree}/arch/$2/include/uapi/asm/Kbuild ]; then
> make ARCH=$2 KBUILD_HEADERS=$1 headers_$1
> else
> printf "Ignoring arch: %s\n" ${arch}

Thanks,


Paul Bolle

2014-12-11 01:41:31

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH] kbuild: fix scripts/headers.sh to see the correct Kbuild path

Hi Paul,


On Mon, 08 Dec 2014 22:58:33 +0100
Paul Bolle <[email protected]> wrote:

> Masahiro,
>
> On Wed, 2014-12-03 at 15:52 +0900, Masahiro Yamada wrote:
> > The exported headers were moved to "uapi" directories.
> > We should check the existence of arch/*/include/uapi/asm/Kbuild.
> >
> > Signed-off-by: Masahiro Yamada <[email protected]>
> > ---
>
> Does this patch fix any problems? If so, which?


I am fixing a wrong code.

Actually, the "um" architecture does not support headers install.

arch/um/include/asm/Kbuild exists
arch/um/include/uapi/asm/Kbuild does not exist

Checking arch/*/include/asm/Kbuild does not work.


Moreover, the top Makefile is checking arch/*/include/uapi/asm/Kbuild


headers_install: __headers
$(if $(wildcard $(srctree)/arch/$(hdr-arch)/include/uapi/asm/Kbuild),, \
$(error Headers not exportable for the $(SRCARCH) architecture))





> And why did no one
> notice these problems before? Perhaps the commit explanation could
> mention that.


You will notice the code below:

for arch in ${archs}; do
case ${arch} in
um) # no userspace export
;;


"um" has already been omitted and it never reaches do_command().
That is why nobody has noticed this issue.

Uh, OK, we do not need double-checking.




Best Regards
Masahiro Yamada