2008-10-25 21:12:50

by Sam Ravnborg

[permalink] [raw]
Subject: [PULL] kbuild fixes for -rc1

Hi Linus.

Please pull the following two fixes for kbuild.
One fix for make rpm (which is also stable material)
And one fix so we are more robust for wrong asm symlinks

None of these has been in -next but they are trivial and
I would like to see them applied soon.

Thanks,

Sam

The following changes since commit e013e13bf605b9e6b702adffbe2853cfc60e7806:
Jens Axboe (1):
libata: fix bug with non-ncq devices

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes.git master

Evgeniy Manachkin (1):
kbuild: mkspec - fix build rpm

Sam Ravnborg (1):
kbuild: improve check-symlink

Makefile | 5 +++++
scripts/package/mkspec | 3 +++
2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile
index 8e54051..cacb624 100644
--- a/Makefile
+++ b/Makefile
@@ -961,6 +961,7 @@ export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH)

# The asm symlink changes when $(ARCH) changes.
# Detect this and ask user to run make mrproper
+# If asm is a stale symlink (point to dir that does not exist) remove it
define check-symlink
set -e; \
if [ -L include/asm ]; then \
@@ -970,6 +971,10 @@ define check-symlink
echo " set ARCH or save .config and run 'make mrproper' to fix it"; \
exit 1; \
fi; \
+ test -e $$asmlink || rm include/asm; \
+ elif [ -d include/asm ]; then \
+ echo "ERROR: $@ is a directory but a symlink was expected";\
+ exit 1; \
fi
endef

diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index ffd61fe..113d373 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -64,8 +64,10 @@ fi
echo "%install"
echo "%ifarch ia64"
echo 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules'
+echo 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/firmware'
echo "%else"
echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules'
+echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/firmware'
echo "%endif"

echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{_smp_mflags} modules_install'
@@ -92,5 +94,6 @@ echo "%files"
echo '%defattr (-, root, root)'
echo "%dir /lib/modules"
echo "/lib/modules/$KERNELRELEASE"
+echo "/lib/firmware"
echo "/boot/*"
echo ""


2008-10-25 22:05:49

by Sam Ravnborg

[permalink] [raw]
Subject: kbuild maintainer news [Was: kbuild fixes for -rc1]

In case anyone was wondering...
I have been busy moving to a new house the last couple of months.

As we are now well installed (as in the important stuff is finished)
I can now spend some time as kbuild maintainer again.

But in order not to be buried alive in email I deleted
all mails I received in my absense period.

So if you have any pending kbuild patches around please
resend them to me with a cc: to at least linux-kbuild.

But please do not expect promt replies there is still
a shitload of things to do.

Sam

2008-10-26 01:06:57

by Frans Pop

[permalink] [raw]
Subject: Re: kbuild maintainer news [Was: kbuild fixes for -rc1]

Sam Ravnborg wrote:
> So if you have any pending kbuild patches around please
> resend them to me with a cc: to at least linux-kbuild.

A similar patch to what you just pushed for rpm's to avoid package
installation problems due to firmware is waiting also for deb-pkg.
Please push the patch in [1] to Linus and stable. Original mail attached.

Cheers,
FJP

[1] http://lkml.org/lkml/2008/9/13/102



Attachments:
(No filename) (400.00 B)
forwarded message (4.43 kB)
Jonathan McDowell : Re: [PATCH] Fixup deb-pkg target to generate separate firmware deb.
Download all attachments

2008-10-26 05:12:50

by Al Viro

[permalink] [raw]
Subject: [PATCH] fix allmodconfig breakage

If you use KCONFIG_ALLCONFIG (even with empty file) you get
broken allmodconfig/allyesconfig; CONFIG_MODULES gets turned off,
with obvious massive fallout.

Breakage had been introduced when conf_set_all_new_symbols()
got used for allmodconfig et.al.

What happens is that sym_calc_value(modules_sym) done in
conf_read_simple() sets SYMBOL_VALID on both modules_sym and MODULES.
When we get to conf_set_all_new_symbols(), we set sym->def[S_DEF_USER]
on everything, but it has no effect on sym->curr for the symbols that
already have SYMBOL_VALID - these are stuck.

Solution: use sym_clear_all_valid() in there. Note that it
makes reevaluation of modules_sym redundant - sym_clear_all_valid()
will do that itself.

Signed-off-by: Al Viro <[email protected]>
---
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index b91cf24..830d9ea 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -852,8 +852,7 @@ void conf_set_all_new_symbols(enum conf_def_mode mode)

}

- if (modules_sym)
- sym_calc_value(modules_sym);
+ sym_clear_all_valid();

if (mode != def_random)
return;

2008-10-26 05:29:46

by Alexey Dobriyan

[permalink] [raw]
Subject: Re: [PATCH] fix allmodconfig breakage

On Sun, Oct 26, 2008 at 05:12:34AM +0000, Al Viro wrote:
> If you use KCONFIG_ALLCONFIG (even with empty file) you get
> broken allmodconfig/allyesconfig; CONFIG_MODULES gets turned off,
> with obvious massive fallout.
>
> Breakage had been introduced when conf_set_all_new_symbols()
> got used for allmodconfig et.al.
>
> What happens is that sym_calc_value(modules_sym) done in
> conf_read_simple() sets SYMBOL_VALID on both modules_sym and MODULES.
> When we get to conf_set_all_new_symbols(), we set sym->def[S_DEF_USER]
> on everything, but it has no effect on sym->curr for the symbols that
> already have SYMBOL_VALID - these are stuck.
>
> Solution: use sym_clear_all_valid() in there. Note that it
> makes reevaluation of modules_sym redundant - sym_clear_all_valid()
> will do that itself.

Fixes http://bugzilla.kernel.org/show_bug.cgi?id=11512

> Signed-off-by: Al Viro <[email protected]>
> ---
> diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
> index b91cf24..830d9ea 100644
> --- a/scripts/kconfig/confdata.c
> +++ b/scripts/kconfig/confdata.c
> @@ -852,8 +852,7 @@ void conf_set_all_new_symbols(enum conf_def_mode mode)
>
> }
>
> - if (modules_sym)
> - sym_calc_value(modules_sym);
> + sym_clear_all_valid();
>
> if (mode != def_random)
> return;

2008-10-27 14:41:32

by Roman Zippel

[permalink] [raw]
Subject: Re: [PATCH] fix allmodconfig breakage

Hi,

On Sun, 26 Oct 2008, Al Viro wrote:

> If you use KCONFIG_ALLCONFIG (even with empty file) you get
> broken allmodconfig/allyesconfig; CONFIG_MODULES gets turned off,
> with obvious massive fallout.
>
> Breakage had been introduced when conf_set_all_new_symbols()
> got used for allmodconfig et.al.
>
> What happens is that sym_calc_value(modules_sym) done in
> conf_read_simple() sets SYMBOL_VALID on both modules_sym and MODULES.
> When we get to conf_set_all_new_symbols(), we set sym->def[S_DEF_USER]
> on everything, but it has no effect on sym->curr for the symbols that
> already have SYMBOL_VALID - these are stuck.
>
> Solution: use sym_clear_all_valid() in there. Note that it
> makes reevaluation of modules_sym redundant - sym_clear_all_valid()
> will do that itself.
>
> Signed-off-by: Al Viro <[email protected]>

Thanks for looking into this.

Signed-off-by: Roman Zippel <[email protected]>

bye, Roman