- 25 5月, 2015 1 次提交
-
-
由 Martin Walch 提交于
expr_eliminate_dups2() in scripts/kconfig/expr.c applies two invalid inference rules: (FOO || BAR) && (!FOO && !BAR) -> n (FOO && BAR) || (!FOO || !BAR) -> y They would be correct in propositional logic, but this is a three-valued logic, and here it is wrong in that it changes semantics. It becomes immediately visible when assigning the value 1 to both, FOO and BAR: (FOO || BAR) && (!FOO && !BAR) -> min(max(1, 1), min(2-1, 2-1)) = min(1, 1) = 1 while n evaluates to 0 and (FOO && BAR) || (!FOO || !BAR) -> max(min(1, 1), max(2-1, 2-1)) = max(1, 1) = 1 with y evaluating to 2. Fix it by removing expr_eliminate_dups2() and the functions that have no use anywhere else: expr_extract_eq_and(), expr_extract_eq_or(), and expr_extract_eq() from scripts/kconfig/expr.c Currently the bug is not triggered in mainline, so this patch does not modify the configuration space there. To observe the bug consider this example: config MODULES def_bool y option modules config FOO def_tristate m config BAR def_tristate m config TEST1 def_tristate y depends on (FOO || BAR) && (!FOO && !BAR) if TEST1 = n comment "TEST1 broken" endif config TEST2 def_tristate y depends on (FOO && BAR) || (!FOO || !BAR) if TEST2 = y comment "TEST2 broken" endif config TEST3 def_tristate y depends on m && !m if TEST3 = n comment "TEST3 broken" endif TEST1, TEST2 and TEST3 should all evaluate to m, but without the patch, none of them does. It is probably not obvious that TEST3 is the same bug, but it becomes clear when considering what happens internally to the expression m && !m": First it expands to (m && MODULES) && !(m && MODULES), then it is transformed into (m && MODULES) && (!m || !MODULES), and finally due to the bug it is replaced with n. As a side effect, this patch reduces code size in expr.c by roughly 10% and slightly improves startup time for all configuration frontends. Signed-off-by: NMartin Walch <walch.martin@web.de> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 09 4月, 2015 1 次提交
-
-
由 Michal Marek 提交于
Add an -s option to the various frontends and pass it when make -s is used. Also, use $(kecho) instead of @echo in the Makefile. Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 08 4月, 2015 1 次提交
-
-
由 Michal Marek 提交于
Use a single rule for targets handled directly by the conf program. Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 24 3月, 2015 6 次提交
-
-
由 Masahiro Yamada 提交于
"scripts/kconfig/merge_config.sh && make oldconfig" works well enough for merging local config fragments, but Kbuild currently has the entry points only for "kvmconfig" and "tinyconfig". This commit provides the generic target for mergeconfig, so we can manage our own config fragments easily: put "foo.config" in arch/$(SRCARCH)/configs/ or kernel/configs/, and then run "make foo.config". Now "make kvmconfig" is just a shorthand of "make kvm_guest.config". Likewise, "make tinyconfig" is equivalent to "make allnoconfig tiny.config". Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: NJosh Triplett <josh@joshtriplett.org> Reviewed-by: NDarren Hart <dvhart@linux.intel.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Masahiro Yamada 提交于
The variable "MAKE" is used to store the command name that has invoked the Makefile. (Actually, it is already set to "make" if you run this script from a Makefile.) In this script, however, it is used to determine if Make should be run or not. It is not what we usually expect. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: NJosh Triplett <josh@joshtriplett.org> Reviewed-by: NDarren Hart <dvhart@linux.intel.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Masahiro Yamada 提交于
It is true that we do not want to move the code too far to the right, but something like below is not preferred: if [ "x$PREV_VAL" != "x$NEW_VAL" ] ; then echo Value of $CFG is redefined by fragment $MERGE_FILE: echo Previous value: $PREV_VAL echo New value: $NEW_VAL echo elif [ "$WARNREDUN" = "true" ]; then echo Value of $CFG is redundant by fragment $MERGE_FILE: fi To fix this, call "continue" if the "grep" command fails to find the given CONFIG. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: NJosh Triplett <josh@joshtriplett.org> Reviewed-by: NDarren Hart <dvhart@linux.intel.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Masahiro Yamada 提交于
Kbuild always runs in $(objtree). Actually, $(objtree) is always set to "." by the top-level Makefile. We can omit "-O $(objtree)" and "$(objtree)/". Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: NJosh Triplett <josh@joshtriplett.org> Reviewed-by: NDarren Hart <dvhart@linux.intel.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Masahiro Yamada 提交于
Currently, "make tinyconfig" does not work with "-j" option. $ make mrproper $ make -j8 tinyconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf --allnoconfig Kconfig # # configuration written to .config # scripts/kconfig/Makefile:122: *** You need an existing .config for this target. Stop. make: *** [tinyconfig] Error 2 As shown above, "allnoconfig" has created the .config file before mergeconfig is called, but Make still raises a false alarm because of some sort of race condition. We can fix this issue by moving the error check to the shell script. Anyway, scripts/kconfig/merge_config.sh always requires an existing .config as a base file. It is reasonable to check its existence in the shell script. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: NJosh Triplett <josh@joshtriplett.org> Reviewed-by: NDarren Hart <dvhart@linux.intel.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Masahiro Yamada 提交于
If "make kvmconfig" is run with "-j" option, a warning message, "jobserver unavailable: using -j1. Add `+' to parent make rule.", is displayed. $ make -s defconfig *** Default configuration is based on 'x86_64_defconfig' # # configuration written to .config # $ make -j8 kvmconfig Using ./.config as base Merging ./arch/x86/configs/kvm_guest.config [ snip ] # # merged configuration written to ./.config (needs make) # make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. scripts/kconfig/conf --oldconfig Kconfig [ snip ] # # configuration written to .config # Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: NJosh Triplett <josh@joshtriplett.org> Reviewed-by: NDarren Hart <dvhart@linux.intel.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 25 2月, 2015 4 次提交
-
-
由 Michal Marek 提交于
Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Michal Marek 提交于
Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Michal Marek 提交于
This was originally meant for dlopen()ing a potential kconfig shared library. The unused dlopen code has already been removed in commit 5a6f8d2b (kconfig: nuke LKC_DIRECT_LINK cruft), so let's remove the rest. The lkc_proto.h change was made with the following sed script: sed -r 's/^P\(([^,]*), *([^,]*), *(.*)\);/\2 \1\3;/' Plus some manual adjustments. Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Masahiro Yamada 提交于
Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 27 1月, 2015 1 次提交
-
-
由 Colin Ian King 提交于
Although on some systems va_end is a no-op, it is good practice to use va_end, especially since the manual states: "Each invocation of va_start() must be matched by a corresponding invocation of va_end() in the same function." Signed-off-by: NColin Ian King <colin.king@canonical.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 08 1月, 2015 1 次提交
-
-
由 Olof Johansson 提交于
Two or more arguments are always expected. Show usage and exit if given less. Signed-off-by: NOlof Johansson <olof@lixom.net> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 09 12月, 2014 1 次提交
-
-
由 Arjun Sreedharan 提交于
The calloc() and xcalloc() functions takes @nmemb first and then @size. Fix all w/ pattern "calloc\s*(\s*sizeof". Signed-off-by: NArjun Sreedharan <arjun024@gmail.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Ingo Molnar <mingo@redhat.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1417866043-1877-1-git-send-email-arjun024@gmail.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
-
- 28 11月, 2014 1 次提交
-
-
由 Peter Kümmel 提交于
Warning: In file included from scripts/kconfig/zconf.tab.c:2537:0: scripts/kconfig/menu.c: In function ‘get_symbol_str’: scripts/kconfig/menu.c:590:18: warning: ‘jump’ may be used uninitialized in this function [-Wmaybe-uninitialized] jump->offset = strlen(r->s); Simplifies the test logic because (head && local) means (jump != 0) and makes GCC happy when checking if the jump pointer was initialized. Signed-off-by: NPeter Kümmel <syntheticpp@gmx.net> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 20 11月, 2014 1 次提交
-
-
由 Andrey Utkin 提交于
There's no such thing as "list_struct". Signed-off-by: NAndrey Utkin <andrey.krieger.utkin@gmail.com> Acked-by: NSteven Rostedt <rostedt@goodmis.org> Acked-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com> Acked-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com> Acked-by: NAlex Deucher <alexander.deucher@amd.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 23 9月, 2014 1 次提交
-
-
由 Bjørn Forsman 提交于
This makes "make menuconfig" also work on systems where ncurses is not installed in a standard location (such as on NixOS). This patch changes ccflags() so that it tries pkg-config first, and only if pkg-config fails does it go back to the fallback/manual checks. This is the same algorithm that ldflags() already uses. Signed-off-by: NBjørn Forsman <bjorn.forsman@gmail.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 22 8月, 2014 2 次提交
-
-
由 Brian Norris 提交于
Currently, Kconfig descriptions that use multi-byte UTF-8 characters (such as MTD_NAND_CAFE) will have their menu entries dropped from the 'make nconfig' ncurses menu, and all subsequent entries in the same window will be omitted. This seems to be due to the ncurses 'menu' library, which does not traditionally handle UTF-8 >8-bit characters properly. The ncursesw library ('w' is for "wide") is written to handle these UTF-8 characters, and is practically a drop-in replacement at the source level. Use it by default, if available. Link: https://bugzilla.kernel.org/show_bug.cgi?id=43067Signed-off-by: NBrian Norris <computersforpeace@gmail.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Martin Walch <walch.martin@web.de> Acked-by: NSam Ravnborg <sam@ravnborg.org> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Brian Norris 提交于
Signed-off-by: NBrian Norris <computersforpeace@gmail.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 20 8月, 2014 1 次提交
-
-
由 Michal Marek 提交于
The Makefiles call the respective interpreter explicitly, but this makes it easier to use the scripts manually. Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 19 8月, 2014 2 次提交
-
-
由 Masahiro Yamada 提交于
Now mconf, qconf, gconf, nconf are always added to hostprogs-y. Files added to hostprogs-y are removed by "make clean". Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Masahiro Yamada 提交于
Now it is harmless to add all host programs to hostprogs-y. Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 09 8月, 2014 2 次提交
-
-
由 Josh Triplett 提交于
Since commit 5d2acfc7 ("kconfig: make allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1, "make allnoconfig" disables every possible config option. However, a few configuration options (CC_OPTIMIZE_FOR_SIZE, OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few choices exist (compression, highmem, allocator) for which a non-default option produces a smaller kernel. Add a "tinyconfig" option, which starts from allnoconfig and then sets these options to configure the tiniest possible kernel. This provides a better baseline for embedded systems or efforts to reduce kernel size. Signed-off-by: NJosh Triplett <josh@joshtriplett.org>
-
由 Josh Triplett 提交于
The new mergeconfig helper makes it easier to add other partial configurations similar to kvmconfig. Architecture-independent portions of those partial configurations should go in kernel/configs/${name}.config, and architecture-dependent portions should go in arch/${arch}/configs/${name}.config. Based on a patch by Luis R. Rodriguez <mcgrof@suse.com>. Originally-Signed-off-by: NLuis R. Rodriguez <mcgrof@suse.com> Modified to make the helper name more general than just virtualization, support architecture-dependent and architecture-independent partial configurations, move the helper and kvmconfig to scripts/kconfig/Makefile, and factor out more of the common file path. Signed-off-by: NJosh Triplett <josh@joshtriplett.org>
-
- 10 6月, 2014 3 次提交
-
-
由 Masahiro Yamada 提交于
Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Masahiro Yamada 提交于
The directory include/config is used only for silentoldconfig, localmodconfig, localyesconfig. Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Masahiro Yamada 提交于
Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com>
-
- 30 4月, 2014 1 次提交
-
-
由 Masahiro Yamada 提交于
Signed-off-by: NMasahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
- 08 4月, 2014 1 次提交
-
-
由 Josh Triplett 提交于
"make allnoconfig" exists to ease testing of minimal configurations. Documentation/SubmitChecklist includes a note to test with allnoconfig. This helps catch missing dependencies on common-but-not-required functionality, which might otherwise go unnoticed. However, allnoconfig still leaves many symbols enabled, because they're hidden behind CONFIG_EMBEDDED or CONFIG_EXPERT. For instance, allnoconfig still has CONFIG_PRINTK and CONFIG_BLOCK enabled, so drivers don't typically get build-tested with those disabled. To address this, introduce a new Kconfig option "allnoconfig_y", used on symbols which only exist to hide other symbols. Set it on CONFIG_EMBEDDED (which then selects CONFIG_EXPERT). allnoconfig will then disable all the symbols hidden behind those. Signed-off-by: NJosh Triplett <josh@joshtriplett.org> Tested-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Michal Marek <mmarek@suse.cz> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 21 12月, 2013 1 次提交
-
-
由 Steven Rostedt (Red Hat) 提交于
Currently localmodconfig will miss dependencies from the default option. For example: config FOO default y if BAR || ZOO If FOO is needed for a module and is set to '=m', and so are BAR or ZOO, localmodconfig will not see that BOO or ZOO are also needed for the foo module, and will incorrectly disable them. Link: http://lkml.kernel.org/r/20131218175137.162937350@goodmis.orgSigned-off-by: NSteven Rostedt <rostedt@goodmis.org>
-
- 09 10月, 2013 6 次提交
-
-
由 Ben Hutchings 提交于
Currently the qconf program invoked by 'make xconfig' stores GUI settings in the file ~/.config/Unknown\ Organization.conf. This name is apparently generated by the QSettings class when no organisation or application name are specified. This is obviously not a sensible filename (nor does it seem sensible that these QSettings parameters are optional!). Pass the names 'kernel.org' and 'qconf', resuling in the filename ~/.config/kernel.org/qconf.conf. Signed-off-by: NBen Hutchings <ben@decadent.org.uk> Reviewed-by: N"Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: N"Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: N"Yann E. MORIN" <yann.morin.1998@free.fr>
-
由 Martin Walch 提交于
The struct gstr has a capacity that may differ from the actual string length. However, a string manipulation in the function search_conf made the assumption that it is the same, which led to messing up some search results, especially when the content of the gstr in use had not yet reached at least 63 chars. Signed-off-by: NMartin Walch <walch.martin@web.de> Acked-by: NWang YanQing <udknight@gmail.com> Acked-by: NBenjamin Poirier <bpoirier@suse.de> Reviewed-by: N"Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: N"Yann E. MORIN" <yann.morin.1998@free.fr>
-
由 Martin Walch 提交于
The definition ws [ \n\t] is not used anywhere. Drop it to avoid confusion. As it is a dead definition, any changes in the resulting code generated by flex would be surprising (actually testing this showed that there are really no changes). So, there is no need to touch the existing zconf.lex.c_shipped. Signed-off-by: NMartin Walch <walch.martin@web.de> Reviewed-by: N"Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: N"Yann E. MORIN: <yann.morin.1998@free.fr>
-
由 Martin Walch 提交于
Each symbol must have exactly one type assigned. However, if a symbol happens to have two different types assigned at runtime, a warning is printed and the first type is preserved while the second type is being ignored. The warning message says type of <symbol name> redefined from <first type> to <second type> which may be misleading as it may create the impression that the second type replaces the first type. This patch clarifies this by changing the warning to ignoring type redefinition of <symbol name> from <first type> to <second type> Signed-off-by: NMartin Walch <walch.martin@web.de> Acked-by: NWang YanQing <udknight@gmail.com> Reviewed-by: N"Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: N"Yann E. MORIN" <yann.morin.1998@free.fr>
-
由 Martin Walch 提交于
This fixes lots of typos in comments and strings. It also updates the documentation strings in mconf to reflect the changes in the user interface from the two commits 6364fd0c menuconfig: Add Save/Load buttons 1bdbac47 menuconfig: Get rid of the top-level entries for "Load an Alternate/Save an Alternate" And it updates the layout of the example search result, i. e. moves down the "Defined at" and "Depends on" lines and adds a symbol state ([=n]) to the symbol in the "Selected by" line. Furthermore, the help texts now should fit in 80 columns again when viewed in mconf. Signed-off-by: NMartin Walch <walch.martin@web.de> Reviewed-by: NJean Delvare <jdelvare@suse.de> Reviewed-by: NWang YanQing <udknight@gmail.com> Signed-off-by: N"Yann E. MORIN" <yann.morin.1998@free.fr>
-
由 Martin Walch 提交于
replace the question mark in the comment after SYMBOL_WRITE with an explanation Signed-off-by: NMartin Walch <walch.martin@web.de> Signed-off-by: N"Yann E. MORIN" <yann.morin.1998@free.fr>
-
- 05 9月, 2013 2 次提交
-
-
由 Yann E. MORIN 提交于
Previously, it was possible to have more than one symbol with the 'option modules' attached to them, although only the last one would in fact control tristates. Since this does not make much sense, only allow at most one symbol to control tristates. Note: it is still possible to have more than one symbol that control tristates, but indirectly: config MOD1 bool "mod1" select MODULES config MOD2 bool "mod2" select MODULES config MODULES bool option modules Signed-off-by: N"Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-
由 Yann E. MORIN 提交于
Regenerate bison parser after changes made in: 6902dccf: kconfig: do not special-case 'MODULES' symbol Signed-off-by: N"Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: NMichal Marek <mmarek@suse.cz>
-