<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/scripts/Kbuild.include, branch v3.11</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/scripts/Kbuild.include?h=v3.11</id>
<link rel='self' href='https://git.amat.us/linux/atom/scripts/Kbuild.include?h=v3.11'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-04-08T09:47:41Z</updated>
<entry>
<title>kbuild: fix ld-option function</title>
<updated>2013-04-08T09:47:41Z</updated>
<author>
<name>Antony Pavlov</name>
<email>antonynpavlov@gmail.com</email>
</author>
<published>2013-04-03T14:42:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5b83df2b4661c03373b38374d0ef830b7819b875'/>
<id>urn:sha1:5b83df2b4661c03373b38374d0ef830b7819b875</id>
<content type='text'>
The kbuild's ld-option function is broken because
the command
  $(CC) /dev/null -c -o "$$TMPO"
does not create object file!

I have used a relatively old mips gcc 3.4.6 cross-compiler
and a relatively new gcc 4.7.2 to check this fact
but the results are the same.

EXAMPLE:
  $ rm /tmp/1.o
  $ mips-linux-gcc /dev/null -c -o /tmp/1.o
  mips-linux-gcc: /dev/null: linker input file unused because linking not done
  $ ls -la /tmp/1.o
  ls: cannot access /tmp/1.o: No such file or directory

We can easily fix the problem by adding
the '-x c' compiler option.

EXAMPLE:
  $ rm /tmp/1.o
  $ mips-linux-gcc -x c /dev/null -c -o /tmp/1.o
  $ ls -la /tmp/1.o
  -rw-r--r-- 1 antony antony 778 Apr  2 20:40 /tmp/1.o

Also fix wrong ld-option example.

Signed-off-by: Antony Pavlov &lt;antonynpavlov@gmail.com&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild</title>
<updated>2012-10-07T22:56:10Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-10-07T22:56:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d43b7167d4c74137f9a6c61fdcead127d60357f9'/>
<id>urn:sha1:d43b7167d4c74137f9a6c61fdcead127d60357f9</id>
<content type='text'>
Pull kbuild fixes from Michal Marek:
 "Here are two fixes I intended to send after v3.6-rc7, but failed to do
  so.  So please pull them for v3.7-rc1 and they will be picked up by
  stable.

  The first one fixes gcc -x &lt;language&gt; syntax in various build-time
  tests, which icecream and possible other gcc wrappers did not
  understand (and yes, icecream is going to be fixed as well).

  The second one fixes make tar-pkg so that unpacking the tarball does
  not replace the /lib -&gt; /usr/lib symlink on recent Fedora releases."

* 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  kbuild: Fix gcc -x syntax
  kbuild: Do not package /boot and /lib in make tar-pkg
</content>
</entry>
<entry>
<title>kbuild: make: fix if_changed when command contains backslashes</title>
<updated>2012-10-05T18:04:36Z</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2012-10-05T00:11:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c353acba28fb3fa1fd05fd6b85a9fc7938330f9c'/>
<id>urn:sha1:c353acba28fb3fa1fd05fd6b85a9fc7938330f9c</id>
<content type='text'>
The call if_changed mechanism does not work when the command contains
backslashes.  This basically is an issue with lzo and bzip2 compressed
kernels.  The compressed binaries do not contain the uncompressed image
size, so these use size_append to append the size.  This results in
backslashes in the executed command.  With this if_changed always
detects a change in the command and rebuilds the compressed image even
if nothing has changed.

Fix this by escaping backslashes in make-cmd

Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Signed-off-by: Jan Luebbe &lt;jlu@pengutronix.de&gt;
Cc: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Cc: Bernhard Walle &lt;bernhard@bwalle.de&gt;
Cc: Michal Marek &lt;mmarek@suse.cz&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>kbuild: Fix gcc -x syntax</title>
<updated>2012-10-03T07:03:24Z</updated>
<author>
<name>Jean Delvare</name>
<email>jdelvare@suse.de</email>
</author>
<published>2012-10-02T14:42:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b1e0d8b70fa31821ebca3965f2ef8619d7c5e316'/>
<id>urn:sha1:b1e0d8b70fa31821ebca3965f2ef8619d7c5e316</id>
<content type='text'>
The correct syntax for gcc -x is "gcc -x assembler", not
"gcc -xassembler". Even though the latter happens to work, the former
is what is documented in the manual page and thus what gcc wrappers
such as icecream do expect.

This isn't a cosmetic change. The missing space prevents icecream from
recognizing compilation tasks it can't handle, leading to silent kernel
miscompilations.

Besides me, credits go to Michael Matz and Dirk Mueller for
investigating the miscompilation issue and tracking it down to this
incorrect -x parameter syntax.

Signed-off-by: Jean Delvare &lt;jdelvare@suse.de&gt;
Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: stable@vger.kernel.org
Cc: Bernhard Walle &lt;bernhard@bwalle.de&gt;
Cc: Michal Marek &lt;mmarek@suse.cz&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>scripts/Kbuild.include: Fix portability problem of "echo -e"</title>
<updated>2012-03-24T22:32:05Z</updated>
<author>
<name>Bernhard Walle</name>
<email>bernhard@bwalle.de</email>
</author>
<published>2012-02-26T17:35:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=875de98623fa2b29f0cb19915fe3292ab6daa1cb'/>
<id>urn:sha1:875de98623fa2b29f0cb19915fe3292ab6daa1cb</id>
<content type='text'>
"echo -e" is a GNU extension. When cross-compiling the kernel on a
BSD-like operating system (Mac OS X in my case), this doesn't work.

One could install a GNU version of echo, put that in the $PATH before
the system echo and use "/usr/bin/env echo", but the solution with
printf is simpler.

Since it is no disadvantage on Linux, I hope that gets accepted even if
cross-compiling the Linux kernel on another Unix operating system is
quite a rare use case.

Signed-off-by: Bernhard Walle &lt;bernhard@bwalle.de&gt;
Andreas Bießmann &lt;andreas@biessmann.de&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>kbuild: add `baseprereq'</title>
<updated>2011-06-09T18:04:38Z</updated>
<author>
<name>Arnaud Lacombe</name>
<email>lacombar@gmail.com</email>
</author>
<published>2011-06-01T21:50:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e0318d85be66ff1ff55c4cbc832cb3ee9e669da8'/>
<id>urn:sha1:e0318d85be66ff1ff55c4cbc832cb3ee9e669da8</id>
<content type='text'>
On the same model as `basetarget', it represents the filename of first
prerequisite with directory and extension stripped.

Signed-off-by: Arnaud Lacombe &lt;lacombar@gmail.com&gt;
</content>
</entry>
<entry>
<title>kbuild: make KBUILD_NOCMDDEP=1 handle empty built-in.o</title>
<updated>2011-05-16T14:39:28Z</updated>
<author>
<name>Michal Marek</name>
<email>mmarek@suse.cz</email>
</author>
<published>2011-05-16T14:37:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c4d5ee13984f57b2f881635c49045151679f5e8a'/>
<id>urn:sha1:c4d5ee13984f57b2f881635c49045151679f5e8a</id>
<content type='text'>
Based on a patch by Rabin Vincent.

Fix building with KBUILD_NOCMDDEP=1, which currently does not work
because it does not build built-in.o with no dependencies:

  LD      fs/notify/built-in.o
ld: cannot find fs/notify/dnotify/built-in.o: No such file or directory
ld: cannot find fs/notify/inotify/built-in.o: No such file or directory
ld: cannot find fs/notify/fanotify/built-in.o: No such file or directory

Reported-and-tested-by: Rabin Vincent &lt;rabin@rab.in&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>kbuild: Fix passing -Wno-* options to gcc 4.4+</title>
<updated>2011-05-03T08:50:54Z</updated>
<author>
<name>Michal Marek</name>
<email>mmarek@suse.cz</email>
</author>
<published>2011-05-02T10:51:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8417da6f2128008c431c7d130af6cd3d9079922e'/>
<id>urn:sha1:8417da6f2128008c431c7d130af6cd3d9079922e</id>
<content type='text'>
Starting with 4.4, gcc will happily accept -Wno-&lt;anything&gt; in the
cc-option test and complain later when compiling a file that has some
other warning. This rather unexpected behavior is intentional as per
http://gcc.gnu.org/PR28322, so work around it by testing for support of
the opposite option (without the no-). Introduce a new Makefile function
cc-disable-warning that does this and update two uses of cc-option in
the toplevel Makefile.

Reported-and-tested-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>kbuild: Fix build with binutils &lt;= 2.19</title>
<updated>2011-04-20T13:39:22Z</updated>
<author>
<name>Michal Marek</name>
<email>mmarek@suse.cz</email>
</author>
<published>2011-04-20T11:45:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=40df759e2b9ec945f1a5ddc61b3fdfbb6583257e'/>
<id>urn:sha1:40df759e2b9ec945f1a5ddc61b3fdfbb6583257e</id>
<content type='text'>
The D option of ar is only available in newer versions.

Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>kbuild: generate modules.builtin</title>
<updated>2009-12-12T12:08:16Z</updated>
<author>
<name>Michal Marek</name>
<email>mmarek@suse.cz</email>
</author>
<published>2009-12-07T15:38:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bc081dd6e9f622c73334dc465359168543ccaabf'/>
<id>urn:sha1:bc081dd6e9f622c73334dc465359168543ccaabf</id>
<content type='text'>
To make it easier for module-init-tools and scripts like mkinitrd to
distinguish builtin and missing modules, install a modules.builtin file
listing all builtin modules. This is done by generating an additional
config file (tristate.conf) with tristate options set to uppercase 'Y'
or 'M'. If we source that config file, the builtin modules appear in
obj-Y.

Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
</feed>
