public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Michal Marek <mmarek@suse.com>
To: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 5/8] kbuild: add fine grained build dependencies for exported symbols
Date: Wed, 16 Mar 2016 13:29:02 +0100	[thread overview]
Message-ID: <56E9518E.1020206@suse.com> (raw)
In-Reply-To: <alpine.LFD.2.20.1603151853410.30579@knanqh.ubzr>

On 2016-03-16 00:14, Nicolas Pitre wrote:
> On Tue, 15 Mar 2016, Michal Marek wrote:
> 
>> Dne 14.3.2016 v 03:42 Nicolas Pitre napsal(a):
>>> +# Filter out exported kernel symbol names from the preprocessor output.
>>> +# See also __KSYM_DEPS__ in include/linux/export.h.
>>> +# We disable the depfile generation here, so as not to overwrite the existing
>>> +# depfile while fixdep is parsing it
>>> +flags_nodeps = $(filter-out -Wp$(comma)-M%, $($(1)))
>>> +ksym_dep_filter =                                                            \
>>> +	case "$(1)" in                                                       \
>>> +	cc_*_c) $(CPP) $(call flags_nodeps,c_flags) -D__KSYM_DEPS__ $< ;;    \
>>> +	as_*_S) $(CPP) $(call flags_nodeps,a_flags) -D__KSYM_DEPS__ $< ;;    \
>>> +	cpp_lds_S) : ;;                                                      \
>>> +	*) echo "Don't know how to preprocess $(1)" >&2; false ;;            \
>>> +	esac | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p'
>>> +
>>> +cmd_and_fixdep =                                                             \
>>> +	$(echo-cmd) $(cmd_$(1));                                             \
>>> +	$(ksym_dep_filter) |                                                 \
>>> +		scripts/basic/fixdep -e $(depfile) $@ '$(make-cmd)'          \
>>> +			> $(dot-target).tmp;	                             \
>>> +	rm -f $(depfile);                                                    \
>>> +	mv -f $(dot-target).tmp $(dot-target).cmd;
>>> +
>>> +endif
>>
>> Not sure what happened this time, but I got
>>
>> drivers/md/.dm-round-robin.mod.o.cmd:5: *** unterminated call to
>> function 'wildcard': missing ')'.  Stop.
>>
>> The depfile is indeed corrupt (truncated):
>> tail drivers/md/.dm-round-robin.mod.o.cmd
>>   arch/x86/include/asm/disabled-features.h \
>>     $(wildcard include/config/x86/intel/mpx.h) \
>>   arch/x86/include/asm/rmwcc.h \
>>   arch/x86/include/asm/barrier.h \
>>     $(wildcard include/config/x86/ppro/fence.h) \
>>   arch/x86/include/asm/nops.h \
>>     $(wildcard include/config/mk7.h) \
>>   include/asm-generic/barrier.h \
>>   include/asm-generic/bitops/find.h \
>>     $(wildcard include/config/generic/
>>
>> The file is exactly 8kB long:
>> $ ls -l drivers/md/.dm-round-robin.mod.o.cmd
>> -rw-r--r-- 1 mmarek users 8192 Mar  8 13:33
>> drivers/md/.dm-round-robin.mod.o.cmd
> 
> [...]
> 
>> Forgot to add: This was an allmodconfig build without
>> CONFIG_TRIM_UNUSED_SYMS.
> 
> If CONFIG_TRIM_UNUSED_SYMS is actually not selected, then I really don't 
> see how my changes can be involved in this failure.

I have no idea either.


> And I cannot reproduce here so far. I didn't receive anything from 
> kbuild test robot since February 15 either. Is this something that you 
> are able to reproduce on your side?

I started a build loop now.


> If so, do you get suspicious output on stderr during the build?  Maybe 
> fixdep exits prematurelywith "fixdep: bad data on stdin"?  However, that 
> cannot happen if CONFIG_TRIM_UNUSED_SYMS=n.
> 
> Did you test my git branch, or did you apply the posted patches to your 
> tree?  If the later, could you publish a branch for it so I could test 
> the same tree as you do?

I applied the patches to my -rc1 based kbuild branch and yes, there was
a conflict with 2aedcd098a94 ("kbuild: suppress annoying "... is up to
date." message"). So it's possible that I screwed it up. I pushed the
branch to

git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git
tmp.autoksyms6

Michal

  reply	other threads:[~2016-03-16 12:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-14  2:42 [PATCH v6 0/8]/[PULL REQUEST] Trim unused exported kernel symbols Nicolas Pitre
2016-03-14  2:42 ` [PATCH v6 1/8] kbuild: record needed exported symbols for modules Nicolas Pitre
2016-03-14  2:42 ` [PATCH v6 2/8] allow for per-symbol configurable EXPORT_SYMBOL() Nicolas Pitre
2016-03-14  2:42 ` [PATCH v6 3/8] fixdep: accept extra dependencies on stdin Nicolas Pitre
2016-03-14  2:42 ` [PATCH v6 4/8] kbuild: de-duplicate fixdep usage Nicolas Pitre
2016-03-14  2:42 ` [PATCH v6 5/8] kbuild: add fine grained build dependencies for exported symbols Nicolas Pitre
2016-03-15 20:33   ` Michal Marek
2016-03-15 20:34     ` Michal Marek
     [not found]     ` <fvfraWW5gnPSEfvfsaDPXE@videotron.ca>
2016-03-15 23:14       ` Nicolas Pitre
2016-03-16 12:29         ` Michal Marek [this message]
2016-03-16 15:05           ` Nicolas Pitre
2016-03-14  2:42 ` [PATCH v6 6/8] create/adjust generated/autoksyms.h Nicolas Pitre
2016-03-14  2:42 ` [PATCH v6 7/8] kbuild: build sample modules along with the rest of the kernel Nicolas Pitre
2016-03-14  2:42 ` [PATCH v6 8/8] kconfig option for TRIM_UNUSED_KSYMS Nicolas Pitre

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56E9518E.1020206@suse.com \
    --to=mmarek@suse.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nicolas.pitre@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox