<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/scripts/Makefile.build, branch v5.13</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://www.git.shady.money/linux/atom?h=v5.13</id>
<link rel='self' href='https://www.git.shady.money/linux/atom?h=v5.13'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/'/>
<updated>2021-05-05T17:14:38Z</updated>
<entry>
<title>kbuild: refactor fdtoverlay rule</title>
<updated>2021-05-05T17:14:38Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2021-05-02T18:09:56Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=bcf0c6642833673830ee9d9b40862a4c476d1565'/>
<id>urn:sha1:bcf0c6642833673830ee9d9b40862a4c476d1565</id>
<content type='text'>
Rename overlay-y to multi-dtb-y, which is a consistent name with
multi-obj-y. Also, use multi-search to avoid code duplication.

Introduce real-dtb-y, which is a consistent name with real-obj-y,
to contain primitive blobs compiled from *.dts. This is used to
calculate the list of *.dt.yaml files.

Set -@ to base DTB without using $(eval ).

Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
</content>
</entry>
<entry>
<title>kbuild: redo fake deps at include/config/*.h</title>
<updated>2021-04-24T20:26:10Z</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2021-04-15T17:36:07Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=0e0345b77ac4605d5447b252d220e4a2ee118da7'/>
<id>urn:sha1:0e0345b77ac4605d5447b252d220e4a2ee118da7</id>
<content type='text'>
Make include/config/foo/bar.h fake deps files generation simpler.

* delete .h suffix
	those aren't header files, shorten filenames,

* delete tolower()
	Linux filesystems can deal with both upper and lowercase
	filenames very well,

* put everything in 1 directory
	Presumably 'mkdir -p' split is from dark times when filesystems
	handled huge directories badly, disks were round adding to
	seek times.

	x86_64 allmodconfig lists 12364 files in include/config.

	../obj/include/config/
	├── 104_QUAD_8
	├── 60XX_WDT
	├── 64BIT
		...
	├── ZSWAP_DEFAULT_ON
	├── ZSWAP_ZPOOL_DEFAULT
	└── ZSWAP_ZPOOL_DEFAULT_ZBUD

	0 directories, 12364 files

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
</content>
</entry>
<entry>
<title>kbuild: rename multi-used-* to multi-obj-*</title>
<updated>2021-04-24T20:12:34Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2021-03-06T06:11:20Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=a6601e01cd54838fc01e3c355476f67e7c887a67'/>
<id>urn:sha1:a6601e01cd54838fc01e3c355476f67e7c887a67</id>
<content type='text'>
I think multi-obj-* is clearer, and more consistent with real-obj-*.

Rename as follows:

  multi-used-y  -&gt;  multi-obj-y
  multi-used-m  -&gt;  multi-obj-m
  multi-used    -&gt;  multi-obj-ym

Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
</content>
</entry>
<entry>
<title>kbuild: split cc-option and friends to scripts/Makefile.compiler</title>
<updated>2021-04-24T20:09:32Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2021-02-28T06:10:27Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=57fd251c789647552d32d2fc51bedd4f90d70f9f'/>
<id>urn:sha1:57fd251c789647552d32d2fc51bedd4f90d70f9f</id>
<content type='text'>
scripts/Kbuild.include is included everywhere, but macros such as
cc-option are needed by build targets only.

For example, when 'make clean' traverses the tree, it does not need
to evaluate $(call cc-option,).

Split cc-option, ld-option, etc. to scripts/Makefile.compiler, which
is only included from the top Makefile and scripts/Makefile.build.

Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
</content>
</entry>
<entry>
<title>kbuild: prefix $(srctree)/ to some included Makefiles</title>
<updated>2021-03-15T10:20:48Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2021-02-28T06:10:26Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=3204a7fb98a3bccd0004ea0f2769fbeadc2c2dba'/>
<id>urn:sha1:3204a7fb98a3bccd0004ea0f2769fbeadc2c2dba</id>
<content type='text'>
VPATH is used in Kbuild to make pattern rules search for prerequisites
in both $(objtree) and $(srctree). Some of *.c, *.S files are not real
sources, but generated by tools such as flex, bison, perl.

In contrast, I doubt the benefit of --include-dir=$(abs_srctree) because
it is always clear which Makefiles are real sources, and which are not.

So, my hope is to add $(srctree)/ prefix to all check-in Makefiles,
then remove --include-dir=$(abs_srctree) flag in the future.

I am touching only some Kbuild core parts for now. Treewide fixes will
be needed to achieve this goal.

Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'kbuild-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild</title>
<updated>2021-02-25T18:17:31Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2021-02-25T18:17:31Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=6fbd6cf85a3be127454a1ad58525a3adcf8612ab'/>
<id>urn:sha1:6fbd6cf85a3be127454a1ad58525a3adcf8612ab</id>
<content type='text'>
Pull Kbuild updates from Masahiro Yamada:

 - Fix false-positive build warnings for ARCH=ia64 builds

 - Optimize dictionary size for module compression with xz

 - Check the compiler and linker versions in Kconfig

 - Fix misuse of extra-y

 - Support DWARF v5 debug info

 - Clamp SUBLEVEL to 255 because stable releases 4.4.x and 4.9.x
   exceeded the limit

 - Add generic syscall{tbl,hdr}.sh for cleanups across arches

 - Minor cleanups of genksyms

 - Minor cleanups of Kconfig

* tag 'kbuild-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (38 commits)
  initramfs: Remove redundant dependency of RD_ZSTD on BLK_DEV_INITRD
  kbuild: remove deprecated 'always' and 'hostprogs-y/m'
  kbuild: parse C= and M= before changing the working directory
  kbuild: reuse this-makefile to define abs_srctree
  kconfig: unify rule of config, menuconfig, nconfig, gconfig, xconfig
  kconfig: omit --oldaskconfig option for 'make config'
  kconfig: fix 'invalid option' for help option
  kconfig: remove dead code in conf_askvalue()
  kconfig: clean up nested if-conditionals in check_conf()
  kconfig: Remove duplicate call to sym_get_string_value()
  Makefile: Remove # characters from compiler string
  Makefile: reuse CC_VERSION_TEXT
  kbuild: check the minimum linker version in Kconfig
  kbuild: remove ld-version macro
  scripts: add generic syscallhdr.sh
  scripts: add generic syscalltbl.sh
  arch: syscalls: remove $(srctree)/ prefix from syscall tables
  arch: syscalls: add missing FORCE and fix 'targets' to make if_changed work
  gen_compile_commands: prune some directories
  kbuild: simplify access to the kernel's version
  ...
</content>
</entry>
<entry>
<title>kbuild: remove deprecated 'always' and 'hostprogs-y/m'</title>
<updated>2021-02-24T06:12:06Z</updated>
<author>
<name>Masahiro Yamada</name>
<email>masahiroy@kernel.org</email>
</author>
<published>2021-02-21T16:53:56Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=b97652bf10f1d3b0f1ca536377e92f99acfb2fcd'/>
<id>urn:sha1:b97652bf10f1d3b0f1ca536377e92f99acfb2fcd</id>
<content type='text'>
These have no more user in the upstream code. The use of them has been
warned for a while for external modules. The migration is finished.

Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
</content>
</entry>
<entry>
<title>kbuild: lto: postpone objtool</title>
<updated>2021-02-23T20:46:57Z</updated>
<author>
<name>Sami Tolvanen</name>
<email>samitolvanen@google.com</email>
</author>
<published>2020-04-13T23:10:13Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=b1a1a1a09b4606d41723a426110382d2077c26fb'/>
<id>urn:sha1:b1a1a1a09b4606d41723a426110382d2077c26fb</id>
<content type='text'>
With LTO, LLVM bitcode won't be compiled into native code until
modpost_link, or modfinal for modules. This change postpones calls
to objtool until after these steps, and moves objtool_args to
Makefile.lib, so the arguments can be reused in Makefile.modfinal.

As we didn't have objects to process earlier, we use --duplicate
when processing vmlinux.o. This change also disables unreachable
instruction warnings with LTO to avoid warnings about the int3
padding between functions.

Signed-off-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;
Reviewed-by: Kees Cook &lt;keescook@chromium.org&gt;
</content>
</entry>
<entry>
<title>tracing: add support for objtool mcount</title>
<updated>2021-02-23T20:46:57Z</updated>
<author>
<name>Sami Tolvanen</name>
<email>samitolvanen@google.com</email>
</author>
<published>2020-09-25T23:43:53Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=22c8542d7b220ffc53816d47b371b1fe34341d4a'/>
<id>urn:sha1:22c8542d7b220ffc53816d47b371b1fe34341d4a</id>
<content type='text'>
This change adds build support for using objtool to generate
__mcount_loc sections.

Signed-off-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;
</content>
</entry>
<entry>
<title>kbuild: lto: fix module versioning</title>
<updated>2021-01-14T16:21:08Z</updated>
<author>
<name>Sami Tolvanen</name>
<email>samitolvanen@google.com</email>
</author>
<published>2020-12-11T18:46:20Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=38e89184900385b0dad1ee55c35ae8abcfee6ece'/>
<id>urn:sha1:38e89184900385b0dad1ee55c35ae8abcfee6ece</id>
<content type='text'>
With CONFIG_MODVERSIONS, version information is linked into each
compilation unit that exports symbols. With LTO, we cannot use this
method as all C code is compiled into LLVM bitcode instead. This
change collects symbol versions into .symversions files and merges
them in link-vmlinux.sh where they are all linked into vmlinux.o at
the same time.

Signed-off-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;
Reviewed-by: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Link: https://lore.kernel.org/r/20201211184633.3213045-4-samitolvanen@google.com
</content>
</entry>
</feed>
