20 Jan, 2021

1 commit


30 Dec, 2020

1 commit

  • [ Upstream commit 135b4957eac43af2aedf8e2a277b9540f33c2558 ]

    $(error-if,...) is expanded to an empty string. Currently, it relies on
    eval_clause() returning xstrdup("") when all attempts for expansion fail,
    but the correct implementation is to make do_error_if() return xstrdup("").

    Fixes: 1d6272e6fe43 ("kconfig: add 'info', 'warning-if', and 'error-if' built-in functions")
    Signed-off-by: Masahiro Yamada
    Signed-off-by: Sasha Levin

    Masahiro Yamada
     

23 Oct, 2020

2 commits

  • Pull Kconfig updates from Masahiro Yamada:

    - Remove unused or useless code from qconf

    - Allow to edit "int", "hex", "string" options in place, and remove the
    separate edit box from qconf

    * tag 'kconfig-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kconfig: qconf: create QApplication after option checks
    kconfig: qconf: remove Y, M, N columns
    kconfig: qconf: remove ConfigView class
    kconfig: qconf: move setShowName/Range() to ConfigList from ConfigView
    kconfig: qconf: remove ConfigLineEdit class
    kconfig: qconf: allow to edit "int", "hex", "string" menus in-place
    kconfig: qconf: show data column all the time
    kconfig: qconf: move ConfigView::updateList(All) to ConfigList class
    kconfig: qconf: remove unused ConfigItem::okRename()
    kconfig: qconf: update the intro message to match to the current code
    kconfig: qconf: reformat the intro message

    Linus Torvalds
     
  • Pull Kbuild updates from Masahiro Yamada:

    - Support 'make compile_commands.json' to generate the compilation
    database more easily, avoiding stale entries

    - Support 'make clang-analyzer' and 'make clang-tidy' for static checks
    using clang-tidy

    - Preprocess scripts/modules.lds.S to allow CONFIG options in the
    module linker script

    - Drop cc-option tests from compiler flags supported by our minimal
    GCC/Clang versions

    - Use always 12-digits commit hash for CONFIG_LOCALVERSION_AUTO=y

    - Use sha1 build id for both BFD linker and LLD

    - Improve deb-pkg for reproducible builds and rootless builds

    - Remove stale, useless scripts/namespace.pl

    - Turn -Wreturn-type warning into error

    - Fix build error of deb-pkg when CONFIG_MODULES=n

    - Replace 'hostname' command with more portable 'uname -n'

    - Various Makefile cleanups

    * tag 'kbuild-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (34 commits)
    kbuild: Use uname for LINUX_COMPILE_HOST detection
    kbuild: Only add -fno-var-tracking-assignments for old GCC versions
    kbuild: remove leftover comment for filechk utility
    treewide: remove DISABLE_LTO
    kbuild: deb-pkg: clean up package name variables
    kbuild: deb-pkg: do not build linux-headers package if CONFIG_MODULES=n
    kbuild: enforce -Werror=return-type
    scripts: remove namespace.pl
    builddeb: Add support for all required debian/rules targets
    builddeb: Enable rootless builds
    builddeb: Pass -n to gzip for reproducible packages
    kbuild: split the build log of kallsyms
    kbuild: explicitly specify the build id style
    scripts/setlocalversion: make git describe output more reliable
    kbuild: remove cc-option test of -Werror=date-time
    kbuild: remove cc-option test of -fno-stack-check
    kbuild: remove cc-option test of -fno-strict-overflow
    kbuild: move CFLAGS_{KASAN,UBSAN,KCSAN} exports to relevant Makefiles
    kbuild: remove redundant CONFIG_KASAN check from scripts/Makefile.kasan
    kbuild: do not create built-in objects for external module builds
    ...

    Linus Torvalds
     

24 Sep, 2020

11 commits


20 Sep, 2020

2 commits

  • Since commit 68fd110b3e7e ("kconfig: qconf: remove redundant help in
    the info view"), the help message is no longer displayed.

    I intended to drop duplicated "Symbol:", "Type:", but precious info
    about help and reverse dependencies was lost too.

    Revive it now.

    "defined at" is contained in menu_get_ext_help(), so I made sure
    to not display it twice.

    Fixes: 68fd110b3e7e ("kconfig: qconf: remove redundant help in the info view")
    Reported-by: Maxim Levitsky
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • "make HOSTCXX=clang++ xconfig" reports the following:

    HOSTCXX scripts/kconfig/qconf.o
    In file included from scripts/kconfig/qconf.cc:23:
    In file included from scripts/kconfig/lkc.h:15:
    scripts/kconfig/lkc_proto.h:26:13: warning: 'get_relations_str' has C-linkage specified, but returns incomplete type 'struct gstr' which could be incompatible with C [-Wreturn-type-c-linkage]
    struct gstr get_relations_str(struct symbol **sym_arr, struct list_head *head);
    ^

    Currently, get_relations_str() is declared before the struct gstr
    definition.

    Move all declarations of menu.c functions below.

    BTW, some are declared in lkc.h and some in lkc_proto.h, but the
    difference is unclear. I guess some refactoring is needed.

    Signed-off-by: Masahiro Yamada
    Acked-by: Boris Kolpackov

    Masahiro Yamada
     

18 Sep, 2020

1 commit

  • Commit c9b09a9249e6 ("kconfig: qconf: use delete[] instead of delete
    to free array") fixed two lines, but there is one more.
    (cppcheck does not report it for some reason...)

    This was detected by Clang.

    "make HOSTCXX=clang++ xconfig" reports the following:

    scripts/kconfig/qconf.cc:1279:2: warning: 'delete' applied to a pointer that was allocated with 'new[]'; did you mean 'delete[]'? [-Wmismatched-new-delete]
    delete data;
    ^
    []
    scripts/kconfig/qconf.cc:1239:15: note: allocated with 'new[]' here
    char *data = new char[count + 1];
    ^

    Fixes: c4f7398bee9c ("kconfig: qconf: make debug links work again")
    Fixes: c9b09a9249e6 ("kconfig: qconf: use delete[] instead of delete to free array")
    Signed-off-by: Masahiro Yamada
    Reviewed-by: Nick Desaulniers

    Masahiro Yamada
     

03 Sep, 2020

2 commits


26 Aug, 2020

1 commit

  • Some targets (localyesconfig, localmodconfig, defconfig) hide the
    command running, but the others do not.

    Users know which Kconfig flavor they are running, so it is OK to hide
    the command. Add $(Q) to all commands consistently. If you want to see
    the full command running, pass V=1 from the command line.

    syncconfig is the exceptional case, which occurs without explicit
    command invocation by the user. Display the Kbuild-style log for it.
    The ugly bare log will go away.

    [Before]

    scripts/kconfig/conf --syncconfig Kconfig

    [After]

    SYNC include/config/auto.conf

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

21 Aug, 2020

3 commits


18 Aug, 2020

3 commits

  • This is not used at all.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • I do not know when ConfigInfoView::createStandardContextMenu() is
    called.

    Because QTextEdit::createStandardContextMenu() is not virtual,
    ConfigInfoView::createStandardContextMenu() cannot override it.
    Even if right-click the ConfigInfoView window, the "Show Debug Info"
    menu does not show up.

    Build up the menu in the constructor, and invoke it from the
    contextMenuEvent().

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • If you right-click in the ConfigList window, you will see the following
    messages in the console:

    QObject::connect: No such slot QAction::setOn(bool) in scripts/kconfig/qconf.cc:888
    QObject::connect: (sender name: 'config')
    QObject::connect: No such slot QAction::setOn(bool) in scripts/kconfig/qconf.cc:897
    QObject::connect: (sender name: 'config')
    QObject::connect: No such slot QAction::setOn(bool) in scripts/kconfig/qconf.cc:906
    QObject::connect: (sender name: 'config')

    Right, there is no such slot in QAction. I think this is a typo of
    setChecked.

    Due to this bug, when you toggled the menu "Option->Show Name/Range/Data"
    the state of the context menu was not previously updated. Fix this.

    Fixes: d5d973c3f8a9 ("Port xconfig to Qt5 - Put back some of the old implementation(part 2)")
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

14 Aug, 2020

13 commits