Re: [Cocci] [PATCH] coccinelle: misc: add excluded_middle.cocci script

2020-09-02 Thread Jim Davis
On Wed, Sep 2, 2020 at 8:19 AM Denis Efremov  wrote:
>
> Check for "!A || A && B" condition. It's equivalent to
> "!A || B" condition.
>
> Signed-off-by: Denis Efremov 
> ---
>  scripts/coccinelle/misc/excluded_middle.cocci | 40 +++
>  1 file changed, 40 insertions(+)
>  create mode 100644 scripts/coccinelle/misc/excluded_middle.cocci
>
> diff --git a/scripts/coccinelle/misc/excluded_middle.cocci 
> b/scripts/coccinelle/misc/excluded_middle.cocci
> new file mode 100644
> index ..1b8c20f13966
> --- /dev/null
> +++ b/scripts/coccinelle/misc/excluded_middle.cocci
> @@ -0,0 +1,40 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +///
> +/// Condition "!A || A && B" is equalent to "!A || B".

s/equalent/equivalent/

> +///
> +// Confidence: High
> +// Copyright: (C) 2020 Denis Efremov ISPRAS
> +// Options: --no-includes --include-headers
> +
> +virtual patch
> +virtual context
> +virtual org
> +virtual report
> +
> +@r depends on !patch@
> +expression A, B;
> +position p;
> +@@
> +
> +* !A || (A && B)@p
> +
> +@depends on patch@
> +expression A, B;
> +@@
> +
> +  !A ||
> +-  (A &&
> + B
> +-  )
> +
> +@script:python depends on report@
> +p << r.p;
> +@@
> +
> +coccilib.report.print_report(p[0], "WARNING condition !A || A && B is 
> equivalent to !A || B")
> +
> +@script:python depends on org@
> +p << r.p;
> +@@
> +
> +coccilib.org.print_todo(p[0], "WARNING condition !A || A && B is equivalent 
> to !A || B")
> --
> 2.26.2
>
> ___
> Cocci mailing list
> co...@systeme.lip6.fr
> https://systeme.lip6.fr/mailman/listinfo/cocci



-- 
Jim


Re: [PATCH] kbuild: pkg: make out-of-tree rpm/deb-pkg build immediately fail

2017-12-06 Thread Jim Davis
On Wed, Dec 6, 2017 at 3:32 AM, Masahiro Yamada
<yamada.masah...@socionext.com> wrote:
> We do not support out-of-tree building of rpm-pkg / deb-pkg.  If O=
> is given, the build should be terminated, but the "false" command is
> not effective because it is not the last command in the cmd_src_tar.
> Then, rpm-pkg / deb-pkg tries to continue building, and fails for a
> different reason.
>
> Set -e option so that the "false" terminates the building immediately.
>
> I also put the error messages to stderr, and made it stand out more.
>
> For example, "make O=foo rpm-pkg" will fail as follows:
>
>   /bin/bash ../scripts/package/mkspec >./kernel.spec
> TAR kernel-4.15.0_rc2+.tar.gz
>
> ERROR:
> Building source tarball is not possible outside the
> kernel source tree. Don't set KBUILD_OUTPUT, or use the
> binrpm-pkg or bindeb-pkg target instead.
>
>   ../scripts/package/Makefile:53: recipe for target 'rpm-pkg' failed
>
> Signed-off-by: Masahiro Yamada <yamada.masah...@socionext.com>
> ---
>
>  scripts/package/Makefile | 10 +++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/package/Makefile b/scripts/package/Makefile
> index 61e29da..9fbcf5e 100644
> --- a/scripts/package/Makefile
> +++ b/scripts/package/Makefile
> @@ -32,10 +32,14 @@ MKSPEC := $(srctree)/scripts/package/mkspec
>
>  quiet_cmd_src_tar = TAR $(2).tar.gz
>cmd_src_tar = \
> +set -e; \
>  if test "$(objtree)" != "$(srctree)"; then \
> -   echo "Building source tarball is not possible outside the"; \
> -   echo "kernel source tree. Don't set KBUILD_OUTPUT, or use the"; \
> -   echo "binrpm-pkg or bindeb-pkg target instead."; \
> +   echo >&2; \
> +   echo >&2 "  ERROR:"; \
> +   echo >&2 "  Building source tarball is not possible outside the"; \
> +   echo >&2 "  kernel source tree. Don't set KBUILD_OUTPUT, or use the"; 
> \
> +   echo >&2 "  binrpm-pkg or bindeb-pkg target instead."; \
> +   echo >&2; \
> false; \
>  fi ; \
>  $(srctree)/scripts/setlocalversion --save-scmversion; \
> --
> 2.7.4
>

Tested-by: Jim Davis <jim.ep...@gmail.com>

-- 
Jim


Re: [PATCH] kbuild: pkg: make out-of-tree rpm/deb-pkg build immediately fail

2017-12-06 Thread Jim Davis
On Wed, Dec 6, 2017 at 3:32 AM, Masahiro Yamada
 wrote:
> We do not support out-of-tree building of rpm-pkg / deb-pkg.  If O=
> is given, the build should be terminated, but the "false" command is
> not effective because it is not the last command in the cmd_src_tar.
> Then, rpm-pkg / deb-pkg tries to continue building, and fails for a
> different reason.
>
> Set -e option so that the "false" terminates the building immediately.
>
> I also put the error messages to stderr, and made it stand out more.
>
> For example, "make O=foo rpm-pkg" will fail as follows:
>
>   /bin/bash ../scripts/package/mkspec >./kernel.spec
> TAR kernel-4.15.0_rc2+.tar.gz
>
> ERROR:
> Building source tarball is not possible outside the
> kernel source tree. Don't set KBUILD_OUTPUT, or use the
> binrpm-pkg or bindeb-pkg target instead.
>
>   ../scripts/package/Makefile:53: recipe for target 'rpm-pkg' failed
>
> Signed-off-by: Masahiro Yamada 
> ---
>
>  scripts/package/Makefile | 10 +++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/package/Makefile b/scripts/package/Makefile
> index 61e29da..9fbcf5e 100644
> --- a/scripts/package/Makefile
> +++ b/scripts/package/Makefile
> @@ -32,10 +32,14 @@ MKSPEC := $(srctree)/scripts/package/mkspec
>
>  quiet_cmd_src_tar = TAR $(2).tar.gz
>cmd_src_tar = \
> +set -e; \
>  if test "$(objtree)" != "$(srctree)"; then \
> -   echo "Building source tarball is not possible outside the"; \
> -   echo "kernel source tree. Don't set KBUILD_OUTPUT, or use the"; \
> -   echo "binrpm-pkg or bindeb-pkg target instead."; \
> +   echo >&2; \
> +   echo >&2 "  ERROR:"; \
> +   echo >&2 "  Building source tarball is not possible outside the"; \
> +   echo >&2 "  kernel source tree. Don't set KBUILD_OUTPUT, or use the"; 
> \
> +   echo >&2 "  binrpm-pkg or bindeb-pkg target instead."; \
> +   echo >&2; \
> false; \
>  fi ; \
>  $(srctree)/scripts/setlocalversion --save-scmversion; \
> --
> 2.7.4
>

Tested-by: Jim Davis 

-- 
Jim


Re: [PATCH v3] scripts/package: snap-pkg target

2017-12-05 Thread Jim Davis
On Tue, Dec 5, 2017 at 4:43 AM, Paolo Pisati  wrote:

>> I noticed that if I tried to make snap-pkg with the O=/some/dir option
>> the tar step failed but the rest of the build continued, and seems to
>> have finished successfully.  Should the snap-pkg target stop after a
>> tar failure?
>
> That is weird, how did you do that?

make O=/some/dir defconfig (or your-config-of-choice)
make O=/some/dir snap-pkg

The snap-pkg target is calling the src_tar command, which bails when
$(objtree) isn't $(srctree).

Is $(objtree) = $(srctree) a necessary restriction with snap builds?
It's a restriction for rpm builds for some reason or another, but I
thought that was just a peculiarity of the rpm build process.  If the
snap's tarball could be built without using src_tar, like the buildtar
script does, then Bob's your uncle.

Though if the source tree is an essential part of the snap build then
perhaps the build should just exit if the tarball can't be generated
for whatever reason, including users doing weird things :)

-- 
Jim


Re: [PATCH v3] scripts/package: snap-pkg target

2017-12-05 Thread Jim Davis
On Tue, Dec 5, 2017 at 4:43 AM, Paolo Pisati  wrote:

>> I noticed that if I tried to make snap-pkg with the O=/some/dir option
>> the tar step failed but the rest of the build continued, and seems to
>> have finished successfully.  Should the snap-pkg target stop after a
>> tar failure?
>
> That is weird, how did you do that?

make O=/some/dir defconfig (or your-config-of-choice)
make O=/some/dir snap-pkg

The snap-pkg target is calling the src_tar command, which bails when
$(objtree) isn't $(srctree).

Is $(objtree) = $(srctree) a necessary restriction with snap builds?
It's a restriction for rpm builds for some reason or another, but I
thought that was just a peculiarity of the rpm build process.  If the
snap's tarball could be built without using src_tar, like the buildtar
script does, then Bob's your uncle.

Though if the source tree is an essential part of the snap build then
perhaps the build should just exit if the tarball can't be generated
for whatever reason, including users doing weird things :)

-- 
Jim


Re: [PATCH v3] scripts/package: snap-pkg target

2017-11-30 Thread Jim Davis
On Wed, Nov 29, 2017 at 10:05 AM, Paolo Pisati
 wrote:
> On Wed, Nov 29, 2017 at 8:33 AM, Masahiro Yamada
>  wrote:
>>
>> Worked for me too,
>> after updating snapcraft.
>>
>>
>> Is it really impossible to check the snapcraft version?
>> What is the minimum version?   2.35 ?
>
> The minimum version is 2.35+ - what is about to become 2.36 anytime soon now.

If I run /snap/bin/snapcraft --version now on that Ubuntu 16.04 VM I
am getting 2.36+git2.ae61453.

I noticed that if I tried to make snap-pkg with the O=/some/dir option
the tar step failed but the rest of the build continued, and seems to
have finished successfully.  Should the snap-pkg target stop after a
tar failure?

-- 
Jim


Re: [PATCH v3] scripts/package: snap-pkg target

2017-11-30 Thread Jim Davis
On Wed, Nov 29, 2017 at 10:05 AM, Paolo Pisati
 wrote:
> On Wed, Nov 29, 2017 at 8:33 AM, Masahiro Yamada
>  wrote:
>>
>> Worked for me too,
>> after updating snapcraft.
>>
>>
>> Is it really impossible to check the snapcraft version?
>> What is the minimum version?   2.35 ?
>
> The minimum version is 2.35+ - what is about to become 2.36 anytime soon now.

If I run /snap/bin/snapcraft --version now on that Ubuntu 16.04 VM I
am getting 2.36+git2.ae61453.

I noticed that if I tried to make snap-pkg with the O=/some/dir option
the tar step failed but the rest of the build continued, and seems to
have finished successfully.  Should the snap-pkg target stop after a
tar failure?

-- 
Jim


Re: [PATCH v3] scripts/package: snap-pkg target

2017-11-28 Thread Jim Davis
On Tue, Nov 28, 2017 at 10:14 AM, Paolo Pisati
<paolo.pis...@canonical.com> wrote:
> On Mon, Nov 27, 2017 at 7:33 PM, Jim Davis <jim.ep...@gmail.com> wrote:
>>
>> With this patch applied to the 4.14 kernel source, and running make
>> snap-pkg on a Ubuntu 16.04 VM with the latest 16.04 kernel config
>> file, I ran into
>>
>> Traceback (most recent call last):
>>   File "/usr/lib/python3.5/shutil.py", line 538, in move
>> os.rename(src, real_dst)
>> FileNotFoundError: [Errno 2] No such file or directory:
>> '/home/jim/linux/snap/parts/kernel/install/lib/firmware' ->
>> '/home/jim/linux/snap/parts/kernel/install/firmware'
>>
>> What did I miss?
>
> You need a recent version of snapcraft, i landed a fix for that last week.
>
> $ snap install --classic --edge snapcraft
>
> or refresh it, in case you already installed via snaps:
>
> $ snap refresh --edge snapcraft
>
> and then 'make snap-pkg' again.
> Beware of $PATH in case you have the snap and deb version installed.

Ok, after updating and setting ~/snapcraft/bin/snapcraft ahead of
/usr/bin in my $PATH, the build completed.   Oddly both
/usr/bin/snapcraft --version and ~/snapcraft/bin/snapcraft --version
return 2.34, though the build failed with /usr/bin/snapcraft.

-- 
Jim


Re: [PATCH v3] scripts/package: snap-pkg target

2017-11-28 Thread Jim Davis
On Tue, Nov 28, 2017 at 10:14 AM, Paolo Pisati
 wrote:
> On Mon, Nov 27, 2017 at 7:33 PM, Jim Davis  wrote:
>>
>> With this patch applied to the 4.14 kernel source, and running make
>> snap-pkg on a Ubuntu 16.04 VM with the latest 16.04 kernel config
>> file, I ran into
>>
>> Traceback (most recent call last):
>>   File "/usr/lib/python3.5/shutil.py", line 538, in move
>> os.rename(src, real_dst)
>> FileNotFoundError: [Errno 2] No such file or directory:
>> '/home/jim/linux/snap/parts/kernel/install/lib/firmware' ->
>> '/home/jim/linux/snap/parts/kernel/install/firmware'
>>
>> What did I miss?
>
> You need a recent version of snapcraft, i landed a fix for that last week.
>
> $ snap install --classic --edge snapcraft
>
> or refresh it, in case you already installed via snaps:
>
> $ snap refresh --edge snapcraft
>
> and then 'make snap-pkg' again.
> Beware of $PATH in case you have the snap and deb version installed.

Ok, after updating and setting ~/snapcraft/bin/snapcraft ahead of
/usr/bin in my $PATH, the build completed.   Oddly both
/usr/bin/snapcraft --version and ~/snapcraft/bin/snapcraft --version
return 2.34, though the build failed with /usr/bin/snapcraft.

-- 
Jim


Re: [PATCH] builddeb: introduce variables for control-file customization

2017-11-27 Thread Jim Davis
On Mon, Nov 27, 2017 at 9:13 AM, Henning Schild
 wrote:
> The debian packages coming out of "make *deb-pkg" lack some critical
> information in the control-files e.g. the "Depends:" field. If one
> tries to install a fresh system with such a "linux-image" debootstrap or
> multistrap might try to install the kernel before its deps and the
> package hooks will fail.

Has that shown up in practice?  The builddeb script goes back some years now...

> +   eval 'create_package "$kernel_headers_packagename" \
> +   "$kernel_headers_dir"' "$KDEB_OPTS_IMAGE_HEADERS"

eval in a shell script with arbitrary input can lead to shenanigans like

make bindeb-pkg KDEB_OPTS_IMAGE_HEADERS="; echo All your base"

and other potentially nastier things.  Probably not an issue for a
typical kernel developer sitting in front of his or her laptop, but if
I ran a big automated unattended build farm I might prefer a non-eval
alternative.

-- 
Jim


Re: [PATCH] builddeb: introduce variables for control-file customization

2017-11-27 Thread Jim Davis
On Mon, Nov 27, 2017 at 9:13 AM, Henning Schild
 wrote:
> The debian packages coming out of "make *deb-pkg" lack some critical
> information in the control-files e.g. the "Depends:" field. If one
> tries to install a fresh system with such a "linux-image" debootstrap or
> multistrap might try to install the kernel before its deps and the
> package hooks will fail.

Has that shown up in practice?  The builddeb script goes back some years now...

> +   eval 'create_package "$kernel_headers_packagename" \
> +   "$kernel_headers_dir"' "$KDEB_OPTS_IMAGE_HEADERS"

eval in a shell script with arbitrary input can lead to shenanigans like

make bindeb-pkg KDEB_OPTS_IMAGE_HEADERS="; echo All your base"

and other potentially nastier things.  Probably not an issue for a
typical kernel developer sitting in front of his or her laptop, but if
I ran a big automated unattended build farm I might prefer a non-eval
alternative.

-- 
Jim


Re: [PATCH v3] scripts/package: snap-pkg target

2017-11-27 Thread Jim Davis
On Mon, Nov 27, 2017 at 4:07 AM, Paolo Pisati
 wrote:
> Following in footsteps of other targets like 'deb-pkg, 'rpm-pkg' and 
> 'tar-pkg',
> this patch adds a 'snap-pkg' target for the creation of a Linux kernel snap
> package using the kbuild infrastructure.

With this patch applied to the 4.14 kernel source, and running make
snap-pkg on a Ubuntu 16.04 VM with the latest 16.04 kernel config
file, I ran into

Traceback (most recent call last):
  File "/usr/lib/python3.5/shutil.py", line 538, in move
os.rename(src, real_dst)
FileNotFoundError: [Errno 2] No such file or directory:
'/home/jim/linux/snap/parts/kernel/install/lib/firmware' ->
'/home/jim/linux/snap/parts/kernel/install/firmware'

What did I miss?

-- 
Jim


Re: [PATCH v3] scripts/package: snap-pkg target

2017-11-27 Thread Jim Davis
On Mon, Nov 27, 2017 at 4:07 AM, Paolo Pisati
 wrote:
> Following in footsteps of other targets like 'deb-pkg, 'rpm-pkg' and 
> 'tar-pkg',
> this patch adds a 'snap-pkg' target for the creation of a Linux kernel snap
> package using the kbuild infrastructure.

With this patch applied to the 4.14 kernel source, and running make
snap-pkg on a Ubuntu 16.04 VM with the latest 16.04 kernel config
file, I ran into

Traceback (most recent call last):
  File "/usr/lib/python3.5/shutil.py", line 538, in move
os.rename(src, real_dst)
FileNotFoundError: [Errno 2] No such file or directory:
'/home/jim/linux/snap/parts/kernel/install/lib/firmware' ->
'/home/jim/linux/snap/parts/kernel/install/firmware'

What did I miss?

-- 
Jim


Re: [PATCH 2/7] kbuild: Add P= command line flag to run checkpatch

2017-11-21 Thread Jim Davis
On Tue, Nov 21, 2017 at 1:10 AM, Knut Omang  wrote:

> Would you like to keep the checkpatch changes in some form, or would you 
> rather
> see everything happening in the wrapper?

I don't have a strong preference one way or another, but keeping
everything in a wrapper script might be easier if only because you
wouldn't need to get signoffs from whoever maintains checkpatch too.

-- 
Jim


Re: [PATCH 2/7] kbuild: Add P= command line flag to run checkpatch

2017-11-21 Thread Jim Davis
On Tue, Nov 21, 2017 at 1:10 AM, Knut Omang  wrote:

> Would you like to keep the checkpatch changes in some form, or would you 
> rather
> see everything happening in the wrapper?

I don't have a strong preference one way or another, but keeping
everything in a wrapper script might be easier if only because you
wouldn't need to get signoffs from whoever maintains checkpatch too.

-- 
Jim


Re: [PATCH 2/7] kbuild: Add P= command line flag to run checkpatch

2017-11-20 Thread Jim Davis
On Mon, Nov 20, 2017 at 2:22 PM, Luc Van Oostenryck
 wrote:

> Should it be possible to somehow keep the distinction between
> the flags coming from KBUILD_CFLAGS and the pure CHECKFLAGS?

Well, the practical problem seems to be that $(CHECK) is called in
scripts/Makefile.build with both $(CHECKFLAGS) and $(c_flags) as
arguments, regardless of what $(CHECK) is.  That can be hacked around
with something inelegant like

diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index bb831d49bcfd..102194f9afb9 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -98,14 +98,20 @@ __build: $(if $(KBUILD_BUILTIN),$(builtin-target)
$(lib-target) $(extra-y)) \
 $(subdir-ym) $(always)
@:

-# Linus' kernel sanity checking tool
+# Linus' kernel sanity checking tool, or $CHECK program of choice
+ifneq ($(KBUILD_CHECKSRC),)
+  add_to_checkflags =
+  ifeq ($(CHECK),sparse)
+add_to_checkflags = $(c_flags)
+  endif
+endif
 ifneq ($(KBUILD_CHECKSRC),0)
   ifeq ($(KBUILD_CHECKSRC),2)
 quiet_cmd_force_checksrc = CHECK   $<
-  cmd_force_checksrc = $(CHECK) $(CHECKFLAGS) $(c_flags) $< ;
+  cmd_force_checksrc = $(CHECK) $(CHECKFLAGS) $(add_to_checkflags) $< ;
   else
   quiet_cmd_checksrc = CHECK   $<
-cmd_checksrc = $(CHECK) $(CHECKFLAGS) $(c_flags) $< ;
+cmd_checksrc = $(CHECK) $(CHECKFLAGS) $(add_to_checkflags) $< ;
   endif
 endif

and then if I run scripts/checkpatch.pl as $CHECK and pass --quiet
--file as before it works -- until checkpatch returns with a non-zero
exit code, which causes the Makefile to bail at that point.

So maybe a wrapper script, with an exit 0 fixup to keep on keeping on
in case of checkpatch warnings or errors, would be better after all.


-- 
Jim


Re: [PATCH 2/7] kbuild: Add P= command line flag to run checkpatch

2017-11-20 Thread Jim Davis
On Mon, Nov 20, 2017 at 2:22 PM, Luc Van Oostenryck
 wrote:

> Should it be possible to somehow keep the distinction between
> the flags coming from KBUILD_CFLAGS and the pure CHECKFLAGS?

Well, the practical problem seems to be that $(CHECK) is called in
scripts/Makefile.build with both $(CHECKFLAGS) and $(c_flags) as
arguments, regardless of what $(CHECK) is.  That can be hacked around
with something inelegant like

diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index bb831d49bcfd..102194f9afb9 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -98,14 +98,20 @@ __build: $(if $(KBUILD_BUILTIN),$(builtin-target)
$(lib-target) $(extra-y)) \
 $(subdir-ym) $(always)
@:

-# Linus' kernel sanity checking tool
+# Linus' kernel sanity checking tool, or $CHECK program of choice
+ifneq ($(KBUILD_CHECKSRC),)
+  add_to_checkflags =
+  ifeq ($(CHECK),sparse)
+add_to_checkflags = $(c_flags)
+  endif
+endif
 ifneq ($(KBUILD_CHECKSRC),0)
   ifeq ($(KBUILD_CHECKSRC),2)
 quiet_cmd_force_checksrc = CHECK   $<
-  cmd_force_checksrc = $(CHECK) $(CHECKFLAGS) $(c_flags) $< ;
+  cmd_force_checksrc = $(CHECK) $(CHECKFLAGS) $(add_to_checkflags) $< ;
   else
   quiet_cmd_checksrc = CHECK   $<
-cmd_checksrc = $(CHECK) $(CHECKFLAGS) $(c_flags) $< ;
+cmd_checksrc = $(CHECK) $(CHECKFLAGS) $(add_to_checkflags) $< ;
   endif
 endif

and then if I run scripts/checkpatch.pl as $CHECK and pass --quiet
--file as before it works -- until checkpatch returns with a non-zero
exit code, which causes the Makefile to bail at that point.

So maybe a wrapper script, with an exit 0 fixup to keep on keeping on
in case of checkpatch warnings or errors, would be better after all.


-- 
Jim


Re: [PATCH 2/7] kbuild: Add P= command line flag to run checkpatch

2017-11-20 Thread Jim Davis
On Mon, Nov 20, 2017 at 9:18 AM, Masahiro Yamada
 wrote:

>
> I am unhappy about adding a new interface
> for each checker.
>
> The default of CHECK is "sparse", but
> users can override it to use another checker.
>
>
>
> As Decumentation/dev-tools/coccinelle.rst says,
> if you want to use coccinelle as a checker,
>
> make C=1 CHECK="scripts/coccicheck"
>

I'd be nice if people could just specify CHECK and CHECKFLAGS to run
their favorite checker, but currently CHECKFLAGS seems hardwired for
running sparse.  So something liike

make C=1 CHECK="scripts/checkpatch.pl" CHECKFLAGS="--quiet --file"

fails when checkpatch is passed lots of arguments like -D__linux__
-Dlinux -D__STDC__ .  A little shell wrapper to grab the last argument
in that long list is a workaround, but perhaps CHECKFLAGS should be
made less sparse-specific?

-- 
Jim


Re: [PATCH 2/7] kbuild: Add P= command line flag to run checkpatch

2017-11-20 Thread Jim Davis
On Mon, Nov 20, 2017 at 9:18 AM, Masahiro Yamada
 wrote:

>
> I am unhappy about adding a new interface
> for each checker.
>
> The default of CHECK is "sparse", but
> users can override it to use another checker.
>
>
>
> As Decumentation/dev-tools/coccinelle.rst says,
> if you want to use coccinelle as a checker,
>
> make C=1 CHECK="scripts/coccicheck"
>

I'd be nice if people could just specify CHECK and CHECKFLAGS to run
their favorite checker, but currently CHECKFLAGS seems hardwired for
running sparse.  So something liike

make C=1 CHECK="scripts/checkpatch.pl" CHECKFLAGS="--quiet --file"

fails when checkpatch is passed lots of arguments like -D__linux__
-Dlinux -D__STDC__ .  A little shell wrapper to grab the last argument
in that long list is a workaround, but perhaps CHECKFLAGS should be
made less sparse-specific?

-- 
Jim


Re: [PATCH] coccinelle: fix verbose message about .cocci file being run

2017-10-27 Thread Jim Davis
On Wed, Oct 25, 2017 at 9:55 PM, Masahiro Yamada
 wrote:
> If you run coccicheck with V=1 and COCCI=, you will see a strange
> path to the semantic patch file.  For example, run the following:
>
> $ make V=1 COCCI=scripts/coccinelle/free/kfree.cocci coccicheck
>   [ snip ]
>  The semantic patch that makes this report is available
>  in scriptcoccinelle/free/kfree.cocci.
>
> Notice "s/" was dropped from "scripts/coccinelle/free/kfree.cocci".
>
> When running coccicheck without O=, $srctree is expanded to ".", which
> represents one arbitrary character in the regular expression.  Using
> sed is not a good choice here.  Strip $srctree/ simply without sed.
>
> Signed-off-by: Masahiro Yamada 
> ---
>
>  scripts/coccicheck | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/coccicheck b/scripts/coccicheck
> index 1bfa2d2..9d18662 100755
> --- a/scripts/coccicheck
> +++ b/scripts/coccicheck
> @@ -186,7 +186,7 @@ coccinelle () {
>
>  if [ $VERBOSE -ne 0 -a $ONLINE -eq 0 ] ; then
>
> -   FILE=`echo $COCCI | sed "s|$srctree/||"`
> +   FILE=${COCCI#$srctree/}

[jim@krebstar linux-rc]$ make CONFIG_SHELL=dash V=1
COCCI=scripts/coccinelle/free/kfree.cocci coccicheck
dash ./scripts/coccicheck
./scripts/coccicheck: 63: ./scripts/coccicheck: Bad substitution
make: *** [Makefile:1585: coccicheck] Error 2

-- 
Jim


Re: [PATCH] coccinelle: fix verbose message about .cocci file being run

2017-10-27 Thread Jim Davis
On Wed, Oct 25, 2017 at 9:55 PM, Masahiro Yamada
 wrote:
> If you run coccicheck with V=1 and COCCI=, you will see a strange
> path to the semantic patch file.  For example, run the following:
>
> $ make V=1 COCCI=scripts/coccinelle/free/kfree.cocci coccicheck
>   [ snip ]
>  The semantic patch that makes this report is available
>  in scriptcoccinelle/free/kfree.cocci.
>
> Notice "s/" was dropped from "scripts/coccinelle/free/kfree.cocci".
>
> When running coccicheck without O=, $srctree is expanded to ".", which
> represents one arbitrary character in the regular expression.  Using
> sed is not a good choice here.  Strip $srctree/ simply without sed.
>
> Signed-off-by: Masahiro Yamada 
> ---
>
>  scripts/coccicheck | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/coccicheck b/scripts/coccicheck
> index 1bfa2d2..9d18662 100755
> --- a/scripts/coccicheck
> +++ b/scripts/coccicheck
> @@ -186,7 +186,7 @@ coccinelle () {
>
>  if [ $VERBOSE -ne 0 -a $ONLINE -eq 0 ] ; then
>
> -   FILE=`echo $COCCI | sed "s|$srctree/||"`
> +   FILE=${COCCI#$srctree/}

[jim@krebstar linux-rc]$ make CONFIG_SHELL=dash V=1
COCCI=scripts/coccinelle/free/kfree.cocci coccicheck
dash ./scripts/coccicheck
./scripts/coccicheck: 63: ./scripts/coccicheck: Bad substitution
make: *** [Makefile:1585: coccicheck] Error 2

-- 
Jim


make linkcheckdocs error with 4.13-rc7

2017-08-28 Thread Jim Davis
On my Fedora 26 desktop (with Sphinx 1.6.3), make linkcheckdocs is failing with

InputError: [Errno 2] No such file or directory:
'/data/linux-rc/Documentation/output/cec.h.rst'.

reST markup error:
/data/linux-rc/Documentation/media/uapi/cec/cec-header.rst:9:
(SEVERE/4) Problems with "kernel-include" directive path:
InputError: [Errno 2] No such file or directory:
'/data/linux-rc/Documentation/output/cec.h.rst'.
make[1]: *** [Documentation/Makefile:69: linkcheckdocs] Error 1
make: *** [Makefile:1474: linkcheckdocs] Error 2

I haven't been testing that target consistently with previous -rcs,
but I think that failure is new.

-- 
Jim


make linkcheckdocs error with 4.13-rc7

2017-08-28 Thread Jim Davis
On my Fedora 26 desktop (with Sphinx 1.6.3), make linkcheckdocs is failing with

InputError: [Errno 2] No such file or directory:
'/data/linux-rc/Documentation/output/cec.h.rst'.

reST markup error:
/data/linux-rc/Documentation/media/uapi/cec/cec-header.rst:9:
(SEVERE/4) Problems with "kernel-include" directive path:
InputError: [Errno 2] No such file or directory:
'/data/linux-rc/Documentation/output/cec.h.rst'.
make[1]: *** [Documentation/Makefile:69: linkcheckdocs] Error 1
make: *** [Makefile:1474: linkcheckdocs] Error 2

I haven't been testing that target consistently with previous -rcs,
but I think that failure is new.

-- 
Jim


Re: make clean all broken with -j? + question regarding modpost

2017-08-10 Thread Jim Davis
On Thu, Aug 10, 2017 at 11:28 AM, Randy Dunlap  wrote:
> [adding linux-kbuild]
>
> On 08/10/2017 08:42 AM, Thomas Meyer wrote:
>> Hi,
>>
>> 1.) make with multiple targets
>>
>> When running
>> $ make -j4 clean all
>> I get error from make (probably in scripts/Makefile.modbuiltin):

With 4.13-rc4 I can get a similar build failure on my Fedora 26 workstation with

make allnoconfig; make -j2 clean all

/bin/sh: scripts/mod/empty.o: No such file or directory
make[2]: *** [scripts/mod/Makefile:24: scripts/mod/elfconfig.h] Error 1
make[1]: *** [scripts/Makefile.build:561: scripts/mod] Error 2

Here's an ugly workaround for that test case.

diff --git a/Makefile b/Makefile
index 6eba23bcb5ad..6a1fd24dcf31 100644
--- a/Makefile
+++ b/Makefile
@@ -1297,6 +1297,7 @@ MRPROPER_FILES += .config .config.old .version
.old_version \

 # clean - Delete most, but leave enough to build external modules
 #
+.NOTPARALLEL: clean
 clean: rm-dirs  := $(CLEAN_DIRS)
 clean: rm-files := $(CLEAN_FILES)
 clean-dirs  := $(addprefix _clean_, . $(vmlinux-alldirs)
Documentation samples)


-- 
Jim


Re: make clean all broken with -j? + question regarding modpost

2017-08-10 Thread Jim Davis
On Thu, Aug 10, 2017 at 11:28 AM, Randy Dunlap  wrote:
> [adding linux-kbuild]
>
> On 08/10/2017 08:42 AM, Thomas Meyer wrote:
>> Hi,
>>
>> 1.) make with multiple targets
>>
>> When running
>> $ make -j4 clean all
>> I get error from make (probably in scripts/Makefile.modbuiltin):

With 4.13-rc4 I can get a similar build failure on my Fedora 26 workstation with

make allnoconfig; make -j2 clean all

/bin/sh: scripts/mod/empty.o: No such file or directory
make[2]: *** [scripts/mod/Makefile:24: scripts/mod/elfconfig.h] Error 1
make[1]: *** [scripts/Makefile.build:561: scripts/mod] Error 2

Here's an ugly workaround for that test case.

diff --git a/Makefile b/Makefile
index 6eba23bcb5ad..6a1fd24dcf31 100644
--- a/Makefile
+++ b/Makefile
@@ -1297,6 +1297,7 @@ MRPROPER_FILES += .config .config.old .version
.old_version \

 # clean - Delete most, but leave enough to build external modules
 #
+.NOTPARALLEL: clean
 clean: rm-dirs  := $(CLEAN_DIRS)
 clean: rm-files := $(CLEAN_FILES)
 clean-dirs  := $(addprefix _clean_, . $(vmlinux-alldirs)
Documentation samples)


-- 
Jim


make pdfdocs problem with 4.13-rc4

2017-08-09 Thread Jim Davis
On my Fedora 26 workstation, with the latest patches, running make
pdfdocs stops with

[jim@krebstar ~]$ tail /tmp/make-pdfdocs.out

Underfull \hbox (badness 1) in paragraph at lines 3980--3983
[]\EU1/DejaVuSans(0)/m/n/10 Threshold below
[31]
! Missing \endgroup inserted.

\endgroup
l.4114 \begin{savenotes}\sphinxattablestart

?

Pressing the return key (many times) doesn't solve the problem, and
eventually make fizzles out with

make[2]: *** [Makefile:33: media.pdf] Error 1
make[1]: *** [Documentation/Makefile:83: pdfdocs] Error 2
make: *** [Makefile:1473: pdfdocs] Error 2

Oh, and

[jim@krebstar ~]$ grep 'LaTeX Warning:' /tmp/make-pdfdocs.out | wc -l
5438

-- 
Jim


make pdfdocs problem with 4.13-rc4

2017-08-09 Thread Jim Davis
On my Fedora 26 workstation, with the latest patches, running make
pdfdocs stops with

[jim@krebstar ~]$ tail /tmp/make-pdfdocs.out

Underfull \hbox (badness 1) in paragraph at lines 3980--3983
[]\EU1/DejaVuSans(0)/m/n/10 Threshold below
[31]
! Missing \endgroup inserted.

\endgroup
l.4114 \begin{savenotes}\sphinxattablestart

?

Pressing the return key (many times) doesn't solve the problem, and
eventually make fizzles out with

make[2]: *** [Makefile:33: media.pdf] Error 1
make[1]: *** [Documentation/Makefile:83: pdfdocs] Error 2
make: *** [Makefile:1473: pdfdocs] Error 2

Oh, and

[jim@krebstar ~]$ grep 'LaTeX Warning:' /tmp/make-pdfdocs.out | wc -l
5438

-- 
Jim


Re: [PATCH] scripts/package: snap-pkg target

2017-07-18 Thread Jim Davis
On Mon, Jul 10, 2017 at 11:13 PM, Paolo Pisati
<paolo.pis...@canonical.com> wrote:
> On Mon, Jul 10, 2017 at 6:46 PM, Jim Davis <jim.ep...@gmail.com> wrote:
>>>
>>> For more information on snap packages: https://snapcraft.io/docs/
>>
>> Is this something a user could do with the existing deb target, and
>> then running deb2snap?
>
> No, the kernel snap is a special case, it requires communication with
> the store (e.g. to download the core snap) and some extra steps,
> therefore you should use snapcraft and abstract from these details.

>From a quick check on top of 4.13-rc1 it does what it says, but...
building a snap like this, unless I'm missing something, is quite
different from building a kernel deb or rpm or tar package.

Once I fed the snap into ubuntu-image, after hunting down a plausible
model file, I did get an image file that booted under qemu.  I guess
if you're in the know about snap (and I don't include myself in that
august company) you'd know that the snap-pkg target won't directly
give you something you can boot, but the "make help" output looks so
similar to the other conventional build targets that the some might
miss that point.

The snap-informed would also know that the snap-pkg target would
download stuff from the internet as part of the build process, but
that's unusual enough in kernel building that another recent build
target, linkcheckdocs, included "(will connect to external hosts)" as
part of its "make help" output.  That probably would be a good idea
for the snap-pkg target too.

Running snap-pkg twice in a row seems to have rebuilt the entire
kernel source, unlike the other more conventional build targets.


-- 
Jim


Re: [PATCH] scripts/package: snap-pkg target

2017-07-18 Thread Jim Davis
On Mon, Jul 10, 2017 at 11:13 PM, Paolo Pisati
 wrote:
> On Mon, Jul 10, 2017 at 6:46 PM, Jim Davis  wrote:
>>>
>>> For more information on snap packages: https://snapcraft.io/docs/
>>
>> Is this something a user could do with the existing deb target, and
>> then running deb2snap?
>
> No, the kernel snap is a special case, it requires communication with
> the store (e.g. to download the core snap) and some extra steps,
> therefore you should use snapcraft and abstract from these details.

>From a quick check on top of 4.13-rc1 it does what it says, but...
building a snap like this, unless I'm missing something, is quite
different from building a kernel deb or rpm or tar package.

Once I fed the snap into ubuntu-image, after hunting down a plausible
model file, I did get an image file that booted under qemu.  I guess
if you're in the know about snap (and I don't include myself in that
august company) you'd know that the snap-pkg target won't directly
give you something you can boot, but the "make help" output looks so
similar to the other conventional build targets that the some might
miss that point.

The snap-informed would also know that the snap-pkg target would
download stuff from the internet as part of the build process, but
that's unusual enough in kernel building that another recent build
target, linkcheckdocs, included "(will connect to external hosts)" as
part of its "make help" output.  That probably would be a good idea
for the snap-pkg target too.

Running snap-pkg twice in a row seems to have rebuilt the entire
kernel source, unlike the other more conventional build targets.


-- 
Jim


Re: [PATCH v2 00/53] Get rid of Docbook

2017-07-14 Thread Jim Davis
On Thu, Jul 6, 2017 at 1:54 AM, Markus Heiser  wrote:

>  52b3f23 Docs: clean up some DocBook loose ends

Speaking of minor loose ends,

make SPHINXDIRS=userspace-api pdfdocs

works -- though now that it's all sphinx, wouldn't just DIRS be better? -- and

make DOCBOOKS=userspace-api pdfdocs

still works too.  But that generates all of the pdf files, and not
just the userspace-api.pdf.  And running now-dead targets like "make
ps" or "make sgmldocs" or "make mandocs" just returns with no output.

-- 
Jim


Re: [PATCH v2 00/53] Get rid of Docbook

2017-07-14 Thread Jim Davis
On Thu, Jul 6, 2017 at 1:54 AM, Markus Heiser  wrote:

>  52b3f23 Docs: clean up some DocBook loose ends

Speaking of minor loose ends,

make SPHINXDIRS=userspace-api pdfdocs

works -- though now that it's all sphinx, wouldn't just DIRS be better? -- and

make DOCBOOKS=userspace-api pdfdocs

still works too.  But that generates all of the pdf files, and not
just the userspace-api.pdf.  And running now-dead targets like "make
ps" or "make sgmldocs" or "make mandocs" just returns with no output.

-- 
Jim


Re: [PATCH RFC] scripts/sphinx-pre-install: add a script to check Sphinx install

2017-07-14 Thread Jim Davis
On Fri, Jul 14, 2017 at 10:35 AM, Markus Heiser
 wrote:
>
>
> Ok, this won't solve TeX installation problems of Linux distros,

Which seems to be the thorniest problem.  It's one thing to identify
which sphinx versions work, and another to figure out which of the
metric boatload of TeX packages are needed.

On a fresh Fedora 26 install I was able to get "make pdfdocs" to build
(hurrah!) after adding

ImageMagick
latex
sphinx-build
texlive-adjustbox
texlive-babel-english
texlive-capt-of
texlive-cm
texlive-cmap
texlive-ec
texlive-eqparbox
texlive-euenc
texlive-fancyhdr
texlive-fncychap
texlive-framed
texlive-hyphen-base
texlive-mdwtools
texlive-multirow
texlive-parskip
texlive-tablefootnote
texlive-tabulary
texlive-threeparttable
texlive-titlesec
texlive-unicode-data
texlive-upquote
texlive-wrapfig
xelatex

which ended up installing about 160 RPMs.  Figuring out the right
texlive parts wasn't much fun; footnote.sty is well-hidden in
texlive-mdwtools, for instance, and without texlive-babel-english the
build failed with very mysterious errors in userspace-api.

Jim


Re: [PATCH RFC] scripts/sphinx-pre-install: add a script to check Sphinx install

2017-07-14 Thread Jim Davis
On Fri, Jul 14, 2017 at 10:35 AM, Markus Heiser
 wrote:
>
>
> Ok, this won't solve TeX installation problems of Linux distros,

Which seems to be the thorniest problem.  It's one thing to identify
which sphinx versions work, and another to figure out which of the
metric boatload of TeX packages are needed.

On a fresh Fedora 26 install I was able to get "make pdfdocs" to build
(hurrah!) after adding

ImageMagick
latex
sphinx-build
texlive-adjustbox
texlive-babel-english
texlive-capt-of
texlive-cm
texlive-cmap
texlive-ec
texlive-eqparbox
texlive-euenc
texlive-fancyhdr
texlive-fncychap
texlive-framed
texlive-hyphen-base
texlive-mdwtools
texlive-multirow
texlive-parskip
texlive-tablefootnote
texlive-tabulary
texlive-threeparttable
texlive-titlesec
texlive-unicode-data
texlive-upquote
texlive-wrapfig
xelatex

which ended up installing about 160 RPMs.  Figuring out the right
texlive parts wasn't much fun; footnote.sty is well-hidden in
texlive-mdwtools, for instance, and without texlive-babel-english the
build failed with very mysterious errors in userspace-api.

Jim


Re: [PATCH] scripts/package: snap-pkg target

2017-07-10 Thread Jim Davis
On Mon, Jul 10, 2017 at 7:59 AM, Paolo Pisati
 wrote:

> eg. Ubuntu Core, and it's subsequent upgrades.

its

>
> For more information on snap packages: https://snapcraft.io/docs/

Is this something a user could do with the existing deb target, and
then running deb2snap?


-- 
Jim


Re: [PATCH] scripts/package: snap-pkg target

2017-07-10 Thread Jim Davis
On Mon, Jul 10, 2017 at 7:59 AM, Paolo Pisati
 wrote:

> eg. Ubuntu Core, and it's subsequent upgrades.

its

>
> For more information on snap packages: https://snapcraft.io/docs/

Is this something a user could do with the existing deb target, and
then running deb2snap?


-- 
Jim


Re: [PATCH v2 00/53] Get rid of Docbook

2017-07-05 Thread Jim Davis
On Fri, Jun 16, 2017 at 7:03 AM, Markus Heiser
 wrote:
>

> docproc and some lines in the Makefile & .gitignore
>
> ./scripts/docproc.c
> ./scripts/.docproc.cmd
> ./scripts/Makefile
> ./scripts/.gitignore

With 4.12, running make xmldocs (or any other working target) and then
"make cleandocs; git clean -fdx" turns up

Removing scripts/.check-lc_ctype.cmd
Removing scripts/.docproc.cmd
Removing scripts/basic/.fixdep.cmd
Removing scripts/basic/fixdep
Removing scripts/check-lc_ctype
Removing scripts/docproc

-- 
Jim


Re: [PATCH v2 00/53] Get rid of Docbook

2017-07-05 Thread Jim Davis
On Fri, Jun 16, 2017 at 7:03 AM, Markus Heiser
 wrote:
>

> docproc and some lines in the Makefile & .gitignore
>
> ./scripts/docproc.c
> ./scripts/.docproc.cmd
> ./scripts/Makefile
> ./scripts/.gitignore

With 4.12, running make xmldocs (or any other working target) and then
"make cleandocs; git clean -fdx" turns up

Removing scripts/.check-lc_ctype.cmd
Removing scripts/.docproc.cmd
Removing scripts/basic/.fixdep.cmd
Removing scripts/basic/fixdep
Removing scripts/check-lc_ctype
Removing scripts/docproc

-- 
Jim


Re: [PATCH 0/5] Make PDF builds work again

2017-07-05 Thread Jim Davis
On Mon, Jul 3, 2017 at 5:44 AM, Jonathan Corbet  wrote:
> On Mon, 3 Jul 2017 10:25:38 +0200
> Daniel Vetter  wrote:
>
>> Only now stumbled over the full thread, but the drm patch is already
>> queued up for at least 4.13 (Dave was out and all that). I guess we could
>> try to cherry-pick through stable.
>
> I kind of gave up on the 4.12 goal, at least for now.  The number of
> complaints has not been huge - I suspect you're far from the only one who
> is not too worried about building PDFs...:)

If fixing pdf (and ps) builds isn't worth the bother -- which I
wouldn't debate -- then it's best to just drop those build targets.
The only worrisome thing I see here is having build targets carried
from release to release that don't work.

-- 
Jim


Re: [PATCH 0/5] Make PDF builds work again

2017-07-05 Thread Jim Davis
On Mon, Jul 3, 2017 at 5:44 AM, Jonathan Corbet  wrote:
> On Mon, 3 Jul 2017 10:25:38 +0200
> Daniel Vetter  wrote:
>
>> Only now stumbled over the full thread, but the drm patch is already
>> queued up for at least 4.13 (Dave was out and all that). I guess we could
>> try to cherry-pick through stable.
>
> I kind of gave up on the 4.12 goal, at least for now.  The number of
> complaints has not been huge - I suspect you're far from the only one who
> is not too worried about building PDFs...:)

If fixing pdf (and ps) builds isn't worth the bother -- which I
wouldn't debate -- then it's best to just drop those build targets.
The only worrisome thing I see here is having build targets carried
from release to release that don't work.

-- 
Jim


make pdfdoc errors with 4.12-rc2

2017-05-24 Thread Jim Davis
make pdfdocs, on my Fedora 25 desktop with the latest patches, fails with

Running Sphinx v1.5.2

[...lots-o-stuff...]

make PDFLATEX=xelatex LATEXOPTS="-interaction=batchmode" -C
Documentation/output/./latex || exit;
xelatex -interaction=batchmode 'linux-input.tex'
This is XeTeX, Version 3.14159265-2.6-0.6 (TeX Live 2016)
(preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
Makefile:67: recipe for target 'linux-input.pdf' failed
make[2]: *** [linux-input.pdf] Error 1
Documentation/Makefile.sphinx:87: recipe for target 'pdfdocs' failed
make[1]: *** [pdfdocs] Error 2
Makefile:1472: recipe for target 'pdfdocs' failed
make: *** [pdfdocs] Error 2


-- 
Jim


make pdfdoc errors with 4.12-rc2

2017-05-24 Thread Jim Davis
make pdfdocs, on my Fedora 25 desktop with the latest patches, fails with

Running Sphinx v1.5.2

[...lots-o-stuff...]

make PDFLATEX=xelatex LATEXOPTS="-interaction=batchmode" -C
Documentation/output/./latex || exit;
xelatex -interaction=batchmode 'linux-input.tex'
This is XeTeX, Version 3.14159265-2.6-0.6 (TeX Live 2016)
(preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
Makefile:67: recipe for target 'linux-input.pdf' failed
make[2]: *** [linux-input.pdf] Error 1
Documentation/Makefile.sphinx:87: recipe for target 'pdfdocs' failed
make[1]: *** [pdfdocs] Error 2
Makefile:1472: recipe for target 'pdfdocs' failed
make: *** [pdfdocs] Error 2


-- 
Jim


Re: making documentation targets on v4.10 with Fedora 25

2017-02-23 Thread Jim Davis
On Mon, Feb 20, 2017 at 4:20 PM, Jonathan Corbet  wrote:

>> Exception occurred:
>>   File "/usr/lib/python3.5/site-packages/docutils/writers/_html_base.py", 
>> line
>> 671, in depart_document
>> assert not self.context, 'len(context) = %s' % len(self.context)
>> AssertionError: len(context) = 1
>
> I've just started getting that kind of stuff on the F25 box.  Some recent
> update clearly broke things; not fun.

My Python fu is weak but it looks like 'context' may be a stack where
the number of pops didn't match the number of pushes?

No clue how to fix that, though.

-- 
Jim


Re: making documentation targets on v4.10 with Fedora 25

2017-02-23 Thread Jim Davis
On Mon, Feb 20, 2017 at 4:20 PM, Jonathan Corbet  wrote:

>> Exception occurred:
>>   File "/usr/lib/python3.5/site-packages/docutils/writers/_html_base.py", 
>> line
>> 671, in depart_document
>> assert not self.context, 'len(context) = %s' % len(self.context)
>> AssertionError: len(context) = 1
>
> I've just started getting that kind of stuff on the F25 box.  Some recent
> update clearly broke things; not fun.

My Python fu is weak but it looks like 'context' may be a stack where
the number of pops didn't match the number of pushes?

No clue how to fix that, though.

-- 
Jim


Re: making documentation targets on v4.10 with Fedora 25

2017-02-23 Thread Jim Davis
On Thu, Feb 23, 2017 at 2:59 AM, Jani Nikula
<jani.nik...@linux.intel.com> wrote:
> On Mon, 20 Feb 2017, Jim Davis <jim.ep...@gmail.com> wrote:
>> For the Sphinx targets, htmldocs, pdfdocs, epubdocs, and cleandocs
>> failed.  cleandocs works without the O= argument, and arguably the O=
>> thing isn't very useful with any of these targets, but it is supported
>> by the top-level Makefile.
>
> Why do you say O= isn't useful with the targets?

You're right, they are.  Silly me.

Something like

diff --git a/Documentation/Makefile.sphinx b/Documentation/Makefile.sphinx
index 707c65337ebf..eb4294322150 100644
--- a/Documentation/Makefile.sphinx
+++ b/Documentation/Makefile.sphinx
@@ -98,7 +98,7 @@ installmandocs:

 cleandocs:
$(Q)rm -rf $(BUILDDIR)
-   $(Q)$(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) -C Documentation/media clean
+   $(Q)$(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) -C
$(srctree)/Documentation/media clean

 endif # HAVE_SPHINX

seems to get cleandocs working again.


-- 
Jim


Re: making documentation targets on v4.10 with Fedora 25

2017-02-23 Thread Jim Davis
On Thu, Feb 23, 2017 at 2:59 AM, Jani Nikula
 wrote:
> On Mon, 20 Feb 2017, Jim Davis  wrote:
>> For the Sphinx targets, htmldocs, pdfdocs, epubdocs, and cleandocs
>> failed.  cleandocs works without the O= argument, and arguably the O=
>> thing isn't very useful with any of these targets, but it is supported
>> by the top-level Makefile.
>
> Why do you say O= isn't useful with the targets?

You're right, they are.  Silly me.

Something like

diff --git a/Documentation/Makefile.sphinx b/Documentation/Makefile.sphinx
index 707c65337ebf..eb4294322150 100644
--- a/Documentation/Makefile.sphinx
+++ b/Documentation/Makefile.sphinx
@@ -98,7 +98,7 @@ installmandocs:

 cleandocs:
$(Q)rm -rf $(BUILDDIR)
-   $(Q)$(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) -C Documentation/media clean
+   $(Q)$(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) -C
$(srctree)/Documentation/media clean

 endif # HAVE_SPHINX

seems to get cleandocs working again.


-- 
Jim


Re: making documentation targets on v4.10 with Fedora 25

2017-02-22 Thread Jim Davis
On Mon, Feb 20, 2017 at 4:20 PM, Jonathan Corbet <cor...@lwn.net> wrote:
> On Mon, 20 Feb 2017 12:19:24 -0700
> Jim Davis <jim.ep...@gmail.com> wrote:
>
>> pdfdocs (Sphinx or DocBook) has been broken for some time, while
>> psdocs hasn't worked in ages.  The errors with the Sphinx htmldocs and
>> epubdocs targets seem to be some Python issue:
>
> pdfdocs works for me.  With Fedora, there are a thousand little TeX
> packages that have to be installed before things go right.

Installing texlive-scheme-full -- which in turn installed 3,153 (!)
packages -- still didn't get make pdfdocs working on my Fedora 25
desktop... same failure with user.pdf that I posted about previously.
No joy with make psdocs either, but it's a PDF world now (and there's
always pdf2ps) so perhaps that target should disappear.

-- 
Jim


Re: making documentation targets on v4.10 with Fedora 25

2017-02-22 Thread Jim Davis
On Mon, Feb 20, 2017 at 4:20 PM, Jonathan Corbet  wrote:
> On Mon, 20 Feb 2017 12:19:24 -0700
> Jim Davis  wrote:
>
>> pdfdocs (Sphinx or DocBook) has been broken for some time, while
>> psdocs hasn't worked in ages.  The errors with the Sphinx htmldocs and
>> epubdocs targets seem to be some Python issue:
>
> pdfdocs works for me.  With Fedora, there are a thousand little TeX
> packages that have to be installed before things go right.

Installing texlive-scheme-full -- which in turn installed 3,153 (!)
packages -- still didn't get make pdfdocs working on my Fedora 25
desktop... same failure with user.pdf that I posted about previously.
No joy with make psdocs either, but it's a PDF world now (and there's
always pdf2ps) so perhaps that target should disappear.

-- 
Jim


making documentation targets on v4.10 with Fedora 25

2017-02-20 Thread Jim Davis
I ran a script like the one below to make the various Sphinx and
DocBook documentations targets for v4.10 on my Fedora 25 desktop

make O=/tmp/sphinx-out DOCBOOKS="" htmldocs
make O=/tmp/sphinx-out DOCBOOKS="" latexdocs
make O=/tmp/sphinx-out DOCBOOKS="" pdfdocs
make O=/tmp/sphinx-out DOCBOOKS="" epubdocs
make O=/tmp/sphinx-out DOCBOOKS="" xmldocs
make O=/tmp/sphinx-out DOCBOOKS="" cleandocs

make O=/tmp/docbook-out SPHINXBUILD=/none/such htmldocs
make O=/tmp/docbook-out SPHINXBUILD=/none/such pdfdocs
make O=/tmp/docbook-out SPHINXBUILD=/none/such psdocs
make O=/tmp/docbook-out SPHINXBUILD=/none/such xmldocs
make O=/tmp/docbook-out SPHINXBUILD=/none/such mandocs
make O=/tmp/docbook-out SPHINXBUILD=/none/such installmandocs
make O=/tmp/docbook-out SPHINXBUILD=/none/such cleandocs

with mixed results.

For the Sphinx targets, htmldocs, pdfdocs, epubdocs, and cleandocs
failed.  cleandocs works without the O= argument, and arguably the O=
thing isn't very useful with any of these targets, but it is supported
by the top-level Makefile.

For the DocBook targets, pdfdocs and psdocs failed.

pdfdocs (Sphinx or DocBook) has been broken for some time, while
psdocs hasn't worked in ages.  The errors with the Sphinx htmldocs and
epubdocs targets seem to be some Python issue:

Exception occurred:
  File "/usr/lib/python3.5/site-packages/docutils/writers/_html_base.py", line
671, in depart_document
assert not self.context, 'len(context) = %s' % len(self.context)
AssertionError: len(context) = 1
The full traceback has been saved in /tmp/sphinx-err-o52yw6s4.log, if you want
to report the issue to the developers.
Please also report this if it was a user error, so that a better error message
can be provided next time.
A bug report can be filed in the tracker at . Thanks!
make[2]: *** [epubdocs] Error 1
make[1]: *** [epubdocs] Error 2
make: *** [sub-make] Error 2

and similarly for htmldocs.

-- 
Jim


making documentation targets on v4.10 with Fedora 25

2017-02-20 Thread Jim Davis
I ran a script like the one below to make the various Sphinx and
DocBook documentations targets for v4.10 on my Fedora 25 desktop

make O=/tmp/sphinx-out DOCBOOKS="" htmldocs
make O=/tmp/sphinx-out DOCBOOKS="" latexdocs
make O=/tmp/sphinx-out DOCBOOKS="" pdfdocs
make O=/tmp/sphinx-out DOCBOOKS="" epubdocs
make O=/tmp/sphinx-out DOCBOOKS="" xmldocs
make O=/tmp/sphinx-out DOCBOOKS="" cleandocs

make O=/tmp/docbook-out SPHINXBUILD=/none/such htmldocs
make O=/tmp/docbook-out SPHINXBUILD=/none/such pdfdocs
make O=/tmp/docbook-out SPHINXBUILD=/none/such psdocs
make O=/tmp/docbook-out SPHINXBUILD=/none/such xmldocs
make O=/tmp/docbook-out SPHINXBUILD=/none/such mandocs
make O=/tmp/docbook-out SPHINXBUILD=/none/such installmandocs
make O=/tmp/docbook-out SPHINXBUILD=/none/such cleandocs

with mixed results.

For the Sphinx targets, htmldocs, pdfdocs, epubdocs, and cleandocs
failed.  cleandocs works without the O= argument, and arguably the O=
thing isn't very useful with any of these targets, but it is supported
by the top-level Makefile.

For the DocBook targets, pdfdocs and psdocs failed.

pdfdocs (Sphinx or DocBook) has been broken for some time, while
psdocs hasn't worked in ages.  The errors with the Sphinx htmldocs and
epubdocs targets seem to be some Python issue:

Exception occurred:
  File "/usr/lib/python3.5/site-packages/docutils/writers/_html_base.py", line
671, in depart_document
assert not self.context, 'len(context) = %s' % len(self.context)
AssertionError: len(context) = 1
The full traceback has been saved in /tmp/sphinx-err-o52yw6s4.log, if you want
to report the issue to the developers.
Please also report this if it was a user error, so that a better error message
can be provided next time.
A bug report can be filed in the tracker at . Thanks!
make[2]: *** [epubdocs] Error 1
make[1]: *** [epubdocs] Error 2
make: *** [sub-make] Error 2

and similarly for htmldocs.

-- 
Jim


make pdfdocs errors with 4.10-rc8

2017-02-14 Thread Jim Davis
On a Fedora 25 system,

[...]
build succeeded, 32 warnings.
make PDFLATEX=xelatex LATEXOPTS="-interaction=batchmode" -C
Documentation/output/./latex;
xelatex -interaction=batchmode 'linux-user.tex'
This is XeTeX, Version 3.14159265-2.6-0.6 (TeX Live 2016)
(preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
Makefile:66: recipe for target 'linux-user.pdf' failed
Documentation/Makefile.sphinx:83: recipe for target 'pdfdocs' failed
Makefile:1450: recipe for target 'pdfdocs' failed

where Documentation/output/latex/linux-user.log contains

[jim@krebstar latex]$ grep '^!' linux-user.log | sort -u
! Extra }, or forgotten \endgroup.
! Missing } inserted.

and that happens often enough that Tex bails:

[jim@krebstar latex]$ tail -20 linux-user.log
[...]
! Extra }, or forgotten \endgroup.
 }

l.14911 \hline\end{tabulary}

(That makes 100 errors; please try again.)
[...]

-- 
Jim


make pdfdocs errors with 4.10-rc8

2017-02-14 Thread Jim Davis
On a Fedora 25 system,

[...]
build succeeded, 32 warnings.
make PDFLATEX=xelatex LATEXOPTS="-interaction=batchmode" -C
Documentation/output/./latex;
xelatex -interaction=batchmode 'linux-user.tex'
This is XeTeX, Version 3.14159265-2.6-0.6 (TeX Live 2016)
(preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
Makefile:66: recipe for target 'linux-user.pdf' failed
Documentation/Makefile.sphinx:83: recipe for target 'pdfdocs' failed
Makefile:1450: recipe for target 'pdfdocs' failed

where Documentation/output/latex/linux-user.log contains

[jim@krebstar latex]$ grep '^!' linux-user.log | sort -u
! Extra }, or forgotten \endgroup.
! Missing } inserted.

and that happens often enough that Tex bails:

[jim@krebstar latex]$ tail -20 linux-user.log
[...]
! Extra }, or forgotten \endgroup.
 }

l.14911 \hline\end{tabulary}

(That makes 100 errors; please try again.)
[...]

-- 
Jim


[PATCH] Documentation: DocBook/Makefile comment typo

2017-02-13 Thread Jim Davis
Fix a se for so typo.

Signed-off-by: Jim Davis <jim.ep...@gmail.com>
---
 Documentation/DocBook/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index a6eb7dcd4dd5..1f23567bf76e 100644
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
@@ -272,6 +272,6 @@ cleandocs:
$(Q)rm -rf $(call objectify, $(clean-dirs))
 
 # Declare the contents of the .PHONY variable as phony.  We keep that
-# information in a variable se we can use it in if_changed and friends.
+# information in a variable so we can use it in if_changed and friends.
 
 .PHONY: $(PHONY)
-- 
2.9.3



[PATCH] Documentation: DocBook/Makefile comment typo

2017-02-13 Thread Jim Davis
Fix a se for so typo.

Signed-off-by: Jim Davis 
---
 Documentation/DocBook/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index a6eb7dcd4dd5..1f23567bf76e 100644
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
@@ -272,6 +272,6 @@ cleandocs:
$(Q)rm -rf $(call objectify, $(clean-dirs))
 
 # Declare the contents of the .PHONY variable as phony.  We keep that
-# information in a variable se we can use it in if_changed and friends.
+# information in a variable so we can use it in if_changed and friends.
 
 .PHONY: $(PHONY)
-- 
2.9.3



[PATCH] Documentation: make Makefile.sphinx no-ops quieter

2017-02-10 Thread Jim Davis
Silence the "make[1]: Nothing to be done for ..." messages for the
no-op targets in Makefile.sphinx.

Signed-off-by: Jim Davis <jim.ep...@gmail.com>
---
 Documentation/Makefile.sphinx | 4 
 1 file changed, 4 insertions(+)

diff --git a/Documentation/Makefile.sphinx b/Documentation/Makefile.sphinx
index 707c65337ebf..b83d1160aaba 100644
--- a/Documentation/Makefile.sphinx
+++ b/Documentation/Makefile.sphinx
@@ -92,9 +92,13 @@ xmldocs:
 
 # no-ops for the Sphinx toolchain
 sgmldocs:
+   @:
 psdocs:
+   @:
 mandocs:
+   @:
 installmandocs:
+   @:
 
 cleandocs:
$(Q)rm -rf $(BUILDDIR)
-- 
2.9.3



[PATCH] Documentation: make Makefile.sphinx no-ops quieter

2017-02-10 Thread Jim Davis
Silence the "make[1]: Nothing to be done for ..." messages for the
no-op targets in Makefile.sphinx.

Signed-off-by: Jim Davis 
---
 Documentation/Makefile.sphinx | 4 
 1 file changed, 4 insertions(+)

diff --git a/Documentation/Makefile.sphinx b/Documentation/Makefile.sphinx
index 707c65337ebf..b83d1160aaba 100644
--- a/Documentation/Makefile.sphinx
+++ b/Documentation/Makefile.sphinx
@@ -92,9 +92,13 @@ xmldocs:
 
 # no-ops for the Sphinx toolchain
 sgmldocs:
+   @:
 psdocs:
+   @:
 mandocs:
+   @:
 installmandocs:
+   @:
 
 cleandocs:
$(Q)rm -rf $(BUILDDIR)
-- 
2.9.3



make pdfdoc errors with 4.10-rc7

2017-02-09 Thread Jim Davis
On a Fedora 25 system, make pdfdocs is failing with

[jim@krebstar linux-rc]$ grep -v -i 'warning:' /tmp/make-pdfdocs.err
/data/linux-rc/Documentation/doc-guide/sphinx.rst:110: ERROR: Unknown
target name: "sphinx c domain".
./include/net/cfg80211.h:3154: ERROR: Unexpected indentation.
./include/net/mac80211.h:3214: ERROR: Unexpected indentation.
./include/net/mac80211.h:3219: ERROR: Unexpected indentation.
./include/net/mac80211.h:1773: ERROR: Unexpected indentation.
./kernel/time/timer.c:1240: ERROR: Unexpected indentation.
./kernel/time/timer.c:1242: ERROR: Unexpected indentation.
./include/linux/wait.h:124: ERROR: Unexpected indentation.
./include/linux/spi/spi.h:369: ERROR: Unexpected indentation.
./drivers/usb/core/message.c:481: ERROR: Unexpected indentation.
/data/linux-rc/Documentation/driver-api/usb.rst:623: ERROR: Unknown
target name: "usb_type".
/data/linux-rc/Documentation/driver-api/usb.rst:623: ERROR: Unknown
target name: "usb_dir".
/data/linux-rc/Documentation/driver-api/usb.rst:623: ERROR: Unknown
target name: "usb_recip".
/data/linux-rc/Documentation/driver-api/usb.rst:689: ERROR: Unknown
target name: "usbdevfs_urb_type".
./sound/soc/soc-core.c:2508: ERROR: Unknown target name: "snd_soc_daifmt".
./sound/core/jack.c:312: ERROR: Unknown target name: "snd_jack_btn".
make[2]: *** [linux-user.pdf] Error 1
make[1]: *** [pdfdocs] Error 2
make: *** [pdfdocs] Error 2


-- 
Jim


make pdfdoc errors with 4.10-rc7

2017-02-09 Thread Jim Davis
On a Fedora 25 system, make pdfdocs is failing with

[jim@krebstar linux-rc]$ grep -v -i 'warning:' /tmp/make-pdfdocs.err
/data/linux-rc/Documentation/doc-guide/sphinx.rst:110: ERROR: Unknown
target name: "sphinx c domain".
./include/net/cfg80211.h:3154: ERROR: Unexpected indentation.
./include/net/mac80211.h:3214: ERROR: Unexpected indentation.
./include/net/mac80211.h:3219: ERROR: Unexpected indentation.
./include/net/mac80211.h:1773: ERROR: Unexpected indentation.
./kernel/time/timer.c:1240: ERROR: Unexpected indentation.
./kernel/time/timer.c:1242: ERROR: Unexpected indentation.
./include/linux/wait.h:124: ERROR: Unexpected indentation.
./include/linux/spi/spi.h:369: ERROR: Unexpected indentation.
./drivers/usb/core/message.c:481: ERROR: Unexpected indentation.
/data/linux-rc/Documentation/driver-api/usb.rst:623: ERROR: Unknown
target name: "usb_type".
/data/linux-rc/Documentation/driver-api/usb.rst:623: ERROR: Unknown
target name: "usb_dir".
/data/linux-rc/Documentation/driver-api/usb.rst:623: ERROR: Unknown
target name: "usb_recip".
/data/linux-rc/Documentation/driver-api/usb.rst:689: ERROR: Unknown
target name: "usbdevfs_urb_type".
./sound/soc/soc-core.c:2508: ERROR: Unknown target name: "snd_soc_daifmt".
./sound/core/jack.c:312: ERROR: Unknown target name: "snd_jack_btn".
make[2]: *** [linux-user.pdf] Error 1
make[1]: *** [pdfdocs] Error 2
make: *** [pdfdocs] Error 2


-- 
Jim


Re: [PATCH 2/2] Documentation/kconfig: add search jump feature description

2017-02-06 Thread Jim Davis
On Mon, Feb 6, 2017 at 12:46 AM,   wrote:
> From: Changbin Du 
>
> Kernel menuconfig support direct jumping function from the search
> result. This is a very convenient feature but not documented. So
> add a short description to the kconfig documentation to let more
> developer know it.
>
> Signed-off-by: Changbin Du 
> ---
>  Documentation/kbuild/kconfig.txt | 4 
>  1 file changed, 4 insertions(+)
>
> diff --git a/Documentation/kbuild/kconfig.txt 
> b/Documentation/kbuild/kconfig.txt
> index bbc99c0..9916318 100644
> --- a/Documentation/kbuild/kconfig.txt
> +++ b/Documentation/kbuild/kconfig.txt
> @@ -178,6 +178,10 @@ Searching in menuconfig:
> first (and in alphabetical order), then come all other symbols,
> sorted in alphabetical order.
>
> +   In the search result textbox, each symbol has a jump number on
> +   left side if the symbol is jumpable. You can type the nubmer

number  ("jumpable" reads a bit oddly, but it is understandable.)

> +   to jump to target menu to configurate that symbol.

configure?

-- 
Jim


Re: [PATCH 2/2] Documentation/kconfig: add search jump feature description

2017-02-06 Thread Jim Davis
On Mon, Feb 6, 2017 at 12:46 AM,   wrote:
> From: Changbin Du 
>
> Kernel menuconfig support direct jumping function from the search
> result. This is a very convenient feature but not documented. So
> add a short description to the kconfig documentation to let more
> developer know it.
>
> Signed-off-by: Changbin Du 
> ---
>  Documentation/kbuild/kconfig.txt | 4 
>  1 file changed, 4 insertions(+)
>
> diff --git a/Documentation/kbuild/kconfig.txt 
> b/Documentation/kbuild/kconfig.txt
> index bbc99c0..9916318 100644
> --- a/Documentation/kbuild/kconfig.txt
> +++ b/Documentation/kbuild/kconfig.txt
> @@ -178,6 +178,10 @@ Searching in menuconfig:
> first (and in alphabetical order), then come all other symbols,
> sorted in alphabetical order.
>
> +   In the search result textbox, each symbol has a jump number on
> +   left side if the symbol is jumpable. You can type the nubmer

number  ("jumpable" reads a bit oddly, but it is understandable.)

> +   to jump to target menu to configurate that symbol.

configure?

-- 
Jim


Extra messages from Makefile.sphinx

2017-01-27 Thread Jim Davis
On a sphinx-free Ubuntu system with 4.10-rc5, make installmandocs
works just fine, but the garrulous Makefile.sphinx twice tells me I
don't have sphinx-build installed:

Documentation/Makefile.sphinx:22: The 'sphinx-build' command was not found. Make
 sure you have Sphinx installed and in PATH, or set the SPHINXBUILD
make variable to point to the full path of the 'sphinx-build'
executable.
  SKIPSphinx include/config/auto.conf target.
Documentation/Makefile.sphinx:22: The 'sphinx-build' command was not found. Make
 sure you have Sphinx installed and in PATH, or set the SPHINXBUILD
make variable to point to the full path of the 'sphinx-build'
executable.
  SKIPSphinx installmandocs target.

Would the 'SKIP ...' statements suffice?  It happens with make
cleandocs and make mandocs too.
-- 
Jim


Extra messages from Makefile.sphinx

2017-01-27 Thread Jim Davis
On a sphinx-free Ubuntu system with 4.10-rc5, make installmandocs
works just fine, but the garrulous Makefile.sphinx twice tells me I
don't have sphinx-build installed:

Documentation/Makefile.sphinx:22: The 'sphinx-build' command was not found. Make
 sure you have Sphinx installed and in PATH, or set the SPHINXBUILD
make variable to point to the full path of the 'sphinx-build'
executable.
  SKIPSphinx include/config/auto.conf target.
Documentation/Makefile.sphinx:22: The 'sphinx-build' command was not found. Make
 sure you have Sphinx installed and in PATH, or set the SPHINXBUILD
make variable to point to the full path of the 'sphinx-build'
executable.
  SKIPSphinx installmandocs target.

Would the 'SKIP ...' statements suffice?  It happens with make
cleandocs and make mandocs too.
-- 
Jim


make pdfdoc errors with v4.9

2016-12-12 Thread Jim Davis
On my Ubuntu 16.04 desktop, make pdfdocs fails with

Makefile:58: recipe for target 'media.pdf' failed
make[2]: *** [media.pdf] Error 1
Documentation/Makefile.sphinx:79: recipe for target 'pdfdocs' failed
make[1]: *** [pdfdocs] Error 2
Makefile:1450: recipe for target 'pdfdocs' failed
make: *** [pdfdocs] Error 2

jim@krebstar:~/linux-rc$ grep 'LaTeX Error' /tmp/make-pdfdocs.txt |
sort | uniq -c
  1 ! LaTeX Error: \begin{document} ended by \end{adjustbox}.
  1 ! LaTeX Error: \begin{document} ended by \end{longtable}.
  1 ! LaTeX Error: \DUrole undefined.
240 ! LaTeX Error: Something's wrong--perhaps a missing \item.
  2 ! LaTeX Error: There's no line here to end.

This is using the distro's versions of sphinx (1.3.1) and xetex:

This is XeTeX, Version 3.14159265-2.6-0.2 (TeX Live 2015/Debian)
(preloaded format=xelatex)

-- 
Jim


make pdfdoc errors with v4.9

2016-12-12 Thread Jim Davis
On my Ubuntu 16.04 desktop, make pdfdocs fails with

Makefile:58: recipe for target 'media.pdf' failed
make[2]: *** [media.pdf] Error 1
Documentation/Makefile.sphinx:79: recipe for target 'pdfdocs' failed
make[1]: *** [pdfdocs] Error 2
Makefile:1450: recipe for target 'pdfdocs' failed
make: *** [pdfdocs] Error 2

jim@krebstar:~/linux-rc$ grep 'LaTeX Error' /tmp/make-pdfdocs.txt |
sort | uniq -c
  1 ! LaTeX Error: \begin{document} ended by \end{adjustbox}.
  1 ! LaTeX Error: \begin{document} ended by \end{longtable}.
  1 ! LaTeX Error: \DUrole undefined.
240 ! LaTeX Error: Something's wrong--perhaps a missing \item.
  2 ! LaTeX Error: There's no line here to end.

This is using the distro's versions of sphinx (1.3.1) and xetex:

This is XeTeX, Version 3.14159265-2.6-0.2 (TeX Live 2015/Debian)
(preloaded format=xelatex)

-- 
Jim


Re: [PATCH RESEND 2/2] builddeb: allow building without headers/firmware packages

2016-11-16 Thread Jim Davis
  (cd $objtree; find tools/objtool -type f -executable) >> 
> "$objtree/debian/hdrobjfiles"
> +   fi
> +   (cd $objtree; find arch/$SRCARCH/include Module.symvers include 
> scripts -type f) >> "$objtree/debian/hdrobjfiles"
> +   if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then
> +   (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name 
> gcc-common.h) >> "$objtree/debian/hdrobjfiles"
> +   fi
> +   destdir=$kernel_headers_dir/usr/src/linux-headers-$version
> +   mkdir -p "$destdir"
> +   (cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd 
> $destdir; tar -xf -)
> +   (cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd 
> $destdir; tar -xf -)
> +   (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config 
> manually to be where it's expected to be
> +   ln -sf "/usr/src/linux-headers-$version" 
> "$kernel_headers_dir/lib/modules/$version/build"
> +   rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles"
>
> -cat <> debian/control
> +   cat <> debian/control
>
>  Package: $kernel_headers_packagename
>  Provides: linux-headers, linux-headers-2.6
> @@ -353,13 +356,13 @@ Description: Linux kernel headers for $KERNELRELEASE on 
> \${kernel:debarch}
>   .
>   This is useful for people who need to build external modules
>  EOF
> +fi
>
>  # Do we have firmware? Move it out of the way and build it into a package.
>  if [ -e "$tmpdir/lib/firmware" ]; then
> -   mv "$tmpdir/lib/firmware"/* "$fwdir/lib/firmware/$version/"
> -   rmdir "$tmpdir/lib/firmware"
> -
> -   cat <> debian/control
> +   if [ -z "$KDEB_NO_FIRMWARE" ]; then
> +   mv "$tmpdir/lib/firmware"/* "$fwdir/lib/firmware/$version/"
> +   cat <> debian/control
>
>  Package: $fwpackagename
>  Architecture: all
> @@ -367,10 +370,13 @@ Description: Linux kernel firmware, version $version
>   This package contains firmware from the Linux kernel, version $version.
>  EOF
>
> -   create_package "$fwpackagename" "$fwdir"
> +   create_package "$fwpackagename" "$fwdir"
> +   fi
> +   rm -r "$tmpdir/lib/firmware"
>  fi
>
> -cat <> debian/control
> +if [ -z "$KDEB_NO_LIBC_HEADERS" ]; then
> +   cat <> debian/control
>
>  Package: $libc_headers_packagename
>  Section: devel
> @@ -380,10 +386,15 @@ Description: Linux support headers for userspace 
> development
>   This package provides userspaces headers from the Linux kernel.  These 
> headers
>   are used by the installed headers for GNU glibc and other system libraries.
>  EOF
> +fi
>
>  if [ "$ARCH" != "um" ]; then
> -   create_package "$kernel_headers_packagename" "$kernel_headers_dir"
> -   create_package "$libc_headers_packagename" "$libc_headers_dir"
> +   if [ -z "$KDEB_NO_HEADERS" ]; then
> +   create_package "$kernel_headers_packagename" 
> "$kernel_headers_dir"
> +   fi
> +   if [ -z "$KDEB_NO_LIBC_HEADERS" ]; then
> +   create_package "$libc_headers_packagename" "$libc_headers_dir"
> +   fi
>  fi
>
>  create_package "$packagename" "$tmpdir"
> --
> Andrew Donnellan  OzLabs, ADL Canberra
> andrew.donnel...@au1.ibm.com  IBM Australia Limited
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Worked fine with Ubuntu 16.04, and it's nice speedup.

Tested-by: Jim Davis <jim.ep...@gmail.com>

-- 
Jim


Re: [PATCH RESEND 2/2] builddeb: allow building without headers/firmware packages

2016-11-16 Thread Jim Davis
 >> 
> "$objtree/debian/hdrobjfiles"
> +   fi
> +   (cd $objtree; find arch/$SRCARCH/include Module.symvers include 
> scripts -type f) >> "$objtree/debian/hdrobjfiles"
> +   if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then
> +   (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name 
> gcc-common.h) >> "$objtree/debian/hdrobjfiles"
> +   fi
> +   destdir=$kernel_headers_dir/usr/src/linux-headers-$version
> +   mkdir -p "$destdir"
> +   (cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd 
> $destdir; tar -xf -)
> +   (cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd 
> $destdir; tar -xf -)
> +   (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config 
> manually to be where it's expected to be
> +   ln -sf "/usr/src/linux-headers-$version" 
> "$kernel_headers_dir/lib/modules/$version/build"
> +   rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles"
>
> -cat <> debian/control
> +   cat <> debian/control
>
>  Package: $kernel_headers_packagename
>  Provides: linux-headers, linux-headers-2.6
> @@ -353,13 +356,13 @@ Description: Linux kernel headers for $KERNELRELEASE on 
> \${kernel:debarch}
>   .
>   This is useful for people who need to build external modules
>  EOF
> +fi
>
>  # Do we have firmware? Move it out of the way and build it into a package.
>  if [ -e "$tmpdir/lib/firmware" ]; then
> -   mv "$tmpdir/lib/firmware"/* "$fwdir/lib/firmware/$version/"
> -   rmdir "$tmpdir/lib/firmware"
> -
> -   cat <> debian/control
> +   if [ -z "$KDEB_NO_FIRMWARE" ]; then
> +   mv "$tmpdir/lib/firmware"/* "$fwdir/lib/firmware/$version/"
> +   cat <> debian/control
>
>  Package: $fwpackagename
>  Architecture: all
> @@ -367,10 +370,13 @@ Description: Linux kernel firmware, version $version
>   This package contains firmware from the Linux kernel, version $version.
>  EOF
>
> -   create_package "$fwpackagename" "$fwdir"
> +   create_package "$fwpackagename" "$fwdir"
> +   fi
> +   rm -r "$tmpdir/lib/firmware"
>  fi
>
> -cat <> debian/control
> +if [ -z "$KDEB_NO_LIBC_HEADERS" ]; then
> +   cat <> debian/control
>
>  Package: $libc_headers_packagename
>  Section: devel
> @@ -380,10 +386,15 @@ Description: Linux support headers for userspace 
> development
>   This package provides userspaces headers from the Linux kernel.  These 
> headers
>   are used by the installed headers for GNU glibc and other system libraries.
>  EOF
> +fi
>
>  if [ "$ARCH" != "um" ]; then
> -   create_package "$kernel_headers_packagename" "$kernel_headers_dir"
> -   create_package "$libc_headers_packagename" "$libc_headers_dir"
> +   if [ -z "$KDEB_NO_HEADERS" ]; then
> +   create_package "$kernel_headers_packagename" 
> "$kernel_headers_dir"
> +   fi
> +   if [ -z "$KDEB_NO_LIBC_HEADERS" ]; then
> +   create_package "$libc_headers_packagename" "$libc_headers_dir"
> +   fi
>  fi
>
>  create_package "$packagename" "$tmpdir"
> --
> Andrew Donnellan  OzLabs, ADL Canberra
> andrew.donnel...@au1.ibm.com  IBM Australia Limited
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Worked fine with Ubuntu 16.04, and it's nice speedup.

Tested-by: Jim Davis 

-- 
Jim


Re: [PATCH] cxl: Fix error handling

2016-11-02 Thread Jim Davis
On Wed, Nov 2, 2016 at 4:12 AM, Michael Ellerman <m...@ellerman.id.au> wrote:
> Jim Davis <jim.ep...@gmail.com> writes:
>
>> On Sun, Oct 30, 2016 at 10:37 PM, Michael Ellerman <m...@ellerman.id.au> 
>> wrote:
>>> More here:
>>>
>>> https://github.com/linuxppc/linux/wiki/Building-powerpc-kernels
>>
>> Cool; the little-endian build worked fine, but
>
> Yay, thanks for trying.
>
>> jim@krebstar:~/linux-rc$ make ARCH=powerpc
>> CROSS_COMPILE=powerpc64-linux-gnu- vmlinux
>> make: powerpc64-linux-gnu-gcc: Command not found
>> make: powerpc64-linux-gnu-gcc: Command not found
>> scripts/kconfig/conf  --silentoldconfig Kconfig
>> make: powerpc64-linux-gnu-gcc: Command not found

But I cleverly tried to run the Fedora command on Ubuntu... when I run
the right command for Ubuntu, the build worked just fine.  D'oh!

Nit: make distclean missed a few files

jim@krebstar:~/linux-rc$ make distclean; git clean -fdx
  CLEAN   .
  CLEAN   drivers/tty/vt
  CLEAN   drivers/video/logo
  CLEAN   firmware
  CLEAN   kernel
  CLEAN   lib
  CLEAN   usr
  CLEAN   .tmp_versions
  CLEAN   scripts/basic
  CLEAN   scripts/dtc
  CLEAN   scripts/genksyms
  CLEAN   scripts/kconfig
  CLEAN   scripts/mod
  CLEAN   scripts
  CLEAN   include/config include/generated arch/powerpc/include/generated
  CLEAN   .config .version Module.symvers
Removing arch/powerpc/kernel/systbl_chk.i
Removing arch/powerpc/kernel/vdso32/vdso32.lds
Removing arch/powerpc/kernel/vdso32/vdso32.so
Removing arch/powerpc/kernel/vdso32/vdso32.so.dbg
Removing arch/powerpc/kernel/vdso64/vdso64.lds
Removing arch/powerpc/kernel/vdso64/vdso64.so
Removing arch/powerpc/kernel/vdso64/vdso64.so.dbg
Removing arch/powerpc/kernel/vmlinux.lds

-- 
Jim


Re: [PATCH] cxl: Fix error handling

2016-11-02 Thread Jim Davis
On Wed, Nov 2, 2016 at 4:12 AM, Michael Ellerman  wrote:
> Jim Davis  writes:
>
>> On Sun, Oct 30, 2016 at 10:37 PM, Michael Ellerman  
>> wrote:
>>> More here:
>>>
>>> https://github.com/linuxppc/linux/wiki/Building-powerpc-kernels
>>
>> Cool; the little-endian build worked fine, but
>
> Yay, thanks for trying.
>
>> jim@krebstar:~/linux-rc$ make ARCH=powerpc
>> CROSS_COMPILE=powerpc64-linux-gnu- vmlinux
>> make: powerpc64-linux-gnu-gcc: Command not found
>> make: powerpc64-linux-gnu-gcc: Command not found
>> scripts/kconfig/conf  --silentoldconfig Kconfig
>> make: powerpc64-linux-gnu-gcc: Command not found

But I cleverly tried to run the Fedora command on Ubuntu... when I run
the right command for Ubuntu, the build worked just fine.  D'oh!

Nit: make distclean missed a few files

jim@krebstar:~/linux-rc$ make distclean; git clean -fdx
  CLEAN   .
  CLEAN   drivers/tty/vt
  CLEAN   drivers/video/logo
  CLEAN   firmware
  CLEAN   kernel
  CLEAN   lib
  CLEAN   usr
  CLEAN   .tmp_versions
  CLEAN   scripts/basic
  CLEAN   scripts/dtc
  CLEAN   scripts/genksyms
  CLEAN   scripts/kconfig
  CLEAN   scripts/mod
  CLEAN   scripts
  CLEAN   include/config include/generated arch/powerpc/include/generated
  CLEAN   .config .version Module.symvers
Removing arch/powerpc/kernel/systbl_chk.i
Removing arch/powerpc/kernel/vdso32/vdso32.lds
Removing arch/powerpc/kernel/vdso32/vdso32.so
Removing arch/powerpc/kernel/vdso32/vdso32.so.dbg
Removing arch/powerpc/kernel/vdso64/vdso64.lds
Removing arch/powerpc/kernel/vdso64/vdso64.so
Removing arch/powerpc/kernel/vdso64/vdso64.so.dbg
Removing arch/powerpc/kernel/vmlinux.lds

-- 
Jim


Re: [PATCH] cxl: Fix error handling

2016-11-01 Thread Jim Davis
On Sun, Oct 30, 2016 at 10:37 PM, Michael Ellerman  wrote:
> Christophe JAILLET  writes:
>
>> 'cxl_dev_context_init()' returns an error pointer in case of error, not
>> NULL. So test it with IS_ERR.
>>
>> Signed-off-by: Christophe JAILLET 
>> ---
>> un-compiled because I don't have the required  cross build environment.
>
> Do you run Ubuntu or Fedora? If so it's just a dnf/apt-get away:
>
> $ sudo dnf install gcc-c++-powerpc64-linux-gnu binutils-powerpc64-linux-gnu 
> gcc-powerpc64-linux-gnu
> or
> $ sudo apt-get install gcc-powerpc64le-linux-gnu gcc-powerpc-linux-gnu 
> libc-dev-powerpc-cross libc-dev-ppc64el-cross
>
> More here:
>
> https://github.com/linuxppc/linux/wiki/Building-powerpc-kernels

Cool; the little-endian build worked fine, but

jim@krebstar:~/linux-rc$ make ARCH=powerpc
CROSS_COMPILE=powerpc64-linux-gnu- vmlinux
make: powerpc64-linux-gnu-gcc: Command not found
make: powerpc64-linux-gnu-gcc: Command not found
scripts/kconfig/conf  --silentoldconfig Kconfig
make: powerpc64-linux-gnu-gcc: Command not found

This is on Ubuntu 16.04; there's a /usr/bin/powerpc64le-linux-gnu-gcc
from installing gcc-powerpc64le-linux-gnu, and a
/usr/bin/powerpc-linux-gnu-gcc from installing gcc-powerpc-linux-gnu,
but no /usr/bin/powerpc64-linux-gnu-gcc.

-- 
Jim


Re: [PATCH] cxl: Fix error handling

2016-11-01 Thread Jim Davis
On Sun, Oct 30, 2016 at 10:37 PM, Michael Ellerman  wrote:
> Christophe JAILLET  writes:
>
>> 'cxl_dev_context_init()' returns an error pointer in case of error, not
>> NULL. So test it with IS_ERR.
>>
>> Signed-off-by: Christophe JAILLET 
>> ---
>> un-compiled because I don't have the required  cross build environment.
>
> Do you run Ubuntu or Fedora? If so it's just a dnf/apt-get away:
>
> $ sudo dnf install gcc-c++-powerpc64-linux-gnu binutils-powerpc64-linux-gnu 
> gcc-powerpc64-linux-gnu
> or
> $ sudo apt-get install gcc-powerpc64le-linux-gnu gcc-powerpc-linux-gnu 
> libc-dev-powerpc-cross libc-dev-ppc64el-cross
>
> More here:
>
> https://github.com/linuxppc/linux/wiki/Building-powerpc-kernels

Cool; the little-endian build worked fine, but

jim@krebstar:~/linux-rc$ make ARCH=powerpc
CROSS_COMPILE=powerpc64-linux-gnu- vmlinux
make: powerpc64-linux-gnu-gcc: Command not found
make: powerpc64-linux-gnu-gcc: Command not found
scripts/kconfig/conf  --silentoldconfig Kconfig
make: powerpc64-linux-gnu-gcc: Command not found

This is on Ubuntu 16.04; there's a /usr/bin/powerpc64le-linux-gnu-gcc
from installing gcc-powerpc64le-linux-gnu, and a
/usr/bin/powerpc-linux-gnu-gcc from installing gcc-powerpc-linux-gnu,
but no /usr/bin/powerpc64-linux-gnu-gcc.

-- 
Jim


Re: make pdfdocs fails with v4.9-rc3

2016-11-01 Thread Jim Davis
On Mon, Oct 31, 2016 at 3:41 PM, Mauro Carvalho Chehab
<mche...@infradead.org> wrote:
> Em Mon, 31 Oct 2016 16:40:02 -0600
> Mauro Carvalho Chehab <mche...@infradead.org> escreveu:
>
>> Em Mon, 31 Oct 2016 15:04:42 -0700
>> Jim Davis <jim.ep...@gmail.com> escreveu:
>>
>> > On Mon, Oct 31, 2016 at 1:58 PM, Mauro Carvalho Chehab
>> > <mche...@infradead.org> wrote:
>> > > Em Mon, 31 Oct 2016 14:17:59 -0600
>> > > Mauro Carvalho Chehab <mche...@infradead.org> escreveu:
>> > >
>> > >> Em Mon, 31 Oct 2016 13:15:24 -0600
>> > >> Jonathan Corbet <cor...@lwn.net> escreveu:
>> > >>
>> > >> > On Mon, 31 Oct 2016 11:51:20 -0700
>> > >> > Jim Davis <jim.ep...@gmail.com> wrote:
>> > >> >
>> > >> > > Running make pdfdocs on a Ubuntu 16.04 system fails with
>> > >> > >
>> > >> > > Makefile:58: recipe for target 'media.pdf' failed
>> > >> > > make[2]: *** [media.pdf] Error 1
>> > >> > > Documentation/Makefile.sphinx:79: recipe for target 'pdfdocs' failed
>> > >> > > make[1]: *** [pdfdocs] Error 2
>> > >> > > Makefile:1442: recipe for target 'pdfdocs' failed
>> > >> > > make: *** [pdfdocs] Error 2
>> > >> > >
>> > >> > > It's not clear from the voluminous (>5MB) output from make pdfdocs
>> > >> > > exactly which stage is failing, and there are some pdf files 
>> > >> > > produced
>> > >> > > in output/latex.
>> > >> >
>> > >> > Hmm, so it does.  It comes down to this:
>> > >> >
>> > >> > ! LaTeX Error: \DUrole undefined.
>> > >> >
>> > >> > See the LaTeX manual or LaTeX Companion for explanation.
>> > >> > Type  H   for immediate help.
>> > >> >  ...
>> > >> >
>> > >> > l.195 \renewcommand*{\DUrole}
>> > >> >  [2]{ #2 }
>> > >> >
>> > >> > Where the offending command is in Documentation/media/index.rst.  
>> > >> > Mauro,
>> > >> > got an idea for what's going on there?
>> > >>
>> > >> Sphinx is really a poor solution when it comes to PDF output. In this
>> > >> specific case, this is meant to fix a problem with cross-references.
>> > >>
>> > >> What happens is that Sphinx 1.4.6 (and later?) define reference names 
>> > >> without
>> > >> being properly escaped. So, for some references, it causes the PDF 
>> > >> output
>> > >> to crash. That happens at one of the DVB header files, if I remember 
>> > >> well.
>> > >>
>> > >> This commit restores the sphinx 1.2.x behavior:
>> > >>
>> > >> commit e61a39baf74dddb6cd236147bd19b55c10188d78
>> > >> Author: Mauro Carvalho Chehab <mche...@s-opensource.com>
>> > >> Date:   Sun Aug 21 15:14:57 2016 -0300
>> > >>
>> > >> [media] index.rst: Fix LaTeX error in interactive mode on Sphinx 
>> > >> 1.4.x
>> > >>
>> > >> The Sphinx 1.4.x definition for \DUrole is:
>> > >>
>> > >> \providecommand*{\DUrole}[2]{%
>> > >>   \ifcsname DUrole#1\endcsname%
>> > >> \csname DUrole#1\endcsname{#2}%
>> > >>   \else% backwards compatibility: try \docutilsrole#1{#2}
>> > >> \ifcsname docutilsrole#1\endcsname%
>> > >>   \csname docutilsrole#1\endcsname{#2}%
>> > >> \else%
>> > >>   #2%
>> > >> \fi%
>> > >>   \fi%
>> > >> }
>> > >>
>> > >> This is broken when it is used inside a \begin{alltt} block.
>> > >> So, replace it by just "#2", as this won't cause troubles, and
>> > >> it is one of the fallback methods for it.
>> > >>
>> > >> Signed-off-by: Mauro Carvalho Chehab <mche...@s-opensource.com>
>> > >>
>> > >> At the time I tested, it worked fine, but maybe it is redefining the
>> > >> \DUrole too late.
>> > >>
>> > >> Maybe we could move it to L

Re: make pdfdocs fails with v4.9-rc3

2016-11-01 Thread Jim Davis
On Mon, Oct 31, 2016 at 3:41 PM, Mauro Carvalho Chehab
 wrote:
> Em Mon, 31 Oct 2016 16:40:02 -0600
> Mauro Carvalho Chehab  escreveu:
>
>> Em Mon, 31 Oct 2016 15:04:42 -0700
>> Jim Davis  escreveu:
>>
>> > On Mon, Oct 31, 2016 at 1:58 PM, Mauro Carvalho Chehab
>> >  wrote:
>> > > Em Mon, 31 Oct 2016 14:17:59 -0600
>> > > Mauro Carvalho Chehab  escreveu:
>> > >
>> > >> Em Mon, 31 Oct 2016 13:15:24 -0600
>> > >> Jonathan Corbet  escreveu:
>> > >>
>> > >> > On Mon, 31 Oct 2016 11:51:20 -0700
>> > >> > Jim Davis  wrote:
>> > >> >
>> > >> > > Running make pdfdocs on a Ubuntu 16.04 system fails with
>> > >> > >
>> > >> > > Makefile:58: recipe for target 'media.pdf' failed
>> > >> > > make[2]: *** [media.pdf] Error 1
>> > >> > > Documentation/Makefile.sphinx:79: recipe for target 'pdfdocs' failed
>> > >> > > make[1]: *** [pdfdocs] Error 2
>> > >> > > Makefile:1442: recipe for target 'pdfdocs' failed
>> > >> > > make: *** [pdfdocs] Error 2
>> > >> > >
>> > >> > > It's not clear from the voluminous (>5MB) output from make pdfdocs
>> > >> > > exactly which stage is failing, and there are some pdf files 
>> > >> > > produced
>> > >> > > in output/latex.
>> > >> >
>> > >> > Hmm, so it does.  It comes down to this:
>> > >> >
>> > >> > ! LaTeX Error: \DUrole undefined.
>> > >> >
>> > >> > See the LaTeX manual or LaTeX Companion for explanation.
>> > >> > Type  H   for immediate help.
>> > >> >  ...
>> > >> >
>> > >> > l.195 \renewcommand*{\DUrole}
>> > >> >  [2]{ #2 }
>> > >> >
>> > >> > Where the offending command is in Documentation/media/index.rst.  
>> > >> > Mauro,
>> > >> > got an idea for what's going on there?
>> > >>
>> > >> Sphinx is really a poor solution when it comes to PDF output. In this
>> > >> specific case, this is meant to fix a problem with cross-references.
>> > >>
>> > >> What happens is that Sphinx 1.4.6 (and later?) define reference names 
>> > >> without
>> > >> being properly escaped. So, for some references, it causes the PDF 
>> > >> output
>> > >> to crash. That happens at one of the DVB header files, if I remember 
>> > >> well.
>> > >>
>> > >> This commit restores the sphinx 1.2.x behavior:
>> > >>
>> > >> commit e61a39baf74dddb6cd236147bd19b55c10188d78
>> > >> Author: Mauro Carvalho Chehab 
>> > >> Date:   Sun Aug 21 15:14:57 2016 -0300
>> > >>
>> > >> [media] index.rst: Fix LaTeX error in interactive mode on Sphinx 
>> > >> 1.4.x
>> > >>
>> > >> The Sphinx 1.4.x definition for \DUrole is:
>> > >>
>> > >> \providecommand*{\DUrole}[2]{%
>> > >>   \ifcsname DUrole#1\endcsname%
>> > >> \csname DUrole#1\endcsname{#2}%
>> > >>   \else% backwards compatibility: try \docutilsrole#1{#2}
>> > >> \ifcsname docutilsrole#1\endcsname%
>> > >>   \csname docutilsrole#1\endcsname{#2}%
>> > >> \else%
>> > >>   #2%
>> > >> \fi%
>> > >>   \fi%
>> > >> }
>> > >>
>> > >> This is broken when it is used inside a \begin{alltt} block.
>> > >> So, replace it by just "#2", as this won't cause troubles, and
>> > >> it is one of the fallback methods for it.
>> > >>
>> > >> Signed-off-by: Mauro Carvalho Chehab 
>> > >>
>> > >> At the time I tested, it worked fine, but maybe it is redefining the
>> > >> \DUrole too late.
>> > >>
>> > >> Maybe we could move it to LaTeX preamble instead. Please check if this
>> > >> untested patch fixes the issue.
>> > >
>> > > Yes, this seems to be the case. The patch below should fix it.
>> > >
>> > > [PATCH

Re: make pdfdocs fails with v4.9-rc3

2016-10-31 Thread Jim Davis
On Mon, Oct 31, 2016 at 1:58 PM, Mauro Carvalho Chehab
<mche...@infradead.org> wrote:
> Em Mon, 31 Oct 2016 14:17:59 -0600
> Mauro Carvalho Chehab <mche...@infradead.org> escreveu:
>
>> Em Mon, 31 Oct 2016 13:15:24 -0600
>> Jonathan Corbet <cor...@lwn.net> escreveu:
>>
>> > On Mon, 31 Oct 2016 11:51:20 -0700
>> > Jim Davis <jim.ep...@gmail.com> wrote:
>> >
>> > > Running make pdfdocs on a Ubuntu 16.04 system fails with
>> > >
>> > > Makefile:58: recipe for target 'media.pdf' failed
>> > > make[2]: *** [media.pdf] Error 1
>> > > Documentation/Makefile.sphinx:79: recipe for target 'pdfdocs' failed
>> > > make[1]: *** [pdfdocs] Error 2
>> > > Makefile:1442: recipe for target 'pdfdocs' failed
>> > > make: *** [pdfdocs] Error 2
>> > >
>> > > It's not clear from the voluminous (>5MB) output from make pdfdocs
>> > > exactly which stage is failing, and there are some pdf files produced
>> > > in output/latex.
>> >
>> > Hmm, so it does.  It comes down to this:
>> >
>> > ! LaTeX Error: \DUrole undefined.
>> >
>> > See the LaTeX manual or LaTeX Companion for explanation.
>> > Type  H   for immediate help.
>> >  ...
>> >
>> > l.195 \renewcommand*{\DUrole}
>> >  [2]{ #2 }
>> >
>> > Where the offending command is in Documentation/media/index.rst.  Mauro,
>> > got an idea for what's going on there?
>>
>> Sphinx is really a poor solution when it comes to PDF output. In this
>> specific case, this is meant to fix a problem with cross-references.
>>
>> What happens is that Sphinx 1.4.6 (and later?) define reference names without
>> being properly escaped. So, for some references, it causes the PDF output
>> to crash. That happens at one of the DVB header files, if I remember well.
>>
>> This commit restores the sphinx 1.2.x behavior:
>>
>> commit e61a39baf74dddb6cd236147bd19b55c10188d78
>> Author: Mauro Carvalho Chehab <mche...@s-opensource.com>
>> Date:   Sun Aug 21 15:14:57 2016 -0300
>>
>> [media] index.rst: Fix LaTeX error in interactive mode on Sphinx 1.4.x
>>
>> The Sphinx 1.4.x definition for \DUrole is:
>>
>> \providecommand*{\DUrole}[2]{%
>>   \ifcsname DUrole#1\endcsname%
>> \csname DUrole#1\endcsname{#2}%
>>   \else% backwards compatibility: try \docutilsrole#1{#2}
>> \ifcsname docutilsrole#1\endcsname%
>>   \csname docutilsrole#1\endcsname{#2}%
>> \else%
>>   #2%
>> \fi%
>>   \fi%
>> }
>>
>> This is broken when it is used inside a \begin{alltt} block.
>> So, replace it by just "#2", as this won't cause troubles, and
>> it is one of the fallback methods for it.
>>
>> Signed-off-by: Mauro Carvalho Chehab <mche...@s-opensource.com>
>>
>> At the time I tested, it worked fine, but maybe it is redefining the
>> \DUrole too late.
>>
>> Maybe we could move it to LaTeX preamble instead. Please check if this
>> untested patch fixes the issue.
>
> Yes, this seems to be the case. The patch below should fix it.
>
> [PATCH] docs-rst: fix PDF build errors
>
> PDF build on Kernel 4.9-rc? returns an error. This is
> because we're re-defining a command too late. Move
> such redefinition to LaTeX preamble.
>
> Tested by building the documentation on interactive mode:
> make PDFLATEX=xelatex -C Documentation/output/./latex
>
> Fixes: e61a39baf74d ("[media] index.rst: Fix LaTeX error in interactive mode 
> on Sphinx 1.4.x")
>
> Signed-off-by: Mauro Carvalho Chehab <mche...@osg.samsung.com>
>
> diff --git a/Documentation/conf.py b/Documentation/conf.py
> index d9bad21dd427..d9ebfeb431a9 100644
> --- a/Documentation/conf.py
> +++ b/Documentation/conf.py
> @@ -329,6 +329,9 @@ latex_elements = {
> % To allow adjusting table sizes
> \\usepackage{adjustbox}
>
> +   % Fix reference escape troubles with Sphinx 1.4.x
> +   \\renewcommand*{\\DUrole}[2]{ #2 }
> +
>   '''
>  }
>
> diff --git a/Documentation/media/index.rst b/Documentation/media/index.rst
> index e347a3e7bdef..7f8f0af620ce 100644
> --- a/Documentation/media/index.rst
> +++ b/Documentation/media/index.rst
> @@ -1,11 +1,6 @@
>  Linux Media Subsystem Documentation
>  ===
>
> -.. Sphinx 1.4.x has a definition for DUrole that doesn't work on allt

Re: make pdfdocs fails with v4.9-rc3

2016-10-31 Thread Jim Davis
On Mon, Oct 31, 2016 at 1:58 PM, Mauro Carvalho Chehab
 wrote:
> Em Mon, 31 Oct 2016 14:17:59 -0600
> Mauro Carvalho Chehab  escreveu:
>
>> Em Mon, 31 Oct 2016 13:15:24 -0600
>> Jonathan Corbet  escreveu:
>>
>> > On Mon, 31 Oct 2016 11:51:20 -0700
>> > Jim Davis  wrote:
>> >
>> > > Running make pdfdocs on a Ubuntu 16.04 system fails with
>> > >
>> > > Makefile:58: recipe for target 'media.pdf' failed
>> > > make[2]: *** [media.pdf] Error 1
>> > > Documentation/Makefile.sphinx:79: recipe for target 'pdfdocs' failed
>> > > make[1]: *** [pdfdocs] Error 2
>> > > Makefile:1442: recipe for target 'pdfdocs' failed
>> > > make: *** [pdfdocs] Error 2
>> > >
>> > > It's not clear from the voluminous (>5MB) output from make pdfdocs
>> > > exactly which stage is failing, and there are some pdf files produced
>> > > in output/latex.
>> >
>> > Hmm, so it does.  It comes down to this:
>> >
>> > ! LaTeX Error: \DUrole undefined.
>> >
>> > See the LaTeX manual or LaTeX Companion for explanation.
>> > Type  H   for immediate help.
>> >  ...
>> >
>> > l.195 \renewcommand*{\DUrole}
>> >  [2]{ #2 }
>> >
>> > Where the offending command is in Documentation/media/index.rst.  Mauro,
>> > got an idea for what's going on there?
>>
>> Sphinx is really a poor solution when it comes to PDF output. In this
>> specific case, this is meant to fix a problem with cross-references.
>>
>> What happens is that Sphinx 1.4.6 (and later?) define reference names without
>> being properly escaped. So, for some references, it causes the PDF output
>> to crash. That happens at one of the DVB header files, if I remember well.
>>
>> This commit restores the sphinx 1.2.x behavior:
>>
>> commit e61a39baf74dddb6cd236147bd19b55c10188d78
>> Author: Mauro Carvalho Chehab 
>> Date:   Sun Aug 21 15:14:57 2016 -0300
>>
>> [media] index.rst: Fix LaTeX error in interactive mode on Sphinx 1.4.x
>>
>> The Sphinx 1.4.x definition for \DUrole is:
>>
>> \providecommand*{\DUrole}[2]{%
>>   \ifcsname DUrole#1\endcsname%
>> \csname DUrole#1\endcsname{#2}%
>>   \else% backwards compatibility: try \docutilsrole#1{#2}
>> \ifcsname docutilsrole#1\endcsname%
>>   \csname docutilsrole#1\endcsname{#2}%
>> \else%
>>   #2%
>> \fi%
>>   \fi%
>> }
>>
>> This is broken when it is used inside a \begin{alltt} block.
>> So, replace it by just "#2", as this won't cause troubles, and
>> it is one of the fallback methods for it.
>>
>> Signed-off-by: Mauro Carvalho Chehab 
>>
>> At the time I tested, it worked fine, but maybe it is redefining the
>> \DUrole too late.
>>
>> Maybe we could move it to LaTeX preamble instead. Please check if this
>> untested patch fixes the issue.
>
> Yes, this seems to be the case. The patch below should fix it.
>
> [PATCH] docs-rst: fix PDF build errors
>
> PDF build on Kernel 4.9-rc? returns an error. This is
> because we're re-defining a command too late. Move
> such redefinition to LaTeX preamble.
>
> Tested by building the documentation on interactive mode:
> make PDFLATEX=xelatex -C Documentation/output/./latex
>
> Fixes: e61a39baf74d ("[media] index.rst: Fix LaTeX error in interactive mode 
> on Sphinx 1.4.x")
>
> Signed-off-by: Mauro Carvalho Chehab 
>
> diff --git a/Documentation/conf.py b/Documentation/conf.py
> index d9bad21dd427..d9ebfeb431a9 100644
> --- a/Documentation/conf.py
> +++ b/Documentation/conf.py
> @@ -329,6 +329,9 @@ latex_elements = {
> % To allow adjusting table sizes
> \\usepackage{adjustbox}
>
> +   % Fix reference escape troubles with Sphinx 1.4.x
> +   \\renewcommand*{\\DUrole}[2]{ #2 }
> +
>   '''
>  }
>
> diff --git a/Documentation/media/index.rst b/Documentation/media/index.rst
> index e347a3e7bdef..7f8f0af620ce 100644
> --- a/Documentation/media/index.rst
> +++ b/Documentation/media/index.rst
> @@ -1,11 +1,6 @@
>  Linux Media Subsystem Documentation
>  ===
>
> -.. Sphinx 1.4.x has a definition for DUrole that doesn't work on alltt blocks
> -.. raw:: latex
> -
> -   \renewcommand*{\DUrole}[2]{ #2 }
> -
>  Contents:
>
>  .. toctree::
>
>
>
>
> Cheers,
> Mauro

After applying the patch I'm seeing a similar error message

[...]
Running Sphinx v1.3.1
[...]

! LaTeX Error: \DUrole undefined.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H   for immediate help.
 ...

l.79 ^^I\renewcommand*{\DUrole}
   [2]{ #2 }

but in a different place

Makefile:58: recipe for target 'development-process.pdf' failed
make[2]: *** [development-process.pdf] Error 1
Documentation/Makefile.sphinx:79: recipe for target 'pdfdocs' failed

It was failing with the media.pdf target before.

And there was a development-process.pdf file created; it doesn't have
the table of contents but from a quick look the actual text looks
reasonable.


-- 
Jim


make cleandocs missing files with v4.9-rc3

2016-10-31 Thread Jim Davis
On my Ubuntu 16.04 system, make htmldocs works just fine (hurrah!) but
make cleandocs misses a fair number of files:

  HTMLDocumentation/DocBook/index.html
jim@krebstar:~/linux-rc$ make cleandocs
jim@krebstar:~/linux-rc$ git status
HEAD detached at v4.9-rc3
nothing to commit, working directory clean
jim@krebstar:~/linux-rc$ git clean -fdx
Removing Documentation/DocBook/.alsa-driver-api.xml.cmd
Removing Documentation/DocBook/.crypto-API.xml.cmd
Removing Documentation/DocBook/.debugobjects.xml.cmd
Removing Documentation/DocBook/.deviceiobook.xml.cmd
Removing Documentation/DocBook/.filesystems.xml.cmd
Removing Documentation/DocBook/.gadget.xml.cmd
Removing Documentation/DocBook/.genericirq.xml.cmd
Removing Documentation/DocBook/.iio.xml.cmd
Removing Documentation/DocBook/.kernel-api.xml.cmd
Removing Documentation/DocBook/.kernel-hacking.xml.cmd
Removing Documentation/DocBook/.kernel-locking.xml.cmd
Removing Documentation/DocBook/.kgdb.xml.cmd
Removing Documentation/DocBook/.libata.xml.cmd
Removing Documentation/DocBook/.librs.xml.cmd
Removing Documentation/DocBook/.lsm.xml.cmd
Removing Documentation/DocBook/.mtdnand.xml.cmd
Removing Documentation/DocBook/.networking.xml.cmd
Removing Documentation/DocBook/.rapidio.xml.cmd
Removing Documentation/DocBook/.regulator.xml.cmd
Removing Documentation/DocBook/.s390-drivers.xml.cmd
Removing Documentation/DocBook/.scsi.xml.cmd
Removing Documentation/DocBook/.sh.xml.cmd
Removing Documentation/DocBook/.tracepoint.xml.cmd
Removing Documentation/DocBook/.uio-howto.xml.cmd
Removing Documentation/DocBook/.usb.xml.cmd
Removing Documentation/DocBook/.w1.xml.cmd
Removing Documentation/DocBook/.writing-an-alsa-driver.xml.cmd
Removing Documentation/DocBook/.writing_musb_glue_layer.xml.cmd
Removing Documentation/DocBook/.writing_usb_driver.xml.cmd
Removing Documentation/DocBook/.z8530book.xml.cmd
Removing Documentation/sphinx/cdomain.pyc
Removing Documentation/sphinx/kernel-doc.pyc
Removing Documentation/sphinx/kernel_include.pyc
Removing Documentation/sphinx/load_config.pyc
Removing Documentation/sphinx/rstFlatTable.pyc
Removing scripts/.check-lc_ctype.cmd
Removing scripts/.docproc.cmd
Removing scripts/basic/.fixdep.cmd
Removing scripts/basic/fixdep
Removing scripts/check-lc_ctype
Removing scripts/docproc


-- 
Jim


make cleandocs missing files with v4.9-rc3

2016-10-31 Thread Jim Davis
On my Ubuntu 16.04 system, make htmldocs works just fine (hurrah!) but
make cleandocs misses a fair number of files:

  HTMLDocumentation/DocBook/index.html
jim@krebstar:~/linux-rc$ make cleandocs
jim@krebstar:~/linux-rc$ git status
HEAD detached at v4.9-rc3
nothing to commit, working directory clean
jim@krebstar:~/linux-rc$ git clean -fdx
Removing Documentation/DocBook/.alsa-driver-api.xml.cmd
Removing Documentation/DocBook/.crypto-API.xml.cmd
Removing Documentation/DocBook/.debugobjects.xml.cmd
Removing Documentation/DocBook/.deviceiobook.xml.cmd
Removing Documentation/DocBook/.filesystems.xml.cmd
Removing Documentation/DocBook/.gadget.xml.cmd
Removing Documentation/DocBook/.genericirq.xml.cmd
Removing Documentation/DocBook/.iio.xml.cmd
Removing Documentation/DocBook/.kernel-api.xml.cmd
Removing Documentation/DocBook/.kernel-hacking.xml.cmd
Removing Documentation/DocBook/.kernel-locking.xml.cmd
Removing Documentation/DocBook/.kgdb.xml.cmd
Removing Documentation/DocBook/.libata.xml.cmd
Removing Documentation/DocBook/.librs.xml.cmd
Removing Documentation/DocBook/.lsm.xml.cmd
Removing Documentation/DocBook/.mtdnand.xml.cmd
Removing Documentation/DocBook/.networking.xml.cmd
Removing Documentation/DocBook/.rapidio.xml.cmd
Removing Documentation/DocBook/.regulator.xml.cmd
Removing Documentation/DocBook/.s390-drivers.xml.cmd
Removing Documentation/DocBook/.scsi.xml.cmd
Removing Documentation/DocBook/.sh.xml.cmd
Removing Documentation/DocBook/.tracepoint.xml.cmd
Removing Documentation/DocBook/.uio-howto.xml.cmd
Removing Documentation/DocBook/.usb.xml.cmd
Removing Documentation/DocBook/.w1.xml.cmd
Removing Documentation/DocBook/.writing-an-alsa-driver.xml.cmd
Removing Documentation/DocBook/.writing_musb_glue_layer.xml.cmd
Removing Documentation/DocBook/.writing_usb_driver.xml.cmd
Removing Documentation/DocBook/.z8530book.xml.cmd
Removing Documentation/sphinx/cdomain.pyc
Removing Documentation/sphinx/kernel-doc.pyc
Removing Documentation/sphinx/kernel_include.pyc
Removing Documentation/sphinx/load_config.pyc
Removing Documentation/sphinx/rstFlatTable.pyc
Removing scripts/.check-lc_ctype.cmd
Removing scripts/.docproc.cmd
Removing scripts/basic/.fixdep.cmd
Removing scripts/basic/fixdep
Removing scripts/check-lc_ctype
Removing scripts/docproc


-- 
Jim


make psdocs fails with v4.9-rc3

2016-10-31 Thread Jim Davis
Running make psdocs on a Ubuntu 16.04 system fails with

Documentation/DocBook/Makefile:142: recipe for target
'Documentation/DocBook/kernel-hacking.ps' failed
make[1]: *** [Documentation/DocBook/kernel-hacking.ps] Error 9
Makefile:1442: recipe for target 'psdocs' failed
make: *** [psdocs] Error 2

possibly due to

[15.0.21]
! Undefined control sequence.
\Hy@wrapper@babel ...set@display@protect \edef \x
  {#2}\@onelevel@sanitize \x...
l.8111 \endHeadPar{}
\endSeq{}\Node%
! Argument of \HyWrap@hyper@anchorstart has an extra }.

\par
l.8111 \endHeadPar{}
\endSeq{}\Node%
Runaway argument?

Though I wonder how many people still build the psdocs version...


-- 
Jim


make psdocs fails with v4.9-rc3

2016-10-31 Thread Jim Davis
Running make psdocs on a Ubuntu 16.04 system fails with

Documentation/DocBook/Makefile:142: recipe for target
'Documentation/DocBook/kernel-hacking.ps' failed
make[1]: *** [Documentation/DocBook/kernel-hacking.ps] Error 9
Makefile:1442: recipe for target 'psdocs' failed
make: *** [psdocs] Error 2

possibly due to

[15.0.21]
! Undefined control sequence.
\Hy@wrapper@babel ...set@display@protect \edef \x
  {#2}\@onelevel@sanitize \x...
l.8111 \endHeadPar{}
\endSeq{}\Node%
! Argument of \HyWrap@hyper@anchorstart has an extra }.

\par
l.8111 \endHeadPar{}
\endSeq{}\Node%
Runaway argument?

Though I wonder how many people still build the psdocs version...


-- 
Jim


make pdfdocs fails with v4.9-rc3

2016-10-31 Thread Jim Davis
Running make pdfdocs on a Ubuntu 16.04 system fails with

Makefile:58: recipe for target 'media.pdf' failed
make[2]: *** [media.pdf] Error 1
Documentation/Makefile.sphinx:79: recipe for target 'pdfdocs' failed
make[1]: *** [pdfdocs] Error 2
Makefile:1442: recipe for target 'pdfdocs' failed
make: *** [pdfdocs] Error 2

It's not clear from the voluminous (>5MB) output from make pdfdocs
exactly which stage is failing, and there are some pdf files produced
in output/latex.

This is with sphinx, rst2pdf, and texlive installed from the Ubuntu
repositories.

-- 
Jim


make pdfdocs fails with v4.9-rc3

2016-10-31 Thread Jim Davis
Running make pdfdocs on a Ubuntu 16.04 system fails with

Makefile:58: recipe for target 'media.pdf' failed
make[2]: *** [media.pdf] Error 1
Documentation/Makefile.sphinx:79: recipe for target 'pdfdocs' failed
make[1]: *** [pdfdocs] Error 2
Makefile:1442: recipe for target 'pdfdocs' failed
make: *** [pdfdocs] Error 2

It's not clear from the voluminous (>5MB) output from make pdfdocs
exactly which stage is failing, and there are some pdf files produced
in output/latex.

This is with sphinx, rst2pdf, and texlive installed from the Ubuntu
repositories.

-- 
Jim


Re: [PATCH 09/10] scripts/basic/fixdep: Complete error handling in print_cmdline()

2016-10-28 Thread Jim Davis
On Fri, Oct 28, 2016 at 1:40 AM, SF Markus Elfring
 wrote:

> +   if (printf("cmd_%s := %s\n\n", target, cmdline) < 10) {

Rather than scatter fragile magic numbers, like 10, throughout the
code, if you're hell-bent on checking for printf errors you could
write a little wrapper function that hid the magic number and bundled
up the errno stuff.

But what would you expect printf error checking to tell a user?
Perhaps that he or she ran out of disk space, but that's going to be
painfully obvious anyway in almost every case.

-- 
Jim


Re: [PATCH 09/10] scripts/basic/fixdep: Complete error handling in print_cmdline()

2016-10-28 Thread Jim Davis
On Fri, Oct 28, 2016 at 1:40 AM, SF Markus Elfring
 wrote:

> +   if (printf("cmd_%s := %s\n\n", target, cmdline) < 10) {

Rather than scatter fragile magic numbers, like 10, throughout the
code, if you're hell-bent on checking for printf errors you could
write a little wrapper function that hid the magic number and bundled
up the errno stuff.

But what would you expect printf error checking to tell a user?
Perhaps that he or she ran out of disk space, but that's going to be
painfully obvious anyway in almost every case.

-- 
Jim


Re: [PATCH 01/10] scripts/basic/bin2c: Complete error handling in main()

2016-10-28 Thread Jim Davis
On Fri, Oct 28, 2016 at 1:31 AM, SF Markus Elfring
 wrote:
> From: Markus Elfring 
> Date: Thu, 27 Oct 2016 16:15:04 +0200
>
> Return values were not checked from five calls of the function "printf".
>
> This issue was detected also by using the Coccinelle software.
>
>
> * Add a bit of exception handling there.
>
> * Optimise this function implementation a bit.

The most interesting thing about this patch was trying to figure out
how to actually get bin2c to run at all.  Making a defconfig kernel
didn't run it.  Making a kernel with the latest Ubuntu 16.10 config
file didn't run it.  Setting CONFIG_IKCONFIG runs it (once), for the
folks who want to use scripts/extract-ikconfig.  After that, if you
dig about in the makefiles, it looks like you have to turn on the
Tomoyo LSM -- which doesn't seem to be a common occurrence -- or else
set CONFIG_KEXEC_FILE to generate the 'purgatory' thing it uses.
Again, not the most frequent of events, as far as I can tell.

Given how uncommon running bin2c seems to be, "optimizing" it may not
be a useful project.

-- 
Jim


Re: [PATCH 01/10] scripts/basic/bin2c: Complete error handling in main()

2016-10-28 Thread Jim Davis
On Fri, Oct 28, 2016 at 1:31 AM, SF Markus Elfring
 wrote:
> From: Markus Elfring 
> Date: Thu, 27 Oct 2016 16:15:04 +0200
>
> Return values were not checked from five calls of the function "printf".
>
> This issue was detected also by using the Coccinelle software.
>
>
> * Add a bit of exception handling there.
>
> * Optimise this function implementation a bit.

The most interesting thing about this patch was trying to figure out
how to actually get bin2c to run at all.  Making a defconfig kernel
didn't run it.  Making a kernel with the latest Ubuntu 16.10 config
file didn't run it.  Setting CONFIG_IKCONFIG runs it (once), for the
folks who want to use scripts/extract-ikconfig.  After that, if you
dig about in the makefiles, it looks like you have to turn on the
Tomoyo LSM -- which doesn't seem to be a common occurrence -- or else
set CONFIG_KEXEC_FILE to generate the 'purgatory' thing it uses.
Again, not the most frequent of events, as far as I can tell.

Given how uncommon running bin2c seems to be, "optimizing" it may not
be a useful project.

-- 
Jim


Re: Challenges around the usage of different "HOSTCFLAGS" for kernel build configuration and module generation

2016-10-19 Thread Jim Davis
On Wed, Oct 19, 2016 at 12:25 AM, SF Markus Elfring
 wrote:
>
> Are you interested that a software generation parameter like "-S"
> (for output of assembler source files) could be directly supported
> for a special build variant?

No, if you want to see the assembly code then something like

make defconfig; make EXTRA_CFLAGS="-g" drivers/md/; objdump -S
drivers/md/whatever.o

seems easy enough.  You could write a little shell wrapper to save
some keystrokes if you find you're running those commands frequently.

-- 
Jim


Re: Challenges around the usage of different "HOSTCFLAGS" for kernel build configuration and module generation

2016-10-19 Thread Jim Davis
On Wed, Oct 19, 2016 at 12:25 AM, SF Markus Elfring
 wrote:
>
> Are you interested that a software generation parameter like "-S"
> (for output of assembler source files) could be directly supported
> for a special build variant?

No, if you want to see the assembly code then something like

make defconfig; make EXTRA_CFLAGS="-g" drivers/md/; objdump -S
drivers/md/whatever.o

seems easy enough.  You could write a little shell wrapper to save
some keystrokes if you find you're running those commands frequently.

-- 
Jim


Re: Difficulties around "fixdep" for the usage of a kernel build output directory

2016-10-18 Thread Jim Davis
On Tue, Oct 18, 2016 at 10:25 AM, SF Markus Elfring
 wrote:

> Can it be that the passing of the adjusted parameter "HOSTCFLAGS" has got a 
> significant
> influence (with unwanted side effects) in this use case?

That's probably it.  If I strip down your advanced original example to just

make defconfig
make HOSTCFLAGS=-S

then I get a similar error:

  HOSTCC  scripts/basic/fixdep
scripts/basic/fixdep: 1: scripts/basic/fixdep: .file: not found
scripts/basic/fixdep: 2: scripts/basic/fixdep: .comm: not found
scripts/basic/fixdep: 3: scripts/basic/fixdep: .comm: not found
scripts/basic/fixdep: 4: scripts/basic/fixdep: .comm: not found
scripts/basic/fixdep: 5: scripts/basic/fixdep: .comm: not found
scripts/basic/fixdep: 6: scripts/basic/fixdep: .section: not found

and so forth.  The problem is that, with -S, fixdep isn't build as an
executable:

jim@krebstar:~/linux-next/scripts/basic$ file fixdep
fixdep: assembler source, ASCII text
jim@krebstar:~/linux-next/scripts/basic$ more fixdep
.file"fixdep.c"
.comminsert_extra_deps,4,4
.commtarget,8,8
.commdepfile,8,8
.commcmdline,8,8
.section.rodata

I'm guessing that in your original example you wanted to look at the
assembly output gcc produced; you'd probably have better luck using
objdump for that.

-- 
Jim


Re: Difficulties around "fixdep" for the usage of a kernel build output directory

2016-10-18 Thread Jim Davis
On Tue, Oct 18, 2016 at 10:25 AM, SF Markus Elfring
 wrote:

> Can it be that the passing of the adjusted parameter "HOSTCFLAGS" has got a 
> significant
> influence (with unwanted side effects) in this use case?

That's probably it.  If I strip down your advanced original example to just

make defconfig
make HOSTCFLAGS=-S

then I get a similar error:

  HOSTCC  scripts/basic/fixdep
scripts/basic/fixdep: 1: scripts/basic/fixdep: .file: not found
scripts/basic/fixdep: 2: scripts/basic/fixdep: .comm: not found
scripts/basic/fixdep: 3: scripts/basic/fixdep: .comm: not found
scripts/basic/fixdep: 4: scripts/basic/fixdep: .comm: not found
scripts/basic/fixdep: 5: scripts/basic/fixdep: .comm: not found
scripts/basic/fixdep: 6: scripts/basic/fixdep: .section: not found

and so forth.  The problem is that, with -S, fixdep isn't build as an
executable:

jim@krebstar:~/linux-next/scripts/basic$ file fixdep
fixdep: assembler source, ASCII text
jim@krebstar:~/linux-next/scripts/basic$ more fixdep
.file"fixdep.c"
.comminsert_extra_deps,4,4
.commtarget,8,8
.commdepfile,8,8
.commcmdline,8,8
.section.rodata

I'm guessing that in your original example you wanted to look at the
assembly output gcc produced; you'd probably have better luck using
objdump for that.

-- 
Jim


Re: Difficulties around "fixdep" for the usage of a kernel build output directory

2016-10-18 Thread Jim Davis
On Tue, Oct 18, 2016 at 9:38 AM, SF Markus Elfring
 wrote:
>>> elfring@Sonne:~/Projekte/Linux/next-patched> my_off=-O0 && for X in off; do 
>>> my_output_dir=${my_build_dir}unchanged/optimisation/${X} && 
>>> my_var="my_${X}" && my_parameters="-Wall -std=gnu89 -fomit-frame-pointer 
>>> ${!my_var}" && LANG=C make V=2 O="${my_output_dir}" HOSTCC='/usr/bin/gcc-6' 
>>> HOSTCFLAGS="-S ${my_parameters}" drivers/md/; done
> …
>> That's a very complicated command line.
>
> I find it "advanced".
>
> It shows a few of my imaginations around a specific software development task.
>
>
>> Does something basic, like
>>
>> make O=/tmp/$$ allmodconfig
>> make O=/tmp/$$
>>
>> work for you?
>
> Not really. - I would like to achieve the automatic selection of a few
> compilation settings by a for loop which I reduced in the shown example
> to one element.

Fine, but my point was to check that the basic things worked before
trying the complicated, or "advanced" stuff.  If, somehow, fixdep
didn't work in a basic setup then you'd know it wasn't one of your
advanced features that was causing the problem.

And if fixdep did work with a basic setup , then that would suggest
something wrong with your advanced command line.
-- 
Jim


Re: Difficulties around "fixdep" for the usage of a kernel build output directory

2016-10-18 Thread Jim Davis
On Tue, Oct 18, 2016 at 9:38 AM, SF Markus Elfring
 wrote:
>>> elfring@Sonne:~/Projekte/Linux/next-patched> my_off=-O0 && for X in off; do 
>>> my_output_dir=${my_build_dir}unchanged/optimisation/${X} && 
>>> my_var="my_${X}" && my_parameters="-Wall -std=gnu89 -fomit-frame-pointer 
>>> ${!my_var}" && LANG=C make V=2 O="${my_output_dir}" HOSTCC='/usr/bin/gcc-6' 
>>> HOSTCFLAGS="-S ${my_parameters}" drivers/md/; done
> …
>> That's a very complicated command line.
>
> I find it "advanced".
>
> It shows a few of my imaginations around a specific software development task.
>
>
>> Does something basic, like
>>
>> make O=/tmp/$$ allmodconfig
>> make O=/tmp/$$
>>
>> work for you?
>
> Not really. - I would like to achieve the automatic selection of a few
> compilation settings by a for loop which I reduced in the shown example
> to one element.

Fine, but my point was to check that the basic things worked before
trying the complicated, or "advanced" stuff.  If, somehow, fixdep
didn't work in a basic setup then you'd know it wasn't one of your
advanced features that was causing the problem.

And if fixdep did work with a basic setup , then that would suggest
something wrong with your advanced command line.
-- 
Jim


Re: Difficulties around "fixdep" for the usage of a kernel build output directory

2016-10-18 Thread Jim Davis
On Tue, Oct 18, 2016 at 6:54 AM, SF Markus Elfring
 wrote:
> Hello,
>
> The file "README" contains a section "BUILD directory for the kernel".
> I would like to use the functionality which is described there.
>
> One of my commands for such a build try is working as desired.
>
>
> elfring@Sonne:~/Projekte/Linux/next-patched> git checkout next-20161014 && 
> my_off=-O0 && for X in off; do 
> my_output_dir=${my_build_dir}unchanged/optimisation/${X} && my_var="my_${X}" 
> && my_parameters="-Wall -std=gnu89 -fomit-frame-pointer ${!my_var}" && make 
> O="${my_output_dir}" HOSTCC='/usr/bin/gcc-6' HOSTCFLAGS="${my_parameters}" 
> allmodconfig; done
> …
> #
> # configuration written to .config
> #
>
>
> I stumble on the following messages for another build command.
>
>
> elfring@Sonne:~/Projekte/Linux/next-patched> my_off=-O0 && for X in off; do 
> my_output_dir=${my_build_dir}unchanged/optimisation/${X} && my_var="my_${X}" 
> && my_parameters="-Wall -std=gnu89 -fomit-frame-pointer ${!my_var}" && LANG=C 
> make V=2 O="${my_output_dir}" HOSTCC='/usr/bin/gcc-6' HOSTCFLAGS="-S 
> ${my_parameters}" drivers/md/; done
> make[1]: Entering directory …
>   HOSTCC  scripts/basic/fixdep - due to command line change
> scripts/basic/fixdep: line 1: .file: command not found
> scripts/basic/fixdep: line 2: .comm: command not found
> …
> scripts/basic/fixdep: line 6: .section: command not found
> scripts/basic/fixdep: line 7: .align: command not found
> scripts/basic/fixdep: line 8: .LC0:: command not found
> scripts/basic/fixdep: line 9: .string: command not found
> …
>
>
> I wonder why this approach does not work so far.
> I would appreciate your advices.

That's a very complicated command line.  Does something basic, like

make O=/tmp/$$ allmodconfig
make O=/tmp/$$

work for you?

-- 
Jim


Re: Difficulties around "fixdep" for the usage of a kernel build output directory

2016-10-18 Thread Jim Davis
On Tue, Oct 18, 2016 at 6:54 AM, SF Markus Elfring
 wrote:
> Hello,
>
> The file "README" contains a section "BUILD directory for the kernel".
> I would like to use the functionality which is described there.
>
> One of my commands for such a build try is working as desired.
>
>
> elfring@Sonne:~/Projekte/Linux/next-patched> git checkout next-20161014 && 
> my_off=-O0 && for X in off; do 
> my_output_dir=${my_build_dir}unchanged/optimisation/${X} && my_var="my_${X}" 
> && my_parameters="-Wall -std=gnu89 -fomit-frame-pointer ${!my_var}" && make 
> O="${my_output_dir}" HOSTCC='/usr/bin/gcc-6' HOSTCFLAGS="${my_parameters}" 
> allmodconfig; done
> …
> #
> # configuration written to .config
> #
>
>
> I stumble on the following messages for another build command.
>
>
> elfring@Sonne:~/Projekte/Linux/next-patched> my_off=-O0 && for X in off; do 
> my_output_dir=${my_build_dir}unchanged/optimisation/${X} && my_var="my_${X}" 
> && my_parameters="-Wall -std=gnu89 -fomit-frame-pointer ${!my_var}" && LANG=C 
> make V=2 O="${my_output_dir}" HOSTCC='/usr/bin/gcc-6' HOSTCFLAGS="-S 
> ${my_parameters}" drivers/md/; done
> make[1]: Entering directory …
>   HOSTCC  scripts/basic/fixdep - due to command line change
> scripts/basic/fixdep: line 1: .file: command not found
> scripts/basic/fixdep: line 2: .comm: command not found
> …
> scripts/basic/fixdep: line 6: .section: command not found
> scripts/basic/fixdep: line 7: .align: command not found
> scripts/basic/fixdep: line 8: .LC0:: command not found
> scripts/basic/fixdep: line 9: .string: command not found
> …
>
>
> I wonder why this approach does not work so far.
> I would appreciate your advices.

That's a very complicated command line.  Does something basic, like

make O=/tmp/$$ allmodconfig
make O=/tmp/$$

work for you?

-- 
Jim


Re: [PATCH 2/2] kbuild: add shell cache

2016-06-29 Thread Jim Davis
On Mon, Jun 27, 2016 at 11:28 AM, Rabin Vincent  wrote:
> Running make results in over 40 invocations of the compiler just during
> processing of the Makefile, before any actual rules are run.
>
> To reduce this overhead, cache the results of $(shell) calls to the
> compiler.

Clever.   Looks like lisp with all those parens!

One quirk with distclean:

jim@krebstar:~/linux-rc$ make defconfig >/dev/null
jim@krebstar:~/linux-rc$ ls -la .shellcache
-rw-rw-r-- 1 jim jim 7876 Jun 29 09:51 .shellcache
jim@krebstar:~/linux-rc$ make distclean | grep '\.shellcache'
  CLEAN   .shellcache
jim@krebstar:~/linux-rc$ ls -la .shellcache
-rw-rw-r-- 1 jim jim 1061 Jun 29 09:52 .shellcache

-- 
Jim


Re: [PATCH 2/2] kbuild: add shell cache

2016-06-29 Thread Jim Davis
On Mon, Jun 27, 2016 at 11:28 AM, Rabin Vincent  wrote:
> Running make results in over 40 invocations of the compiler just during
> processing of the Makefile, before any actual rules are run.
>
> To reduce this overhead, cache the results of $(shell) calls to the
> compiler.

Clever.   Looks like lisp with all those parens!

One quirk with distclean:

jim@krebstar:~/linux-rc$ make defconfig >/dev/null
jim@krebstar:~/linux-rc$ ls -la .shellcache
-rw-rw-r-- 1 jim jim 7876 Jun 29 09:51 .shellcache
jim@krebstar:~/linux-rc$ make distclean | grep '\.shellcache'
  CLEAN   .shellcache
jim@krebstar:~/linux-rc$ ls -la .shellcache
-rw-rw-r-- 1 jim jim 1061 Jun 29 09:52 .shellcache

-- 
Jim


randconfig build error with next-20151216, in drivers/i2c/busses

2015-12-16 Thread Jim Davis
Building with the attached random configuration file,

ERROR: "i2c_parse_fw_timings" [drivers/i2c/busses/i2c-rcar.ko] undefined!

-- 
Jim
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.4.0-rc5 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_KASAN_SHADOW_OFFSET=0xdc00
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx 
-fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 
-fcall-saved-r11"
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_COMPILE_TEST=y
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
# CONFIG_SWAP is not set
# CONFIG_SYSVIPC is not set
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_FHANDLE=y
# CONFIG_USELIB is not set
# CONFIG_AUDIT is not set
CONFIG_HAVE_ARCH_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_HZ_PERIODIC=y
# CONFIG_NO_HZ_IDLE is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_TASKSTATS is not set

#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
CONFIG_RCU_EXPERT=y
CONFIG_SRCU=y
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_RCU_KTHREAD_PRIO=0
# CONFIG_RCU_EXPEDITE_BOOT is not set
CONFIG_BUILD_BIN2C=y
CONFIG_IKCONFIG=m
# CONFIG_IKCONFIG_PROC is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_FREEZER=y
# CONFIG_CGROUP_PIDS is not set
# CONFIG_CGROUP_DEVICE is not set
CONFIG_CPUSETS=y
# CONFIG_PROC_PID_CPUSET is not set
# CONFIG_CGROUP_CPUACCT is not set
# CONFIG_MEMCG is not set
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
CONFIG_RT_GROUP_SCHED=y
# CONFIG_BLK_CGROUP is not set
# CONFIG_CHECKPOINT_RESTORE is not set
# CONFIG_NAMESPACES is not set
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_XZ is not set
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BPF=y
CONFIG_EXPERT=y
CONFIG_MULTIUSER=y
# CONFIG_SGETMASK_SYSCALL is not set
CONFIG_SYSFS_SYSCALL=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_PRINTK is not set
CONFIG_BUG=y
# CONFIG_PCSPKR_PLATFORM is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
# CONFIG_EPOLL is not set
# CONFIG_SIGNALFD is not set
# 

randconfig build error with next-20151216, in drivers/i2c/busses

2015-12-16 Thread Jim Davis
Building with the attached random configuration file,

ERROR: "i2c_parse_fw_timings" [drivers/i2c/busses/i2c-rcar.ko] undefined!

-- 
Jim
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.4.0-rc5 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_KASAN_SHADOW_OFFSET=0xdc00
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx 
-fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 
-fcall-saved-r11"
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_COMPILE_TEST=y
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
# CONFIG_SWAP is not set
# CONFIG_SYSVIPC is not set
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_FHANDLE=y
# CONFIG_USELIB is not set
# CONFIG_AUDIT is not set
CONFIG_HAVE_ARCH_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_HZ_PERIODIC=y
# CONFIG_NO_HZ_IDLE is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_TASKSTATS is not set

#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
CONFIG_RCU_EXPERT=y
CONFIG_SRCU=y
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_RCU_KTHREAD_PRIO=0
# CONFIG_RCU_EXPEDITE_BOOT is not set
CONFIG_BUILD_BIN2C=y
CONFIG_IKCONFIG=m
# CONFIG_IKCONFIG_PROC is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_FREEZER=y
# CONFIG_CGROUP_PIDS is not set
# CONFIG_CGROUP_DEVICE is not set
CONFIG_CPUSETS=y
# CONFIG_PROC_PID_CPUSET is not set
# CONFIG_CGROUP_CPUACCT is not set
# CONFIG_MEMCG is not set
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
CONFIG_RT_GROUP_SCHED=y
# CONFIG_BLK_CGROUP is not set
# CONFIG_CHECKPOINT_RESTORE is not set
# CONFIG_NAMESPACES is not set
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_XZ is not set
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BPF=y
CONFIG_EXPERT=y
CONFIG_MULTIUSER=y
# CONFIG_SGETMASK_SYSCALL is not set
CONFIG_SYSFS_SYSCALL=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_PRINTK is not set
CONFIG_BUG=y
# CONFIG_PCSPKR_PLATFORM is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
# CONFIG_EPOLL is not set
# CONFIG_SIGNALFD is not set
# 

randconfig build error with next-20151215, in arch/x86/entry/vdso/vma.c

2015-12-15 Thread Jim Davis
Building with the attached random configuration file,

arch/x86/built-in.o: In function `map_vdso':
vma.c:(.text+0x13fc): undefined reference to `pvclock_pvti_cpu0_va'


-- 
Jim
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.4.0-rc5 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx 
-fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 
-fcall-saved-r11"
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_CROSS_MEMORY_ATTACH is not set
CONFIG_FHANDLE=y
CONFIG_USELIB=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ=y
# CONFIG_HIGH_RES_TIMERS is not set

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_RCU_EXPERT=y
CONFIG_SRCU=y
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_FANOUT=64
CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_RCU_FAST_NO_HZ is not set
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_RCU_KTHREAD_PRIO=0
# CONFIG_RCU_NOCB_CPU is not set
# CONFIG_RCU_EXPEDITE_BOOT is not set
CONFIG_BUILD_BIN2C=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_NMI_LOG_BUF_SHIFT=13
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_ARCH_SUPPORTS_INT128=y
# CONFIG_NUMA_BALANCING is not set
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_FREEZER=y
# CONFIG_CGROUP_PIDS is not set
# CONFIG_CGROUP_DEVICE is not set
# CONFIG_CPUSETS is not set
# CONFIG_CGROUP_CPUACCT is not set
CONFIG_PAGE_COUNTER=y
CONFIG_MEMCG=y
# CONFIG_MEMCG_SWAP is not set
CONFIG_MEMCG_LEGACY_KMEM=y
CONFIG_MEMCG_KMEM=y
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_BLK_CGROUP=y
CONFIG_DEBUG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
# CONFIG_USER_NS is not set
CONFIG_PID_NS=y
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set

randconfig build error with next-20151215, in arch/x86/entry/vdso/vma.c

2015-12-15 Thread Jim Davis
Building with the attached random configuration file,

arch/x86/built-in.o: In function `map_vdso':
vma.c:(.text+0x13fc): undefined reference to `pvclock_pvti_cpu0_va'


-- 
Jim
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.4.0-rc5 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx 
-fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 
-fcall-saved-r11"
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_CROSS_MEMORY_ATTACH is not set
CONFIG_FHANDLE=y
CONFIG_USELIB=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ=y
# CONFIG_HIGH_RES_TIMERS is not set

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_RCU_EXPERT=y
CONFIG_SRCU=y
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_FANOUT=64
CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_RCU_FAST_NO_HZ is not set
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_RCU_KTHREAD_PRIO=0
# CONFIG_RCU_NOCB_CPU is not set
# CONFIG_RCU_EXPEDITE_BOOT is not set
CONFIG_BUILD_BIN2C=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_NMI_LOG_BUF_SHIFT=13
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_ARCH_SUPPORTS_INT128=y
# CONFIG_NUMA_BALANCING is not set
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_FREEZER=y
# CONFIG_CGROUP_PIDS is not set
# CONFIG_CGROUP_DEVICE is not set
# CONFIG_CPUSETS is not set
# CONFIG_CGROUP_CPUACCT is not set
CONFIG_PAGE_COUNTER=y
CONFIG_MEMCG=y
# CONFIG_MEMCG_SWAP is not set
CONFIG_MEMCG_LEGACY_KMEM=y
CONFIG_MEMCG_KMEM=y
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_BLK_CGROUP=y
CONFIG_DEBUG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
# CONFIG_USER_NS is not set
CONFIG_PID_NS=y
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set

randconfig build error with next-20151209, in drivers/tty/serial/kgdboc.c

2015-12-09 Thread Jim Davis
Building with the attached random configuration file,

drivers/built-in.o: In function `kgdboc_pre_exp_handler':
kgdboc.c:(.text+0x7b5aa): undefined reference to `fg_console'
kgdboc.c:(.text+0x7b5ce): undefined reference to `vc_cons'
kgdboc.c:(.text+0x7b5d5): undefined reference to `vc_cons'

-- 
Jim
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.4.0-rc4 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_BITS_MAX=16
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_32_SMP=y
CONFIG_X86_32_LAZY_GS=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=2
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_COMPILE_TEST=y
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
# CONFIG_SYSVIPC is not set
# CONFIG_CROSS_MEMORY_ATTACH is not set
# CONFIG_FHANDLE is not set
CONFIG_USELIB=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_HZ_PERIODIC=y
# CONFIG_NO_HZ_IDLE is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_RCU_EXPERT=y
CONFIG_SRCU=y
CONFIG_TASKS_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_FANOUT=32
CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_RCU_KTHREAD_PRIO=0
# CONFIG_RCU_NOCB_CPU is not set
# CONFIG_RCU_EXPEDITE_BOOT is not set
# CONFIG_BUILD_BIN2C is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_CGROUP_FREEZER is not set
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
# CONFIG_CGROUP_CPUACCT is not set
CONFIG_PAGE_COUNTER=y
# CONFIG_MEMCG is not set
CONFIG_CGROUP_HUGETLB=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_BLK_CGROUP=y
CONFIG_DEBUG_BLK_CGROUP=y
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_USER_NS=y
# CONFIG_PID_NS is not set
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_LTO_MENU is not set
CONFIG_ANON_INODES=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_EXPERT=y
# CONFIG_UID16 is not set
CONFIG_MULTIUSER=y
# CONFIG_SGETMASK_SYSCALL is not set
CONFIG_SYSFS_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_PCSPKR_PLATFORM=y
# CONFIG_BASE_FULL is not set
CONFIG_FUTEX=y
# CONFIG_EPOLL is not set
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
# CONFIG_EVENTFD is not set
# CONFIG_BPF_SYSCALL is not set
CONFIG_SHMEM=y
CONFIG_AIO=y
# 

randconfig build error with next-20151209, in drivers/tty/serial/kgdboc.c

2015-12-09 Thread Jim Davis
Building with the attached random configuration file,

drivers/built-in.o: In function `kgdboc_pre_exp_handler':
kgdboc.c:(.text+0x7b5aa): undefined reference to `fg_console'
kgdboc.c:(.text+0x7b5ce): undefined reference to `vc_cons'
kgdboc.c:(.text+0x7b5d5): undefined reference to `vc_cons'

-- 
Jim
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.4.0-rc4 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_BITS_MAX=16
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_32_SMP=y
CONFIG_X86_32_LAZY_GS=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=2
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_COMPILE_TEST=y
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
# CONFIG_SYSVIPC is not set
# CONFIG_CROSS_MEMORY_ATTACH is not set
# CONFIG_FHANDLE is not set
CONFIG_USELIB=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_HZ_PERIODIC=y
# CONFIG_NO_HZ_IDLE is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_RCU_EXPERT=y
CONFIG_SRCU=y
CONFIG_TASKS_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_FANOUT=32
CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_RCU_KTHREAD_PRIO=0
# CONFIG_RCU_NOCB_CPU is not set
# CONFIG_RCU_EXPEDITE_BOOT is not set
# CONFIG_BUILD_BIN2C is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_CGROUP_FREEZER is not set
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
# CONFIG_CGROUP_CPUACCT is not set
CONFIG_PAGE_COUNTER=y
# CONFIG_MEMCG is not set
CONFIG_CGROUP_HUGETLB=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_BLK_CGROUP=y
CONFIG_DEBUG_BLK_CGROUP=y
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_USER_NS=y
# CONFIG_PID_NS is not set
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_LTO_MENU is not set
CONFIG_ANON_INODES=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_EXPERT=y
# CONFIG_UID16 is not set
CONFIG_MULTIUSER=y
# CONFIG_SGETMASK_SYSCALL is not set
CONFIG_SYSFS_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_PCSPKR_PLATFORM=y
# CONFIG_BASE_FULL is not set
CONFIG_FUTEX=y
# CONFIG_EPOLL is not set
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
# CONFIG_EVENTFD is not set
# CONFIG_BPF_SYSCALL is not set
CONFIG_SHMEM=y
CONFIG_AIO=y
# 

randconfig build error with next-20151203, in drivers/scsi/mpt3sas/mpt3sas_base.c

2015-12-03 Thread Jim Davis
Building with the attached random configuration file,

warning: (SCSI_MPT2SAS) selects SCSI_MPT3SAS which has unmet direct
dependencies (SCSI_LOWLEVEL && PCI && SCSI)

drivers/scsi/mpt3sas/mpt3sas_base.c: In function ‘mpt3sas_remove_dead_ioc_func’:
drivers/scsi/mpt3sas/mpt3sas_base.c:140:2: error: implicit declaration
of function ‘pci_stop_and_remove_bus_device_locked’
[-Werror=implicit-function-declaration]
  pci_stop_and_remove_bus_device_locked(pdev);
  ^
drivers/scsi/mpt3sas/mpt3sas_base.c: In function ‘_base_disable_msix’:
drivers/scsi/mpt3sas/mpt3sas_base.c:1921:2: error: implicit
declaration of function ‘pci_disable_msix’
[-Werror=implicit-function-declaration]
  pci_disable_msix(ioc->pdev);
  ^
drivers/scsi/mpt3sas/mpt3sas_base.c: In function ‘_base_enable_msix’:
drivers/scsi/mpt3sas/mpt3sas_base.c:1964:51: error: invalid
application of ‘sizeof’ to incomplete type ‘struct msix_entry’
  entries = kcalloc(ioc->reply_queue_count, sizeof(struct msix_entry),
   ^
drivers/scsi/mpt3sas/mpt3sas_base.c:1973:61: error: increment of
pointer to an incomplete type ‘struct msix_entry’
  for (i = 0, a = entries; i < ioc->reply_queue_count; i++, a++)
 ^
drivers/scsi/mpt3sas/mpt3sas_base.c:1974:4: error: dereferencing
pointer to incomplete type ‘struct msix_entry’
   a->entry = i;
^
drivers/scsi/mpt3sas/mpt3sas_base.c:1976:6: error: implicit
declaration of function ‘pci_enable_msix_exact’
[-Werror=implicit-function-declaration]
  r = pci_enable_msix_exact(ioc->pdev, entries, ioc->reply_queue_count);
  ^
drivers/scsi/mpt3sas/mpt3sas_base.c:1986:61: error: increment of
pointer to an incomplete type ‘struct msix_entry’
  for (i = 0, a = entries; i < ioc->reply_queue_count; i++, a++) {
 ^
drivers/scsi/mpt3sas/mpt3sas_base.c: In function ‘mpt3sas_base_unmap_resources’:
drivers/scsi/mpt3sas/mpt3sas_base.c:2031:6: error: implicit
declaration of function ‘pci_is_enabled’
[-Werror=implicit-function-declaration]
  if (pci_is_enabled(pdev)) {
  ^
drivers/scsi/mpt3sas/mpt3sas_base.c:2032:3: error: implicit
declaration of function ‘pci_release_selected_regions’
[-Werror=implicit-function-declaration]
   pci_release_selected_regions(ioc->pdev, ioc->bars);
   ^
drivers/scsi/mpt3sas/mpt3sas_base.c: In function ‘mpt3sas_base_map_resources’:
drivers/scsi/mpt3sas/mpt3sas_base.c:2058:14: error: implicit
declaration of function ‘pci_select_bars’
[-Werror=implicit-function-declaration]
  ioc->bars = pci_select_bars(pdev, IORESOURCE_MEM);
  ^
drivers/scsi/mpt3sas/mpt3sas_base.c:2059:6: error: implicit
declaration of function ‘pci_enable_device_mem’
[-Werror=implicit-function-declaration]
  if (pci_enable_device_mem(pdev)) {
  ^
drivers/scsi/mpt3sas/mpt3sas_base.c:2067:6: error: implicit
declaration of function ‘pci_request_selected_regions’
[-Werror=implicit-function-declaration]
  if (pci_request_selected_regions(pdev, ioc->bars,
  ^
drivers/scsi/mpt3sas/mpt3sas_base.c: In function ‘_base_release_memory_pools’:
drivers/scsi/mpt3sas/mpt3sas_base.c:3058:3: error: implicit
declaration of function ‘pci_pool_free’
[-Werror=implicit-function-declaration]
   pci_pool_free(ioc->sense_dma_pool, ioc->sense, ioc->sense_dma);
   ^
drivers/scsi/mpt3sas/mpt3sas_base.c:3060:4: error: implicit
declaration of function ‘pci_pool_destroy’
[-Werror=implicit-function-declaration]
pci_pool_destroy(ioc->sense_dma_pool);
^

drivers/scsi/mpt3sas/mpt3sas_base.c: In function ‘_base_allocate_memory_pools’:
drivers/scsi/mpt3sas/mpt3sas_base.c:3280:34: error: implicit
declaration of function ‘pci_pool_create’
[-Werror=implicit-function-declaration]
  ioc->reply_post_free_dma_pool = pci_pool_create("reply_post_free pool",
  ^
drivers/scsi/mpt3sas/mpt3sas_base.c:3280:32: warning: assignment makes
pointer from integer without a cast [-Wint-conversion]
  ioc->reply_post_free_dma_pool = pci_pool_create("reply_post_free pool",
^
drivers/scsi/mpt3sas/mpt3sas_base.c:3291:7: error: implicit
declaration of function ‘pci_pool_alloc’
[-Werror=implicit-function-declaration]
   pci_pool_alloc(ioc->reply_post_free_dma_pool,
   ^
drivers/scsi/mpt3sas/mpt3sas_base.c:3290:38: warning: assignment makes
pointer from integer without a cast [-Wint-conversion]
   ioc->reply_post[i].reply_post_free =
  ^
drivers/scsi/mpt3sas/mpt3sas_base.c:3410:22: warning: assignment makes
pointer from integer without a cast [-Wint-conversion]
  ioc->chain_dma_pool = pci_pool_create("chain pool", ioc->pdev,
  ^
drivers/scsi/mpt3sas/mpt3sas_base.c:3418:37: warning: assignment makes
pointer from integer without a cast [-Wint-conversion]
   ioc->chain_lookup[i].chain_buffer = pci_pool_alloc(
 ^
drivers/scsi/mpt3sas/mpt3sas_base.c:3463:22: 

  1   2   3   4   5   >