<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/scripts/Makefile.lib, branch v2.6.28</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v2.6.28</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.28'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2008-10-16T16:24:47Z</updated>
<entry>
<title>driver core: basic infrastructure for per-module dynamic debug messages</title>
<updated>2008-10-16T16:24:47Z</updated>
<author>
<name>Jason Baron</name>
<email>jbaron@redhat.com</email>
</author>
<published>2008-08-12T20:46:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=346e15beb5343c2eb8216d820f2ed8f150822b08'/>
<id>urn:sha1:346e15beb5343c2eb8216d820f2ed8f150822b08</id>
<content type='text'>
Base infrastructure to enable per-module debug messages.

I've introduced CONFIG_DYNAMIC_PRINTK_DEBUG, which when enabled centralizes
control of debugging statements on a per-module basis in one /proc file,
currently, &lt;debugfs&gt;/dynamic_printk/modules. When, CONFIG_DYNAMIC_PRINTK_DEBUG,
is not set, debugging statements can still be enabled as before, often by
defining 'DEBUG' for the proper compilation unit. Thus, this patch set has no
affect when CONFIG_DYNAMIC_PRINTK_DEBUG is not set.

The infrastructure currently ties into all pr_debug() and dev_dbg() calls. That
is, if CONFIG_DYNAMIC_PRINTK_DEBUG is set, all pr_debug() and dev_dbg() calls
can be dynamically enabled/disabled on a per-module basis.

Future plans include extending this functionality to subsystems, that define 
their own debug levels and flags.

Usage:

Dynamic debugging is controlled by the debugfs file, 
&lt;debugfs&gt;/dynamic_printk/modules. This file contains a list of the modules that
can be enabled. The format of the file is as follows:

	&lt;module_name&gt; &lt;enabled=0/1&gt;
		.
		.
		.

	&lt;module_name&gt; : Name of the module in which the debug call resides
	&lt;enabled=0/1&gt; : whether the messages are enabled or not

For example:

	snd_hda_intel enabled=0
	fixup enabled=1
	driver enabled=0

Enable a module:

	$echo "set enabled=1 &lt;module_name&gt;" &gt; dynamic_printk/modules

Disable a module:

	$echo "set enabled=0 &lt;module_name&gt;" &gt; dynamic_printk/modules

Enable all modules:

	$echo "set enabled=1 all" &gt; dynamic_printk/modules

Disable all modules:

	$echo "set enabled=0 all" &gt; dynamic_printk/modules

Finally, passing "dynamic_printk" at the command line enables
debugging for all modules. This mode can be turned off via the above
disable command.

[gkh: minor cleanups and tweaks to make the build work quietly]

Signed-off-by: Jason Baron &lt;jbaron@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
</entry>
<entry>
<title>kbuild: create new CFLAGS_REMOVE_(basename).o option</title>
<updated>2008-05-23T20:43:33Z</updated>
<author>
<name>Steven Rostedt</name>
<email>rostedt@goodmis.org</email>
</author>
<published>2008-05-15T01:30:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=656ee82cc855027b2e994ad218519b09fa652cc1'/>
<id>urn:sha1:656ee82cc855027b2e994ad218519b09fa652cc1</id>
<content type='text'>
We currently have a way to add special CFLAGS to code, but we do not have a
way to remove them if needed.

With the case of ftrace, some files should simply not be profiled. Adding
the -pg flag to these files is simply a waste, and adding "notrace" to each
and every function is ugly.

Currently we put in "Makefile turd" [1] to stop the compiler from adding -pg
to certain files. This was clumsy and awkward.

This patch now adds the revese of CFLAGS_(basename).o with
CFLAGS_REMOVE_(basename).o.  This allows developers to prevent certain
CFLAGS from being used to compile files. For example, we can now do

CFLAGS_REMOVE_string.o = -pg

to remove the -pg option from the string.o file in the lib directory.

Note: a space delimited list of options may be added to the REMOVE macro.

[1] - what David Miller called the workaronud to remove -pg

Signed-off-by: Steven Rostedt &lt;srostedt@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
</entry>
<entry>
<title>kbuild: implement modules.order</title>
<updated>2008-01-28T22:14:35Z</updated>
<author>
<name>Tejun Heo</name>
<email>htejun@gmail.com</email>
</author>
<published>2007-12-07T12:04:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=551559e13af1ccd19d0525cb2b0f308905170647'/>
<id>urn:sha1:551559e13af1ccd19d0525cb2b0f308905170647</id>
<content type='text'>
When multiple built-in modules (especially drivers) provide the same
capability, they're prioritized by link order specified by the order
listed in Makefile.  This implicit ordering is lost for loadable
modules.

When driver modules are loaded by udev, what comes first in
modules.alias file is selected.  However, the order in this file is
indeterministic (depends on filesystem listing order of installed
modules).  This causes confusion.

The solution is two-parted.  This patch updates kbuild such that it
generates and installs modules.order which contains the name of
modules ordered according to Makefile.  The second part is update to
depmod such that it generates output files according to this file.

Note that both obj-y and obj-m subdirs can contain modules and
ordering information between those two are lost from beginning.
Currently obj-y subdirs are put before obj-m subdirs.

Sam Ravnborg cleaned up Makefile modifications and suggested using awk
to remove duplicate lines from modules.order instead of using separate
C program.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Acked-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Cc: Bill Nottingham &lt;notting@redhat.com&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Cc: Jon Masters &lt;jonathan@jonmasters.org&gt;
Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
</content>
</entry>
<entry>
<title>kbuild: introduce ccflags-y, asflags-y and ldflags-y</title>
<updated>2007-10-15T20:25:06Z</updated>
<author>
<name>Sam Ravnborg</name>
<email>sam@neptun.(none)</email>
</author>
<published>2007-10-15T20:25:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f77bf01425b11947eeb3b5b54685212c302741b8'/>
<id>urn:sha1:f77bf01425b11947eeb3b5b54685212c302741b8</id>
<content type='text'>
Introduce ccflags-y, asflags-y and ldflags-y so we soon can
deprecate use of EXTRA_CFLAGS, EXTRA_AFLAGS and EXTRA_LDFLAGS.
This patch does not touch any in-tree users - thats next round.
Lets get this committed first and then fix the users of the
soon to be deprecated variants next.

The rationale behind this change is to introduce support for
makefile fragments like:

ccflags-$(CONFIG_WHATEVER_DEBUG) := -DDEBUG

As a replacement for the uglier:
ifeq ($(CONFIG_WHATEVER_DEBUG),y)
        EXTRA_CFLAGS := -DDEBUG
endif

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
</content>
</entry>
<entry>
<title>kbuild: enable 'make CPPFLAGS=...' to add additional options to CPP</title>
<updated>2007-10-15T20:17:25Z</updated>
<author>
<name>Sam Ravnborg</name>
<email>sam@neptun.(none)</email>
</author>
<published>2007-10-15T20:17:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=06c5040cdb13d27adad118f2fbfae905a1911b37'/>
<id>urn:sha1:06c5040cdb13d27adad118f2fbfae905a1911b37</id>
<content type='text'>
The variable CPPFLAGS is a wellknown variable and the usage by
kbuild may result in unexpected behaviour.

This patch replace use of CPPFLAGS with KBUILD_CPPFLAGS all over the
tree and enabling one to use:
make CPPFLAGS=...
to specify additional CPP commandline options.

Patch was tested on following architectures:
alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
</content>
</entry>
<entry>
<title>kbuild: enable 'make AFLAGS=...' to add additional options to AS</title>
<updated>2007-10-15T19:59:31Z</updated>
<author>
<name>Sam Ravnborg</name>
<email>sam@neptun.(none)</email>
</author>
<published>2007-10-15T19:59:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=222d394d30e74bb7a2a65029fcea68107b0d0eb6'/>
<id>urn:sha1:222d394d30e74bb7a2a65029fcea68107b0d0eb6</id>
<content type='text'>
The variable AFLAGS is a wellknown variable and the usage by
kbuild may result in unexpected behaviour.
On top of that several people over time has asked for a way to
pass in additional flags to gcc.

This patch replace use of AFLAGS with KBUILD_AFLAGS all over
the tree.

Patch was tested on following architectures:
alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
</content>
</entry>
<entry>
<title>kbuild: enable 'make CFLAGS=...' to add additional options to CC</title>
<updated>2007-10-14T20:21:35Z</updated>
<author>
<name>Sam Ravnborg</name>
<email>sam@neptun.(none)</email>
</author>
<published>2007-10-14T20:21:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a0f97e06a43cf524e616f09e6af3398e1e9c1c5b'/>
<id>urn:sha1:a0f97e06a43cf524e616f09e6af3398e1e9c1c5b</id>
<content type='text'>
The variable CFLAGS is a wellknown variable and the usage by
kbuild may result in unexpected behaviour.
On top of that several people over time has asked for a way to
pass in additional flags to gcc.

This patch replace use of CFLAGS with KBUILD_CFLAGS all over the
tree and enabling one to use:
make CFLAGS=...
to specify additional gcc commandline options.

One usecase is when trying to find gcc bugs but other
use cases has been requested too.

Patch was tested on following architectures:
alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k

Test was simple to do a defconfig build, apply the patch and check
that nothing got rebuild.

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
</content>
</entry>
<entry>
<title>kbuild: kill backward compatibility checks</title>
<updated>2007-10-12T19:20:32Z</updated>
<author>
<name>Sam Ravnborg</name>
<email>sam@neptun.(none)</email>
</author>
<published>2007-09-30T18:34:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=836caba77c290a62743fa9c5a69ed9605ec9cb28'/>
<id>urn:sha1:836caba77c290a62743fa9c5a69ed9605ec9cb28</id>
<content type='text'>
These checks has been present for several kernel releases (&gt; 5).
So lets just get rid of them.
With this we no longer check for use of:
EXTRA_TARGETS, O_TARGET, L_TARGET, list-multi, export-objs

There were three remaining in-tree users of O_TARGET in some
unmaintained sh64 code - mail sent to the maintainer + list.

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
</content>
</entry>
<entry>
<title>kbuild: fix directory traversal bug</title>
<updated>2007-10-12T19:15:31Z</updated>
<author>
<name>Sam Ravnborg</name>
<email>sam@ravnborg.org</email>
</author>
<published>2007-09-15T06:55:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f5fb976520a53f45f8bbf2e851f16b3b5558d485'/>
<id>urn:sha1:f5fb976520a53f45f8bbf2e851f16b3b5558d485</id>
<content type='text'>
Previously kbuild choked over the following:
obj-y += ../../../arch/i386/kernel/bootflag.o

This has resulted in some rather ugly workarounds in
current x86_64 tree.
This patch fixes kbuild to allow the above and enable
potential cleanups in x86_64 and maybe in other places.

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
</content>
</entry>
<entry>
<title>kbuild: fix ia64 breakage after introducing make -rR</title>
<updated>2006-07-01T07:58:02Z</updated>
<author>
<name>Sam Ravnborg</name>
<email>sam@mars.ravnborg.org</email>
</author>
<published>2006-07-01T07:58:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5e8d780d745c1619aba81fe7166c5a4b5cad2b84'/>
<id>urn:sha1:5e8d780d745c1619aba81fe7166c5a4b5cad2b84</id>
<content type='text'>
kbuild used $¤(*F to get filename of target without extension.
This was used in several places all over kbuild, but introducing
make -rR broke his for all cases where we specified full path to
target/prerequsite. It is assumed that make -rR disables old style
suffix-rules which is why is suddenly failed.

ia64 was impacted by this change because several div* routines in
arch/ia64/lib are build using explicit paths and then kbuild failed.

Thanks to David Mosberger-Tang &lt;David.Mosberger@acm.org&gt; for an explanation
what was the root-cause and for testing on ia64.

This patch also fixes two uses of $(*F) in arch/um

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
</content>
</entry>
</feed>
