18 Jul, 2019
1 commit
-
While descending directories, Kbuild produces objects for modules,
but do not link final *.ko files; it is done in the modpost.To keep track of modules, Kbuild creates a *.mod file in $(MODVERDIR)
for every module it is building. Some post-processing steps read the
necessary information from *.mod files. This avoids descending into
directories again. This mechanism was introduced in 2003 or so.Later, commit 551559e13af1 ("kbuild: implement modules.order") added
modules.order. So, we can simply read it out to know all the modules
with directory paths. This is easier than parsing the first line of
*.mod files.$(MODVERDIR) has a flat directory structure, that is, *.mod files
are named only with base names. This is based on the assumption that
the module name is unique across the tree. This assumption is really
fragile.Stephen Rothwell reported a race condition caused by a module name
conflict:https://lkml.org/lkml/2019/5/13/991
In parallel building, two different threads could write to the same
$(MODVERDIR)/*.mod simultaneously.Non-unique module names are the source of all kind of troubles, hence
commit 3a48a91901c5 ("kbuild: check uniqueness of module names")
introduced a new checker script.However, it is still fragile in the build system point of view because
this race happens before scripts/modules-check.sh is invoked. If it
happens again, the modpost will emit unclear error messages.To fix this issue completely, create *.mod with full directory path
so that two threads never attempt to write to the same file.$(MODVERDIR) is no longer needed.
Since modules with directory paths are listed in modules.order, Kbuild
is still able to find *.mod files without additional descending.I also killed cmd_secanalysis; scripts/mod/sumversion.c computes MD4 hash
for modules with MODULE_VERSION(). When CONFIG_DEBUG_SECTION_MISMATCH=y,
it occurs not only in the modpost stage, but also during directory
descending, where sumversion.c may parse stale *.mod files. It would emit
'No such file or directory' warning when an object consisting a module is
renamed, or when a single-obj module is turned into a multi-obj module or
vice versa.Signed-off-by: Masahiro Yamada
Acked-by: Nicolas Pitre
18 May, 2019
1 commit
-
Also, sort the patterns alphabetically. Update the comment since
we have non-git files here.Signed-off-by: Masahiro Yamada
08 May, 2019
1 commit
-
For completeness, ignore all the allconfig variants.
I added a leading slash because they are only searched in the
top of the tree.Signed-off-by: Masahiro Yamada
07 May, 2019
2 commits
-
Problem:
When a kernel module is compiled as a separate module, some important
information about the kernel module is available via .modinfo section of
the module. In contrast, when the kernel module is compiled into the
kernel, that information is not available.Information about built-in modules is necessary in the following cases:
1. When it is necessary to find out what additional parameters can be
passed to the kernel at boot time.2. When you need to know which module names and their aliases are in
the kernel. This is very useful for creating an initrd image.Proposal:
The proposed patch does not remove .modinfo section with module
information from the vmlinux at the build time and saves it into a
separate file after kernel linking. So, the kernel does not increase in
size and no additional information remains in it. Information is stored
in the same format as in the separate modules (null-terminated string
array). Because the .modinfo section is already exported with a separate
modules, we are not creating a new API.It can be easily read in the userspace:
$ tr '\0' '\n' < modules.builtin.modinfo
ext4.softdep=pre: crc32c
ext4.license=GPL
ext4.description=Fourth Extended Filesystem
ext4.author=Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others
ext4.alias=fs-ext4
ext4.alias=ext3
ext4.alias=fs-ext3
ext4.alias=ext2
ext4.alias=fs-ext2
md_mod.alias=block-major-9-*
md_mod.alias=md
md_mod.description=MD RAID framework
md_mod.license=GPL
md_mod.parmtype=create_on_open:bool
md_mod.parmtype=start_dirty_degraded:int
...Co-Developed-by: Gleb Fotengauer-Malinovskiy
Signed-off-by: Gleb Fotengauer-Malinovskiy
Signed-off-by: Alexey Gladkov
Acked-by: Jessica Yu
Signed-off-by: Masahiro Yamada -
Clarify these directory paths are relative to the top of the source
tree.Signed-off-by: Masahiro Yamada
13 Dec, 2018
1 commit
-
This adds the build infrastructure for checking DT binding schema
documents and validating dts files using the binding schema.Check DT binding schema documents:
make dt_binding_checkBuild dts files and check using DT binding schema:
make dtbs_checkOptionally, DT_SCHEMA_FILES can be passed in with a schema file(s) to
use for validation. This makes it easier to find and fix errors
generated by a specific schema.Currently, the validation targets are separate from a normal build to
avoid a hard dependency on the external DT schema project and because
there are lots of warnings generated.Cc: Jonathan Corbet
Cc: Mark Rutland
Acked-by: Masahiro Yamada
Cc: Michal Marek
Cc: linux-doc@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Rob Herring
16 Apr, 2018
1 commit
-
Pull more Kbuild updates from Masahiro Yamada:
- pass HOSTLDFLAGS when compiling single .c host programs
- build genksyms lexer and parser files instead of using shipped
versions- rename *-asn1.[ch] to *.asn1.[ch] for suffix consistency
- let the top .gitignore globally ignore artifacts generated by flex,
bison, and asn1_compiler- let the top Makefile globally clean artifacts generated by flex,
bison, and asn1_compiler- use safer .SECONDARY marker instead of .PRECIOUS to prevent
intermediate files from being removed- support -fmacro-prefix-map option to make __FILE__ a relative path
- fix # escaping to prepare for the future GNU Make release
- clean up deb-pkg by using debian tools instead of handrolled
source/changes generation- improve rpm-pkg portability by supporting kernel-install as a
fallback of new-kernel-pkg- extend Kconfig listnewconfig target to provide more information
* tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
kconfig: extend output of 'listnewconfig'
kbuild: rpm-pkg: use kernel-install as a fallback for new-kernel-pkg
Kbuild: fix # escaping in .cmd files for future Make
kbuild: deb-pkg: split generating packaging and build
kbuild: use -fmacro-prefix-map to make __FILE__ a relative path
kbuild: mark $(targets) as .SECONDARY and remove .PRECIOUS markers
kbuild: rename *-asn1.[ch] to *.asn1.[ch]
kbuild: clean up *-asn1.[ch] patterns from top-level Makefile
.gitignore: move *-asn1.[ch] patterns to the top-level .gitignore
kbuild: add %.dtb.S and %.dtb to 'targets' automatically
kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically
genksyms: generate lexer and parser during build instead of shipping
kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile
.gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore
kbuild: use HOSTLDFLAGS for single .c executables
12 Apr, 2018
1 commit
-
clang-format is a tool to format C/C++/... code according to a set of
rules and heuristics. Like most tools, it is not perfect nor covers
every single case, but it is good enough to be helpful.In particular, it is useful for quickly re-formatting blocks of code
automatically, for reviewing full files in order to spot coding style
mistakes, typos and possible improvements. It is also handy for sorting
``#includes``, for aligning variables and macros, for reflowing text and
other similar tasks. It also serves as a teaching tool/guide for
newcomers.The tool itself has been already included in the repositories of popular
Linux distributions for a long time. The rules in this file are
intended for clang-format >= 4, which is easily available in most
distributions.This commit adds the configuration file that contains the rules that the
tool uses to know how to format the code according to the kernel coding
style. This gives us several advantages:* clang-format works out of the box with reasonable defaults;
avoiding that everyone has to re-do the configuration.* Everyone agrees (eventually) on what is the most useful default
configuration for most of the kernel.* If it becomes commonplace among kernel developers, clang-format
may feel compelled to support us better. They already recognize
the Linux kernel and its style in their documentation and in one
of the style sub-options.Some of clang-format's features relevant for the kernel are:
* Uses clang's tooling support behind the scenes to parse and rewrite
the code. It is not based on ad-hoc regexps.* Supports reasonably well the Linux kernel coding style.
* Fast enough to be used at the press of a key.
* There are already integrations (either built-in or third-party)
for many common editors used by kernel developers (e.g. vim,
emacs, Sublime, Atom...) that allow you to format an entire file
or, more usefully, just your selection.* Able to parse unified diffs -- you can, for instance, reformat
only the lines changed by a git commit.* Able to reflow text comments as well.
* Widely supported and used by hundreds of developers in highly
complex projects and organizations (e.g. the LLVM project itself,
Chromium, WebKit, Google, Mozilla...). Therefore, it will be
supported for a long time.See more information about the tool at:
https://clang.llvm.org/docs/ClangFormat.html
https://clang.llvm.org/docs/ClangFormatStyleOptions.htmlLink: http://lkml.kernel.org/r/20180318171632.qfkemw3mwbcukth6@gmail.com
Signed-off-by: Miguel Ojeda
Cc: Randy Dunlap
Cc: Andy Whitcroft
Cc: Joe Perches
Cc: Jonathan Corbet
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
07 Apr, 2018
3 commits
-
Our convention is to distinguish file types by suffixes with a period
as a separator.*-asn1.[ch] is a different pattern from other generated sources such
as *.lex.c, *.tab.[ch], *.dtb.S, etc. More confusing, files with
'-asn1.[ch]' are generated files, but '_asn1.[ch]' are checked-in
files:
net/netfilter/nf_conntrack_h323_asn1.c
include/linux/netfilter/nf_conntrack_h323_asn1.h
include/linux/sunrpc/gss_asn1.hRename generated files to *.asn1.[ch] for consistency.
Signed-off-by: Masahiro Yamada
-
These are common patterns where source files are parsed by the
asn1_compiler.Signed-off-by: Masahiro Yamada
-
These patterns are common to host programs that require lexer and parser.
Move them to the top .gitignore.Signed-off-by: Masahiro Yamada
Acked-by: Frank Rowand
26 Mar, 2018
1 commit
-
The idea of using fixdep was inspired by Kconfig, but autoksyms
belongs to a different group. So, I want to move those touched
files under include/config/ksym/ to include/ksym/.The directory include/ksym/ can be removed by 'make clean' because
it is meaningless for the external module building.Signed-off-by: Masahiro Yamada
Acked-by: Nicolas Pitre
15 Feb, 2018
1 commit
-
when build kernel with default configure, files:
generatenet/ipv4/netfilter/nf_nat_snmp_basic-asn1.c
net/ipv4/netfilter/nf_nat_snmp_basic-asn1.hwill be automatically generated by ASN.1 compiler, so
No need to track them in git, it's better to ignore them.Signed-off-by: Zhu Lingshan
Signed-off-by: Pablo Neira Ayuso
12 Dec, 2017
1 commit
-
Following in footsteps of other targets like 'deb-pkg, 'rpm-pkg' and 'tar-pkg',
this patch adds a 'snap-pkg' target for the creation of a Linux kernel snap
package using the kbuild infrastructure.A snap, in its general form, is a self contained, sandboxed, universal package
and it is intended to work across multiple distributions and/or devices. A snap
package is distributed as a single compressed squashfs filesystem.A kernel snap is a snap package carrying the Linux kernel, kernel modules,
accessory files (DTBs, System.map, etc) and a manifesto file. The purpose of a
kernel snap is to carry the Linux kernel during the creation of a system image,
eg. Ubuntu Core, and its subsequent upgrades.For more information on snap packages: https://snapcraft.io/docs/
Signed-off-by: Paolo Pisati
Signed-off-by: Masahiro Yamada
18 Nov, 2017
1 commit
-
…asahiroy/linux-kbuild
Pull Kbuild misc updates from Masahiro Yamada:
- Clean up and fix RPM package build
- Fix a warning in DEB package build
- Improve coccicheck script
- Improve some semantic patches
* tag 'kbuild-misc-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
docs: dev-tools: coccinelle: delete out of date wiki reference
coccinelle: orplus: reorganize to improve performance
coccinelle: use exists to improve efficiency
builddeb: Pass the kernel:debarch substvar to dpkg-genchanges
Coccinelle: use false positive annotation
coccinelle: fix verbose message about .cocci file being run
coccinelle: grep Options and Requires fields more precisely
Coccinelle: make DEBUG_FILE option more useful
coccinelle: api: detect identical chip data arrays
coccinelle: Improve setup_timer.cocci matching
Coccinelle: setup_timer: improve messages from setup_timer
kbuild: rpm-pkg: do not force -jN in submake
kbuild: rpm-pkg: keep spec file until make mrproper
kbuild: rpm-pkg: fix jobserver unavailable warning
kbuild: rpm-pkg: replace $RPM_BUILD_ROOT with %{buildroot}
kbuild: rpm-pkg: fix build error when CONFIG_MODULES is disabled
kbuild: rpm-pkg: refactor mkspec with here doc
kbuild: rpm-pkg: clean up mkspec
kbuild: rpm-pkg: install vmlinux.bz2 unconditionally
kbuild: rpm-pkg: remove ppc64 specific image handling
14 Nov, 2017
1 commit
-
If build fails during (bin)rpm-pkg, the spec file is not cleaned by
anyone until the next successful build of the package.We do not have to immediately delete the spec file in case somebody
may want to take a look at it. Instead, make them ignored by git,
and cleaned up by make mrproper.Signed-off-by: Masahiro Yamada
09 Nov, 2017
2 commits
-
Most of DT files are compiled under arch/*/boot/dts/, but we have some
other directories, like drivers/of/unittest-data/. We often miss to
add gitignore patterns per directory. Since there are no source files
that end with .dtb or .dtb.S, we can ignore the patterns globally.Signed-off-by: Masahiro Yamada
Signed-off-by: Rob Herring -
We are having more and more ignore patterns. Sort the list
alphabetically. We will easily catch duplicated patterns if any.Signed-off-by: Masahiro Yamada
Signed-off-by: Rob Herring
25 Apr, 2017
1 commit
-
Add rules to kbuild in order to generate LLVM assembly files with the .ll
extension when using clang.# from c code
make CC=clang kernel/pid.llSigned-off-by: Vinícius Tinti
Signed-off-by: Behan Webster
Signed-off-by: Matthias Kaehlcke
Signed-off-by: Masahiro Yamada
03 Aug, 2016
1 commit
-
Pull misc kbuild updates from Michal Marek:
- coccicheck script improvements by Luis Rodriguez and Deepa Dinamani
- new coccinelle patches by Yann Droneaud and Vaishali Thakkar
- debian packaging fixes by Wilfried Klaebe, Henning Schild and Marcin
Mielniczuk* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
Fix the Debian packaging script on systems with no codename
builddeb: fix file permissions before packaging
scripts/coccinelle: require coccinelle >= 1.0.4 on device_node_continue.cocci
coccicheck: refer to Documentation/coccinelle.txt and wiki
coccicheck: add support for requring a coccinelle version
scripts: add Linux .cocciconfig for coccinelle
coccicheck: replace --very-quiet with --quiet when debugging
coccicheck: add support for DEBUG_FILE
coccicheck: enable parmap support
coccicheck: make SPFLAGS more useful
coccicheck: move spatch binary check up
builddeb: really include objtool binary in headers package
coccinelle: catch krealloc() on devm_*() allocated memory
coccinelle: recognize more devm_* memory allocation functions
coccinelle: also catch kzfree() issues
coccicheck: Allow for overriding spatch flags
Coccinelle: noderef: Add new rules and correct the old rule
22 Jul, 2016
1 commit
-
Coccinelle supports reading .cocciconfig, the order of precedence for
variables for .cocciconfig is as follows:o Your current user's home directory is processed first
o Your directory from which spatch is called is processed next
o The directory provided with the --dir option is processed last, if usedSince coccicheck runs through make, it naturally runs from the kernel
proper dir, as such the second rule above would be implied for picking up a
.cocciconfig when using 'make coccicheck'.'make coccicheck' also supports using M= targets.If you do not supply
any M= target, it is assumed you want to target the entire kernel.
The kernel coccicheck script has:if [ "$KBUILD_EXTMOD" = "" ] ; then
OPTIONS="--dir $srctree $COCCIINCLUDE"
else
OPTIONS="--dir $KBUILD_EXTMOD $COCCIINCLUDE"
fiKBUILD_EXTMOD is set when an explicit target with M= is used. For both cases
the spatch --dir argument is used, as such third rule applies when
whether M= is used or not, and when M= is used the target directory can
have its own .cocciconfig file. When M= is not passed as an argument to
coccicheck the target directory is the same as the directory from where
spatch was called.If not using the kernel's coccicheck target, keep the above precedence order
logic of .cocciconfig reading. If using the kernel's coccicheck target,
override any of the kernel's .coccicheck's settings using SPFLAGS.We help Coccinelle when used against Linux with a set of sensible defaults
options for Linux with our own Linux .cocciconfig. This hints to coccinelle
git can be used for 'git grep' queries over coccigrep. A timeout of 200
seconds should suffice for now.The options picked up by coccinelle when reading a .cocciconfig do not appear
as arguments to spatch processes running on your system, to confirm what
options will be used by Coccinelle run:spatch --print-options-only
You can override with your own preferred index option by using SPFLAGS.
Coccinelle supports both glimpse and idutils. Glimpse had historically
provided the best performance, however recent benchmarks reveal idutils
is performing just as well. Due to some recent fixes however you however
will need at least coccinelle >= 1.0.6 if using idutils.Coccinelle carries a script scripts/idutils_index.sh which creates the
idutils database with as follows:mkid -i C --output .id-utils.index
If using just "--use-idutils" coccinelle expects your idutils database to be
on the top level of the kernel as a file named ".id-utils.index". If you do
not use this you can symlink your database file to it, or you can specify the
database file following the "--use-idutils" argument. Examples:make SPFLAGS=--use-idutils coccicheck
This assumes you have $srctree/.id-utils.index, where $srctree is
the top level of the kernel.make SPFLAGS="--use-idutils /full-path/to/ID" coccicheck
Here you specify the full path of the idutils ID database. Using
.cocciconfig is possible, however given the order of precedence followed
by Coccinelle, and since the kernel now carries its own .cocciconfig,
you will need to use SPFLAGS to use idutils if desired.v4:
o Recommend upgrade for using idutils with coccinelle due to some
recent fixes.o Refer to using --print-options-only for testing what options are
picked up by .cocciconfig reading.o Expand commit log considerably explaining *why* .cocconfig from
two precedence rules are used when using coccicheck, and how to
properly override these if needed.o Expand Documentation/coccinelle.txt
v3: Expand commit log a bit more
Signed-off-by: Luis R. Rodriguez
Acked-by: Julia Lawall
Signed-off-by: Michal Marek
08 Jun, 2016
1 commit
-
This patch allows to build the whole kernel with GCC plugins. It was ported from
grsecurity/PaX. The infrastructure supports building out-of-tree modules and
building in a separate directory. Cross-compilation is supported too.
Currently the x86, arm, arm64 and uml architectures enable plugins.The directory of the gcc plugins is scripts/gcc-plugins. You can use a file or a directory
there. The plugins compile with these options:
* -fno-rtti: gcc is compiled with this option so the plugins must use it too
* -fno-exceptions: this is inherited from gcc too
* -fasynchronous-unwind-tables: this is inherited from gcc too
* -ggdb: it is useful for debugging a plugin (better backtrace on internal
errors)
* -Wno-narrowing: to suppress warnings from gcc headers (ipa-utils.h)
* -Wno-unused-variable: to suppress warnings from gcc headers (gcc_version
variable, plugin-version.h)The infrastructure introduces a new Makefile target called gcc-plugins. It
supports all gcc versions from 4.5 to 6.0. The scripts/gcc-plugin.sh script
chooses the proper host compiler (gcc-4.7 can be built by either gcc or g++).
This script also checks the availability of the included headers in
scripts/gcc-plugins/gcc-common.h.The gcc-common.h header contains frequently included headers for GCC plugins
and it has a compatibility layer for the supported gcc versions.The gcc-generate-*-pass.h headers automatically generate the registration
structures for GIMPLE, SIMPLE_IPA, IPA and RTL passes.Note that 'make clean' keeps the *.so files (only the distclean or mrproper
targets clean all) because they are needed for out-of-tree modules.Based on work created by the PaX Team.
Signed-off-by: Emese Revfy
Acked-by: Kees Cook
Signed-off-by: Michal Marek
28 Apr, 2016
1 commit
-
Git files are the files that we don't want to ignore even if
they are dot-files. It must be "even if" but it says "even it".Signed-off-by: Kyeongmin Cho
Signed-off-by: Jiri Kosina
09 Sep, 2015
1 commit
-
Pull misc kbuild updates from Michal Marek:
- deb-pkg:
+ module signing fix
+ dtb files are added to the package
+ do not require `hostname -f` to work during build
+ make deb-pkg generates a source package, bindeb-pkg has been
added to only generate the binary package
- rpm-pkg packages /lib/modules as well
- new coccinelle patch and updates to existing ones
- new stackusage & stackdelta script to collect and compare stack usage
info (using gcc's -fstack-usage)
- make tags understands trace_*_rcuidle() macros
- .gitignore updates, misc cleanups* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: (27 commits)
deb-pkg: add source package
package/Makefile: move source tar creation to a function
scripts: add stackdelta script
kbuild: remove *.su files generated by -fstack-usage
.gitignore: add *.su pattern
scripts: add stackusage script
kbuild: avoid listing /lib/modules in kernel spec file
fallback to hostname in scripts/package/builddeb
coccinelle: api: extend spatch for dropping unnecessary owner
deb-pkg: simplify directory creation
scripts/tags.sh: Include trace_*_rcuidle() in tags
scripts/package/Makefile: rpmbuild is needed for rpm targets
Kbuild: Add ID files to .gitignore
gitignore: Add MIPS vmlinux.32 to the list
coccinelle: simple_return: Add a blank line
coccinelle: irqf_oneshot.cocci: Improve the generated commit log
coccinelle: api: add vma_pages.cocci
scripts/coccinelle/misc/irqf_oneshot.cocci: Fix grammar
scripts/coccinelle/misc/semicolon.cocci: Use imperative mood
coccinelle: simple_open: Use imperative mood
...
28 Aug, 2015
1 commit
-
Ignore the *.su files generated by using the gcc option -fstack-usage.
Signed-off-by: Rasmus Villemoes
Signed-off-by: Michal Marek
07 Aug, 2015
1 commit
-
The current rule for generating signing_key.priv and signing_key.x509 is
a classic example of a bad rule which has a tendency to break parallel
make. When invoked to create *either* target, it generates the other
target as a side-effect that make didn't predict.So let's switch to using a single file signing_key.pem which contains
both key and certificate. That matches what we do in the case of an
external key specified by CONFIG_MODULE_SIG_KEY anyway, so it's also
slightly cleaner.Signed-off-by: David Woodhouse
Signed-off-by: David Howells
15 Jun, 2015
2 commits
-
I use GNU id-utils to find code (essentially a database backed grep),
which generates an ID file to maintain its data.Add ID to the .gitignore file.
Signed-off-by: Andi Kleen
Signed-off-by: Michal Marek -
MIPS64 kernels builds will produce a vmlinux.32 kernel image for
compatibility, ignore them.Signed-off-by: Florian Fainelli
Signed-off-by: Michal Marek
17 Apr, 2015
1 commit
-
Running make tar-pkg results in following:
# Untracked files:
# (use "git add ..." to include in what will be committed)
#
# linux-4.0.0-rc3-next-20150313-150225--x86.tarThis patch makes git ignore *.tar files.
Running 'git ls-files -i --exclude-standard' does not show any
tar files excluded from tracking after the change.Signed-off-by: Andrey Skvortsov
Cc: Michal Marek
Cc: Greg Kroah-Hartman
Cc: Boaz Harrosh
Cc: Andi Kleen
Cc: Benjamin Romer
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
18 Feb, 2015
1 commit
-
Using the gdb scripts leaves byte-compiled python files in the scripts/
directory. These should be ignored by git.[jan.kiszka@siemens.com: drop redundant mrproper rule as suggested by Michal]
Signed-off-by: Daniel Thompson
Signed-off-by: Jan Kiszka
Cc: Michal Marek
Cc: Thomas Gleixner
Cc: Jason Wessel
Cc: Andi Kleen
Cc: Ben Widawsky
Cc: Borislav Petkov
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
13 Feb, 2015
1 commit
-
Have git ignore the Debian directory created when running:
make tar-pkg / targz-pkg / tarbz2-pkg / tarxz-pkgSigned-off-by: Andrey Skvortsov
Cc: Michal Marek
Cc: Greg Kroah-Hartman
Cc: Boaz Harrosh
Cc: Andi Kleen
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
26 Nov, 2014
1 commit
-
I'm not sure what is the costume with such IDE project files.
Most might be dot-files. It is kind of annoying for the Kdevelop4 user.So please consider adding *.kdev4 files to be ignored?
Signed-off-by: Boaz Harrosh
[mmarek: Moved at the and and added a comment]
Signed-off-by: Michal Marek
31 Jul, 2014
1 commit
-
This is an alternative approach to lower the overhead of debug info
(as we discussed a few days ago)gcc 4.7+ and newer binutils have a new "split debug info" debug info
model where the debug info is only written once into central ".dwo" files.This avoids having to copy it around multiple times, from the object
files to the final executable. It lowers the disk space
requirements. In addition it defaults to compressed debug data.More details here: http://gcc.gnu.org/wiki/DebugFission
This patch adds a new option to enable it. It has to be an option,
because it'll undoubtedly break everyone's debuginfo packaging scheme.
gdb/objdump/etc. all still work, if you have new enough versions.I don't see big compile wins (maybe a second or two faster or so), but the
object dirs with debuginfo get significantly smaller. My standard kernel
config (slightly bigger than defconfig) shrinks from 2.9G disk space
to 1.1G objdir (with non reduced debuginfo). I presume if you are IO limited
the compile time difference will be larger.Only problem I've seen so far is that it doesn't play well with older
versions of ccache (apparently fixed, see
https://bugzilla.samba.org/show_bug.cgi?id=10005)v2: various fixes from Dirk Gouders. Improve commit message slightly.
v3: Fix clean rules and improve Kconfig slightly
v4: Fix merge error in last version (Sam Ravnborg)
Clarify description that it mainly helps disk size.
Cc: Dirk Gouders
Signed-off-by: Andi Kleen
Acked-by: Sam Ravnborg
Signed-off-by: Michal Marek
17 Apr, 2014
1 commit
-
When using `make M=/path/to/driver modules` to build a module, file
Module.symvers will be created in that directory, so it's better to
ignore it in all directories.Slightly reordered, let specific file names behind general ones.
Cc: Andrew Morton
Cc: Kyungsik Lee
Cc: Markus Trippelsdorf
Signed-off-by: Zhao, Gang
Signed-off-by: Michal Marek
11 Feb, 2014
1 commit
-
This is used by kbuild to load preset Kconfig options. We need to
ignore it, otherwise git clean kills it.Signed-off-by: Borislav Petkov
Cc: Michal Marek
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
01 Aug, 2013
1 commit
-
Now that lz4 kernel compression is available, add *.lz4 to .gitignore.
Signed-off-by: Markus Trippelsdorf
Acked-by: Kyungsik Lee
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
18 Dec, 2012
1 commit
-
Since userspace headers were moved to generated/uapi it possible to have a
stale copy of linux/version.h at that file's old location. This causes
confusion after building an older kernel version, then checking out and
building a new one; the old (stale) version header will still get picked
up until it is manually removed. This upsets the C library.Since the uapi changes, include/linux/version.h is no longer generated and
should not be ignored, so this patch removes it from .gitignore.Signed-off-by: Jonathan Austin
Reported-by: Kevin Petit
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
20 Oct, 2012
1 commit
-
The module build process no longer creates intermediate files for module
signing, so remove them from .gitignore.Signed-off-by: David Howells
Signed-off-by: Linus Torvalds
10 Oct, 2012
1 commit
-
Provide gitignore and make clean rules for extra files to hide and clean up the
extra files produced by module signing stuff once it is added. Also add a
clean up rule for the module content extractor program used to extract the data
to be signed.Signed-off-by: David Howells
Signed-off-by: Rusty Russell
01 Jul, 2011
1 commit
-
Have git ignore the Debian directory created when running:
make deb-pkgSigned-off-by: Greg Dietsche
Signed-off-by: Michal Marek