[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPgLHd-9oJhKGfpewf2shxKhGWFOVdcxjhFrvHx4fDc=hxo3Kw@mail.gmail.com>
Date: Thu, 18 Oct 2012 18:22:48 +0800
From: Wei Yongjun <weiyj.lk@...il.com>
To: dhowells@...hat.com
Cc: Valdis.Kletnieks@...edu, rusty@...tcorp.com.au,
linux-kernel@...r.kernel.org
Subject: Re: CONFIG_MODULE_SIG breaks out-of-tree modules in modpost.
On 10/15/2012 08:19 PM, David Howells wrote:
> Valdis Kletnieks <Valdis.Kletnieks@...edu> wrote:
>
>> /bin/sh: -c: line 0: syntax error near unexpected token `;'
>> /bin/sh: -c: line 0: `set -e; ; echo 'cmd_/usr/src/valdis/NVIDIA-Linux-x86_64-304.51/kernel/nvidia.ko := ' > /usr/src/valdis/NVIDIA-Linux-x86_64-304.51/kernel/.nvidia.ko.cmd'
> I would guess that this is from Kbuild.include's 'if_changed' macro:
>
> if_changed = $(if $(strip $(any-prereq) $(arg-check)), \
> @set -e; \
> $(echo-cmd) $(cmd_$(1)); \
> echo 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd)
>
> unless nvidia.ko has its own build rules.
>
> It looks like either $(call if_changed) got invoked with no arguments or
> $(cmd_$(1)) didn't exist.
>
> Could you find out what $(1) was by adding a bit:
>
> if_changed = $(if $(strip $(any-prereq) $(arg-check)), \
> $(info XXXX $(1)) \
> @set -e; \
> $(echo-cmd) $(cmd_$(1)); \
> echo 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd)
>
> You should see a line looking something like:
>
> XXX link_o_target
>
> emitted by make just before it the error occurs.
I built linux.git tree and hit the same issue.
After change Kbuild.include, I see the $(1) is 'sign_ko_ko_stripped'.
$ grep -nr MODULE_SIG .config
276:CONFIG_MODULE_SIG=y
277:CONFIG_MODULE_SIG_FORCE=y
278:CONFIG_MODULE_SIG_SHA1=y
279:# CONFIG_MODULE_SIG_SHA224 is not set
280:# CONFIG_MODULE_SIG_SHA256 is not set
281:# CONFIG_MODULE_SIG_SHA384 is not set
282:# CONFIG_MODULE_SIG_SHA512 is not set
$ make M=net/sctp
Building modules, stage 2.
MODPOST 2 modules
XXXX sign_ko_stripped_ko_unsigned
STRIP [M] net/sctp/sctp.ko.stripped
XXXX sign_ko_ko_stripped
/bin/sh: -c: line 0: syntax error near unexpected token `;'
/bin/sh: -c: line 0: `set -e; ; echo 'cmd_net/sctp/sctp.ko := ' > net/sctp/.sctp.ko.cmd'
make[1]: *** [net/sctp/sctp.ko] Error 1
make: *** [modules] Error 2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists