Re: Re: Tool to match kernel C file to CONFIG symbol

From: Andreas Ruprecht
Date: Thu Oct 30 2014 - 06:17:43 EST


Hi all,

actually the problem isn't that easy... some of the information from the
Kbuild files is not entirely straight-forward to extract.

If you're interested in the former (that is, what config symbols have to
be enabled to have a file compiled), there is a Python tool called
"golem" in the toolsuite[0] from our group which determines the
preconditions for files to be built (called with parameter "-i"). Sadly
it currently takes a few hours to finish as it probes the build system
with changing partial configurations.

I'm currently working on a faster combined parsing/probing approach and
could make an early development snapshot of the parser available to you,
please contact me directly if you want to have a look at that.

For something similar to the latter problem (which files get compiled
from a specific configuration) golem can be called with the "-c"
parameter and a source file to determine if the file is compiled with
the current configuration. You could use that to match a configuration
option to a file. Alternatively, you can use the "-l" parameter to see a
list of all files compiled with the current configuration.

Hope this helps,

Andreas

[0] https://undertaker.cs.fau.de

On 30.10.2014 07:16, Julia Lawall wrote:
>
>
> On Wed, 29 Oct 2014, Luis R. Rodriguez wrote:
>
>> On Wed, Oct 29, 2014 at 4:15 PM, Luis R. Rodriguez
>> <mcgrof@xxxxxxxxxxxxxxxx> wrote:
>>> Anyone familiar with a tool to match a specific C file to a respective
>>> CONFIG symbol on the kernel? I'd prefer if its written in C or Python.
>>> This should be easy to write if we don't have it yet.
>>
>> Peter, didn't you have such tool already?
>
> I think that the Erlangen people can help you (added to CC).
>
> I'm not sure which way you want to go: What config symbol will get my file
> compiled, or if I turn on this config symbol, what files will I get. I
> think that Stefan's Vampyr tool can help with the first.
>
> julia
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/