03 Jan, 2009
10 commits
-
The new check for asm/types.h and linux/types.h had
a few false positives.o We cannot let linux/types.h include linux/types.h
o The int-ll64.h and int-ll64.h define the types
and are included by linux/types.hHandle this by hardcoding the filenames in the headers_check script.
Signed-off-by: Sam Ravnborg
-
If we see __[us](8|16|32|64) then we must include
If wee see include of then we recommendOriginal script from Mike but modified by me.
Cc: Mike Frysinger
Signed-off-by: Sam Ravnborg -
Noticed by Jike.
Reported-by: "Jike Song"
Signed-off-by: Sam Ravnborg -
Headers in userspace should be using the __xxx__ form of the asm, inline,
and volatile keywords. Since people like to revert these things without
realizing what's going on, have the headers install step autoconvert these
keywords.Signed-off-by: Mike Frysinger
Signed-off-by: Sam Ravnborg -
Signed-off-by: Sam Ravnborg
-
Since prototypes with "extern" refer to kernel functions, they make no
sense in userspace, so reject them automatically.Signed-off-by: Mike Frysinger
[sam: made it into a warning]
Signed-off-by: Sam Ravnborg -
We now say where we detect the second source of a file,
and where we detect a recursively source of the same file.
This makes it easier to fix such errors.Signed-off-by: Sam Ravnborg
Cc: Roman Zippel -
No functional changes
Signed-off-by: Sam Ravnborg
-
No functional changes - only comments.
Signed-off-by: Sam Ravnborg
-
Added a few comments - no functional change.
Signed-off-by: Sam Ravnborg
29 Dec, 2008
1 commit
-
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (25 commits)
allow stripping of generated symbols under CONFIG_KALLSYMS_ALL
kbuild: strip generated symbols from *.ko
kbuild: simplify use of genksyms
kernel-doc: check for extra kernel-doc notations
kbuild: add headerdep used to detect inclusion cycles in header files
kbuild: fix string equality testing in tags.sh
kbuild: fix make tags/cscope
kbuild: fix make incompatibility
kbuild: remove TAR_IGNORE
setlocalversion: add git-svn support
setlocalversion: print correct subversion revision
scripts: improve the decodecode script
scripts/package: allow custom options to rpm
genksyms: allow to ignore symbol checksum changes
genksyms: track symbol checksum changes
tags and cscope support really belongs in a shell script
kconfig: fix options to check-lxdialog.sh
kbuild: gen_init_cpio expands shell variables in file names
remove bashisms from scripts/extract-ikconfig
kbuild: teach mkmakfile to be silent
...
20 Dec, 2008
4 commits
-
Building upon parts of the module stripping patch, this patch
introduces similar stripping for vmlinux when CONFIG_KALLSYMS_ALL=y.
Using CONFIG_KALLSYMS_STRIP_GENERATED reduces the overhead of
CONFIG_KALLSYMS_ALL from 245k/310k to 65k/80k for the (i386/x86-64)
kernels I tested with.The patch also does away with the need to special case the kallsyms-
internal symbols by making them available even in the first linking
stage.While it is a generated file, the patch includes the changes to
scripts/genksyms/keywords.c_shipped, as I'm unsure what the procedure
here is.Signed-off-by: Jan Beulich
Signed-off-by: Sam Ravnborg -
This patch changes the way __crc_ symbols are being resolved from
using ld to do so to using the assembler, thus allowing these symbols
to be marked local (the linker creates then as global ones) and hence
allow stripping (for modules) or ignoring (for vmlinux) them. While at
this, also strip other generated symbols during module installation.One potentially debatable point is the handling of the flags passeed
to gcc when translating the intermediate assembly file into an object:
passing $(c_flags) unchanged doesn't work as gcc passes --gdwarf2 to
gas whenever is sees any -g* option, even for -g0, and despite the
fact that the compiler would have already produced all necessary debug
info in the C->assembly translation phase. I took the approach of just
filtering out all -g* options, but an alternative to such negative
filtering might be to have a positive filter which might, in the ideal
case allow just all the -Wa,* options to pass through.Signed-off-by: Jan Beulich
Signed-off-by: Sam Ravnborg -
Avoid duplicating long list of options in two places
Signed-off-by: Sam Ravnborg
-
Add functionality to check for function parameters or structure (or
union/typedef/enum) field members that are described in kernel-doc but
are not part of the expected (declared) parameters or structure.
These generate warnings that are called "Excess" descriptions.Signed-off-by: Randy Dunlap
Signed-off-by: Sam Ravnborg
19 Dec, 2008
1 commit
-
Signed-off-by: Vegard Nossum
Signed-off-by: Sam Ravnborg
14 Dec, 2008
2 commits
-
Test of string equality in shells is =, not C-like ==.
Signed-off-by: Jiri Slaby
Signed-off-by: Sam Ravnborg -
- fix combining O=... and tags
- don't allow * expansion during sh function callsSigned-off-by: Jiri Slaby
[sam: use KBUILD_SRC to check if we use O=...]
Signed-off-by: Sam Ravnborg
12 Dec, 2008
1 commit
-
Impact: let the function-graph-tracer be aware of the irq entrypoints
Add a new .irqentry.text section to store the irq entrypoints functions
inside the same section. This way, the tracer will be able to signal
an interrupts triggering on output by recognizing these entrypoints.Also, make this section recordable for dynamic tracing.
Signed-off-by: Frederic Weisbecker
Signed-off-by: Ingo Molnar
06 Dec, 2008
1 commit
-
Given that there is no usage of a TAR_IGNORE variable remove it
Signed-off-by: Robert P. J. Day
Signed-off-by: Sam Ravnborg
04 Dec, 2008
16 commits
-
Print svn revision in addition to git info on git-svn repos.
Signed-off-by: Peter Korsgaard
Signed-off-by: Sam Ravnborg -
Output svn revision of latest change, instead of repo revision as thats
what we're interested in (especially when working on a branch/tag).Signed-off-by: Peter Korsgaard
Signed-off-by: Sam Ravnborg -
kerneloops.org has been using an improved "decodecode" script,
specifically it has a special marker that shows which line in the assembly
the oops happened at, like this:20: 83 e0 03 and $0x3,%eax
23: 09 d8 or %ebx,%eax
25: 85 db test %ebx,%ebx
27: 89 02 mov %eax,(%edx)
29: 74 0f je 0x3a
2b:* 3b 73 04 cmp 0x4(%ebx),%esi
Reviewed-by: WANG Cong
Signed-off-by: Andrew Morton
Signed-off-by: Sam Ravnborg -
Add a RPMOPTS make variable to allow arbitrary options to be passed
to rpm during 'make rpm-pkg'. For example:make RPMOPTS="--define '_topdir /home/jk/rpm'" rpm-pkg
Signed-off-by: Jeremy Kerr
Signed-off-by: Andrew Morton
Signed-off-by: Sam Ravnborg -
This adds an "override" keyword for use in *.symvers / *.symref files.
When a symbol is overridden, the symbol's old definition will be used for
computing checksums instead of the new one, preserving the previous
checksum. (Genksyms will still warn about the change.)This is meant to allow distributions to hide minor actual as well as fake
ABI changes. (For example, when extra type information becomes available
because additional headers are included, this may change checksums even
though none of the types used have actully changed.)This approach also allows to get rid of "#ifdef __GENKSYMS__" hacks in the
code, which are currently used in some vendor kernels to work around
checksum changes.Signed-off-by: Andreas Gruenbacher
Cc: Randy Dunlap
Signed-off-by: Andrew Morton
Signed-off-by: Sam Ravnborg -
Sometimes it is preferable to avoid changes of exported symbol checksums
(to avoid breaking externally provided modules). When a checksum change
occurs, it can be hard to figure out what caused this change: underlying
types may have changed, or additional type information may simply have
become available at the point where a symbol is exported.Add a new --reference option to genksyms which allows it to report why
checksums change, based on the type information dumps it creates with the
--dump-types flag. Genksyms will read in such a dump from a previous run,
and report which symbols have changed (and why).The behavior can be controlled for an entire build as follows: If
KBUILD_SYMTYPES is set, genksyms uses --dump-types to produce *.symtypes
dump files. If any *.symref files exist, those will be used as the
reference to check against. If KBUILD_PRESERVE is set, checksum changes
will fail the build.Signed-off-by: Andreas Gruenbacher
Cc: Randy Dunlap
Signed-off-by: Andrew Morton
Signed-off-by: Sam Ravnborg -
as they do not benefit from the make functionality.
Moving the support to a shell script has several benefits:
- The readability of the code has increased a lot
- More people is able to extend the tags support
- We see less changes to the top-level MakefileThe shell script version includes improvements from:
Alexey Dobriyan (jump to kconfig symbols)
Alexey Dobriyan (drop ./ in paths)
Ian Campbell (simplified find algorithms)This version has a few caveats:
=> It does not support ALLSOURCE_ARCHS
- it is easy to add if it is really used
=> It assumes all archs have moved to arch/$ARCH/include
- until that happens we have a few additional hits in the archsSigned-off-by: Sam Ravnborg
Cc: Alexey Dobriyan
Tested-by: Ian Campbell -
As noted by Bernhard - fix it up.
Cc: Bernhard Reutner-Fischer
Signed-off-by: Sam Ravnborg -
unbashify-extract-ikconfig.patch
scripts/extract-ikconfig contains a lot of gratuituous bashisms,
which make it fail if /bin/sh isn't bash. This patch replaces them
with regular Bourne shell constructs.Signed-off-by: Werner Almesberger
Acked-by: Randy Dunlap # as file author
Signed-off-by: Sam Ravnborg -
With this fix a "make -s" is now really silent
Signed-off-by: Sam Ravnborg
-
Convert a few echos in the build system to new $(kecho) so we get correct
output according to build verbosity.Signed-off-by: Mike Frysinger
[sam: added kecho in a few more places for O=... builds]
Signed-off-by: Sam Ravnborg -
There is a bunch of places in the build system where we do 'echo' to show
some nice status lines. This means we still get output when running in
silent mode. So declare a new KECHO variable that only does 'echo' when we
are in a suitable verbose build mode.Signed-off-by: Mike Frysinger
[sam: added Documentation]
Signed-off-by: Sam Ravnborg -
The mkcompile_h script does `echo` regardless of silent mode the make is
running at, so have it respect $quiet from kbuild and only echo when not in
silent mode.Signed-off-by: Mike Frysinger
Signed-off-by: Sam Ravnborg -
kbuild failed to expand include flags in KBUILD_CPPFLAGS
resulting in code like this in arch Makefiles:ifeq ($(KBUILD_SRC),)
KBUILD_CPPFLAGS += -Iinclude/foo
else
KBUILD_CPPFLAGS += -I$(srctree)/include/foo
endifMove use of LINUXINCLUDE into Makefile.lib to allow
us to expand -I directives of KBUILD_CPPFLAGS so
we can avoid the above code.Signed-off-by: Sam Ravnborg
-
When adding extra -I options with O=... we could
end up in a situation where there were no parameters to -I.
So we had a commandline that looked like this:... -I -Wall ...
This had the undesired side effect that gcc assumed "-Wall"
was a path to look for include files so this options was
effectively ignored.This happens only when we build the generated module.mod.c files
as part of the final modules builds and is as such harmless
with current kbuild.
This bug was exposed when we rearranged the options to gcc.Signed-off-by: Sam Ravnborg
02 Dec, 2008
1 commit
-
The method for listing varargs in kernel-doc notation is:
* @...: these arguments are printed by the @fmt argumentbut scripts/kernel-doc is confused: it always lists varargs as:
... variable arguments
and ignores the @...: line's description, but then prints that
line after the list of function parameters as though it's
not part of the function parameters.This patch makes kernel-doc print the supplied @... description if it is
present; otherwise a boilerplate "variable arguments" is printed.Signed-off-by: Randy Dunlap
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
27 Nov, 2008
1 commit
-
…cer' and 'tracing/power-tracer' into tracing/core
26 Nov, 2008
2 commits
-
Impact: new "power-tracer" ftrace plugin
This patch adds a C/P-state ftrace plugin that will generate
detailed statistics about the C/P-states that are being used,
so that we can look at detailed decisions that the C/P-state
code is making, rather than the too high level "average"
that we have today.An example way of using this is:
mount -t debugfs none /sys/kernel/debug
echo cstate > /sys/kernel/debug/tracing/current_tracer
echo 1 > /sys/kernel/debug/tracing/tracing_enabled
sleep 1
echo 0 > /sys/kernel/debug/tracing/tracing_enabled
cat /sys/kernel/debug/tracing/trace | perl scripts/trace/cstate.pl > out.svgSigned-off-by: Arjan van de Ven
Signed-off-by: Ingo Molnar -
Impact: widen the scope of recordmcount.pl
Besides .text section, there are three .text sections that won't
be freed after kernel booting. They are: .sched.text, .spinlock.text
and .kprobes.text, which contain functions we can trace. But the last
section ".kprobes.text" is particular, which has been marked as "notrace",
we ignore it. Thus we add other two sections.Signed-off-by: Liming Wang
Acked-by: Steven Rostedt
Signed-off-by: Ingo Molnar