From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from conuserg-12.nifty.com (conuserg-12.nifty.com [210.131.2.79]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CEE5F23D4 for ; Sun, 1 May 2022 08:42:30 +0000 (UTC) Received: from grover.sesame (133-32-177-133.west.xps.vectant.ne.jp [133.32.177.133]) (authenticated) by conuserg-12.nifty.com with ESMTP id 2418f2Rl008518; Sun, 1 May 2022 17:41:02 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-12.nifty.com 2418f2Rl008518 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1651394463; bh=/Fwo8BKbXbId96hk2BkfsZ9ZH5JZlI0k6RMZnYAd2+s=; h=From:To:Cc:Subject:Date:From; b=XlAJPbMDKox25Yl5u2CLXEnwIVnMtILl/CeHSs5aPJgF2JQS0uCpY1izQAbZI0xyk wnYI0OeL2hJPksZfZnZJRQEIwklKqKwXcBwWEaTLMCogVT+gokAEU1gx7eskVvTccm Gf7cIuLSSr4D6XH35nUS/f0eLnYw9KUkPIAtR32D6MHdu3kWaEh+HGVSIrXhcbgrTU B9Fbr/eqjEiG+Modt0xOIrcUwCnrpKAiEFRyuY5TfIWKbVyKv5toPGn/cyaHdMqnK3 Gms098Xd8Z6dlY1p2s2gYQRuFi9Go0YpO+CdXAJLuPT6MjUxgP3kXFex7JJfN+WI9c 83QE0Y0xQ2cMA== X-Nifty-SrcIP: [133.32.177.133] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Masahiro Yamada , Michal Marek , Nathan Chancellor , Nick Desaulniers , Nicolas Schier , llvm@lists.linux.dev Subject: [PATCH v2 00/26] kbuild: yet another series of cleanups (modpost and LTO) Date: Sun, 1 May 2022 17:40:06 +0900 Message-Id: <20220501084032.1025918-1-masahiroy@kernel.org> X-Mailer: git-send-email 2.32.0 Precedence: bulk X-Mailing-List: llvm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This is the third batch of cleanups in this development cycle. Major changes in v2: - V1 did not work with CONFIG_MODULE_REL_CRCS. I fixed this for v2. - Reflect some review comments in v1 - Refactor the code more - Avoid too long argument error Masahiro Yamada (26): modpost: use bool type where appropriate modpost: change mod->gpl_compatible to bool type modpost: import include/linux/list.h modpost: traverse modules in order modpost: add sym_add_unresolved() helper modpost: traverse unresolved symbols in order modpost: use doubly linked list for dump_lists modpost: traverse the namespace_list in order modpost: dump Module.symvers in the same order of modules.order modpost: move static EXPORT_SYMBOL check to check_exports() modpost: make multiple export error modpost: make sym_add_exported() always allocate a new symbol modpost: split new_symbol() to symbol allocation and hash table addition modpost: mitigate false-negatives for static EXPORT_SYMBOL checks kbuild: record symbol versions in *.cmd files kbuild: generate a list of objects in vmlinux modpost: extract symbol versions from *.cmd files modpost: generate linker script to collect symbol versions kbuild: embed symbol versions at final link of vmlinux or modules kbuild: stop merging *.symversions genksyms: adjust the output format for .cmd files kbuild: do not create *.prelink.o for Clang LTO or IBT kbuild: make built-in.a rule robust against too long argument error kbuild: make *.mod rule robust against too long argument error modpost: simplify the ->is_static initialization modpost: use hlist for hash table implementation .gitignore | 1 + Makefile | 1 + scripts/Kbuild.include | 4 + scripts/Makefile.build | 118 +++------ scripts/Makefile.lib | 7 - scripts/Makefile.modfinal | 6 +- scripts/Makefile.modpost | 10 +- scripts/genksyms/genksyms.c | 17 +- scripts/link-vmlinux.sh | 34 +-- scripts/mod/file2alias.c | 2 - scripts/mod/list.h | 265 +++++++++++++++++++ scripts/mod/modpost.c | 501 ++++++++++++++++++++++-------------- scripts/mod/modpost.h | 24 +- scripts/mod/sumversion.c | 8 +- 14 files changed, 650 insertions(+), 348 deletions(-) create mode 100644 scripts/mod/list.h -- 2.32.0