Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
'st-ux' and 'unwind' into devel
|
|
When DYNAMIC_FTRACE is enabled and we use the C version of recordmcount,
all objects are run through the recordmcount program to create a
separate section that stores all the callers of mcount.
The build process has a special file: scripts/mod/empty.o. This is
built from empty.c which is literally an empty file (except for a
single comment). This file is used to find information about the target
elf format, like endianness and word size.
The problem comes up when we need to build recordmcount. The
build process requires that empty.o is built first. The build rules
for empty.o will try to execute recordmcount on the empty.o file.
We get an error that recordmcount does not exist.
To avoid this recursion, the build file will skip running recordmcount
if the file that it is building is script/mod/empty.o.
[ extra comment Suggested-by: Sam Ravnborg <[email protected]> ]
Reported-by: Ingo Molnar <[email protected]>
Tested-by: Ingo Molnar <[email protected]>
Cc: Michal Marek <[email protected]>
Cc: [email protected]
Signed-off-by: Steven Rostedt <[email protected]>
|
|
The C version of recordmcount is compiled to a binary, which will
end up located in the objtree. If the kernel is built with O=path,
the srctree will not include the binary recordmcount caller.
Cc: Michal Marek <[email protected]>
Cc: [email protected]
Signed-off-by: Steven Rostedt <[email protected]>
|
|
The file kernel/trace/ftrace.c references the mcount() call to
convert the mcount() callers to nops. But because it references
mcount(), the mcount() address is placed in the relocation table.
The C version of recordmcount reads the relocation table of all
object files, and it will add all references to mcount to the
__mcount_loc table that is used to find the places that call mcount()
and change the call to a nop. When recordmcount finds the mcount reference
in kernel/trace/ftrace.o, it saves that location even though the code
is not a call, but references mcount as data.
On boot up, when all calls are converted to nops, the code has a safety
check to determine what op code it is actually replacing before it
replaces it. If that op code at the address does not match, then
a warning is printed and the function tracer is disabled.
The reference to mcount in ftrace.c, causes this warning to trigger,
since the reference is not a call to mcount(). The ftrace.c file is
not compiled with the -pg flag, so no calls to mcount() should be
expected.
This patch simply makes recordmcount.c skip the kernel/trace/ftrace.c
file. This was the same solution used by the perl version of
recordmcount.
Reported-by: Ingo Molnar <[email protected]>
Cc: John Reiser <[email protected]>
Signed-off-by: Steven Rostedt <[email protected]>
|
|
The elf reader for recordmcount.c had duplicate functions for both
32 bit and 64 bit elf handling. This was due to the need of using
the 32 and 64 bit elf structures.
This patch consolidates the two by using macros to define the 32
and 64 bit names in a recordmcount.h file, and then by just defining
a RECORD_MCOUNT_64 macro and including recordmcount.h twice we
create the funtions for both the 32 bit version as well as the
64 bit version using one code source.
Cc: John Reiser <[email protected]>
Signed-off-by: Steven Rostedt <[email protected]>
|
|
This patch adds the support for the C version of recordmcount and
compile times show ~ 12% improvement.
After verifying this works, other archs can add:
HAVE_C_MCOUNT_RECORD
in its Kconfig and it will use the C version of recordmcount
instead of the perl version.
Cc: <[email protected]>
Cc: Michal Marek <[email protected]>
Cc: [email protected]
Cc: John Reiser <[email protected]>
Signed-off-by: Steven Rostedt <[email protected]>
|
|
Currently, the mcount callers are found with a perl script that does
an objdump on every file in the kernel. This is a C version of that
same code which should increase the performance time of compiling
the kernel with dynamic ftrace enabled.
Signed-off-by: John Reiser <[email protected]>
[ Updated the code to include .text.unlikely section as well as
changing the format to follow Linux coding style. ]
Signed-off-by: Steven Rostedt <[email protected]>
|
|
Same fix as in 13797b77d419fc1b16eebf2993bf7b5cea65f0bf is needed for the "new"
line invoking _smp_mflags for modules_install. Without the fix, `make
binrpm-pkg` fails with:
+ make '%{_smp_mflags}' KBUILD_SRC= modules_install
make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
make[2]: *** No rule to make target `%{_smp_mflags}'. Stop.
error: Bad exit status from /var/tmp/rpm-tmp.8S9B9e (%install)
Signed-off-by: Nishanth Aravamudan <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
This allows to write the semantic patches with code sharing
for the matching parts.
Signed-off-by: Nicolas Palix <[email protected]>
Signed-off-by: Julia Lawall <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
spatch now returns -1 when a virtual rule (given with
-D on the command line) is not defined in the semantic patch.
Using this spatch feature, coccicheck is now
tries several modes by default, in the order:
patch, report, context, org
Signed-off-by: Nicolas Palix <[email protected]>
Signed-off-by: Julia Lawall <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
Use new comment format to separate proposed commit message
and information about generated false positives
Signed-off-by: Nicolas Palix <[email protected]>
Signed-off-by: Julia Lawall <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
Improve user information with a new kind of comment
about semantic patch output.
Fix spelling.
Signed-off-by: Nicolas Palix <[email protected]>
Signed-off-by: Julia Lawall <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
This reverts commit 71ebc01, which was a 2.6.36-only stopgap solution.
Signed-off-by: Michal Marek <[email protected]>
|
|
We need to revert the temporary hack in 71ebc01, hence the merge.
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
* 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
kbuild: fix oldnoconfig to do the right thing
kconfig: Temporarily disable dependency warnings
kconfig: delay symbol direct dependency initialization
|
|
Commit 861b4ea4 broke oldnoconfig when removed the oldnoconfig checks on
if (input_mode == nonint_oldconfig ||
input_mode == oldnoconfig) {
if (input_mode == nonint_oldconfig &&
sym->name &&
!sym_is_choice_value(sym)) {
to avoid oldnoconfig chugging through the else stanza.
Fix that to restore expected behaviour (which I've confirmed in the
Fedora kernel build that the configs end up looking the same.)
Signed-off-by: Kyle McMartin <[email protected]>
Acked-by: Sam Ravnborg <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
After fixing a use-after-free bug in kconfig, a 'make defconfig' or
'make allmodconfig' fills the screen with warnings that were not
detected before. Given that we are close to the release now, disable the
warnings temporarily and deal with them after 2.6.36.
Signed-off-by: Michal Marek <[email protected]>
|
|
This prevents the buffers being overflowed when using a config
file with a long name. PATH_MAX is used elsewhere in the same
file, so use it here as well.
Signed-off-by: Will Newton <[email protected]>
Acked-by: WANG Cong <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
This fixes the use-after-free and associated crash in kconfig introduced
in commit 246cf9c26bf11f2bffbecea6e5bd222eee7b1df8.
Signed-off-by: Arnaud Lacombe <[email protected]>
Acked-by: Catalin Marinas <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
Reported-by: Stephen Rothwell <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
Commit 2e7a091 made struct file->name a const char*, but forgot to
constify all users of it.
Reported-by: Stephen Rothwell <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
commit 8baefd30b5b0101aa07aa75da44a9eee881eed28 of linux-next replaced
a `switch()' statement with some `if()' statements, but left `break's
in the `switch()' statement untouched. This cause read config loop to
exit and so "make oldconfig" is not much usable (see below).
> $ make oldconfig
><snip>
> scripts/kconfig/conf --oldconfig Kconfig
> #
> # using defaults found in /boot/config-2.6.34-ccs-r1
> #
> *
> * Restart config...
> *
> *
> * General setup
> *
> Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [N/y/?] (NEW)
(I've already have "CONFIG_EXPERIMENTAL=y" in the old config file. But
that's not read here.)
This patch should fix this problem.
Signed-off-by: Naohiro Aota <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
As no error was handled, we wouldn't be able to know when an error does
occur. The fix preserves error messages while it doesn't let unnecessary
compiling warnings show up.
Signed-off-by: Jean Sacren <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
http://github.com/lacombar/linux-2.6 into kbuild/kconfig
* 'kbuild/kconfig/kbuild-generic-v7' of http://github.com/lacombar/linux-2.6:
kbuild: migrate all arch to the kconfig mainmenu upgrade
kconfig: expand file names
kconfig: use the file's name of sourced file
kconfig: constify file name
kconfig: don't emit warning upon rootmenu's prompt redefinition
kconfig: replace KERNELVERSION usage by the mainmenu's prompt
kconfig: delay gconf window initialization
kconfig: expand by default the rootmenu's prompt
kconfig: add a symbol string expansion helper
kconfig: regen parser
kconfig: implement the `mainmenu' directive
kconfig: allow PACKAGE to be defined on the compiler's command-line
kconfig: rephrase help texts/comments not to include the package name
kconfig: allow build-time definition of the internal config prefix
kconfig: rephrase help text not to mention the internal prefix
kconfig: replace a `switch()' statement by a more flexible `if()' statement
|
|
The following build bug occurs on distcc builds:
CC arch/x86/kernel/asm-offsets.s
In file included from include/linux/module.h:24,
from include/linux/crypto.h:22,
from arch/x86/kernel/asm-offsets_64.c:9,
from arch/x86/kernel/asm-offsets.c:5:
include/trace/events/module.h: In function 'trace_module_load':
include/trace/events/module.h:18: error: expected '(' before 'goto'
include/trace/events/module.h:18: error: expected identifier or '*' before '(' token
It triggers because distcc is invoked by turning $CC into "distcc gcc",
but gcc-goto.sh check script was using $1 not $@ to expand parameters.
Cc: Jason Baron <[email protected]>
Cc: Steven Rostedt <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
|
|
Convert the 'dynamic debug' infrastructure to use jump labels.
Signed-off-by: Jason Baron <[email protected]>
LKML-Reference: <b77627358cea3e27d7be4386f45f66219afb8452.1284733808.git.jbaron@redhat.com>
Signed-off-by: Steven Rostedt <[email protected]>
|
|
base patch to implement 'jump labeling'. Based on a new 'asm goto' inline
assembly gcc mechanism, we can now branch to labels from an 'asm goto'
statment. This allows us to create a 'no-op' fastpath, which can subsequently
be patched with a jump to the slowpath code. This is useful for code which
might be rarely used, but which we'd like to be able to call, if needed.
Tracepoints are the current usecase that these are being implemented for.
Acked-by: David S. Miller <[email protected]>
Signed-off-by: Jason Baron <[email protected]>
LKML-Reference: <ee8b3595967989fdaf84e698dc7447d315ce972a.1284733808.git.jbaron@redhat.com>
[ cleaned up some formating ]
Signed-off-by: Steven Rostedt <[email protected]>
|
|
In 60f33b8 (kconfig: get rid of stray a.o, support ncursesw, 2006-01-15),
support to link menuconfig with ncursesw library was added. To compute
the linker command option -l, we check "libncursesw.{so,a,dylib}" to allow
ncursesw to be used as a replacement ncurses. However, when checking what
header file to include, we do not check /usr/include/ncursesw directory.
Add /usr/include/ncursesw to the list of directories that are checked.
With this patch, on my Debian Lenny box with libncursesw5-dev package but
not libncurses5-dev package, I can say "make menuconfig".
Signed-off-by: Junio C Hamano <[email protected]>
Acked-by: Sam Ravnborg <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
This will allow to use the following construct in source files:
config FOO
string
default "foo"
source "$FOO/Kconfig"
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
This silences the warning printed upon prompt redefinition for the rootmenu.
We will encounter this redefinition when a "mainmenu" statement is specified and
override the default prompt.
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
Delay the window initialization to let the rootmenu's prompt be
initialized as it will be used to get the window's title.
Signed-off-by: Arnaud Lacombe <[email protected]>
|
|
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
If specified, the directive must be placed at the top of the Kconfig file.
We need to change the grammar to make the mainmenu directive set the
`rootmenu' prompt. This reflect how menu_add_prompt() works internally, ie.
set the prompt of the `current_entry', pointing originally to `rootmenu'.
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Randy Dunlap <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
With the upcoming dynamical configuration prefix, we can no longer assume that
the prefix will start by a 'C'. As such, we can no longer hardcode this value in
the `case ...:', so replace the `switch() { ... }' statement by a more flexible
'if () { ... }' statement.
Signed-off-by: Arnaud Lacombe <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Reviewed-by: Michal Marek <[email protected]>
|
|
As discussed, remove the DOCTYPE declaration since libglade validates
the file against itself..
Signed-off-by: Justin P. Mattock <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
|
|
Signed-off-by: Michal Marek <[email protected]>
|
|
On system with QT3 and QT4 qmake in PATH may be from QT3. So we use
pkg-config for proper QT4 detection.
By reqesting cflags and libs for either QtCore, QtGui and QtSupport include
dirs and libs get listed several times, but so we won't mis anything
Signed-off-by: Alexander Stein <[email protected]>
Acked-by: Randy Dunlap <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|
|
When getting the help for a choice menu with a help section (for example
the "Choose SLAB allocator" menu) nconfig pops up a window with nothing
inside it. This is due to show_help() passing an empty string to
show_scroll_win()'s 3rd argument. The option really does have help
though, but it isn't a config symbol, so just add the help text for
the option, and don't try to add anything else like the config option
name.
Signed-off-by: Stephen Boyd <[email protected]>
Acked-by: Nir Tzachar <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
|