Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp121704rwb; Tue, 27 Sep 2022 23:45:23 -0700 (PDT) X-Google-Smtp-Source: AMsMyM59wnjrN59suiqSzt4Usk5wI9/4CuL1ltlhlrw+tp11RzIpSZ7nNlgeVqXYmtDSUwk17o5t X-Received: by 2002:a17:906:da85:b0:741:40a7:d08d with SMTP id xh5-20020a170906da8500b0074140a7d08dmr27700439ejb.263.1664347522794; Tue, 27 Sep 2022 23:45:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664347522; cv=none; d=google.com; s=arc-20160816; b=kmDHY18CKfkNrhs4mXHpKwQ5/StrDlcfj8r7DN5WqtqJLTJFEAVR2ze2hm2pVbwY8U qGVtVOsTZe0f7SKG5GuWwu6VRueOPYe0TqEMm9Y1CoNbLlF2CyghV4O2J0PZNgNdr6Wt d0VJ4kXlmkNGAJp8Y38EPqkNYmh2K1wLE8CqjjwYYqwIo98Snsh8+aVTqlYnE9/vhMvZ rtC9Gq/vkVNhWEgN7qioHvfFBbqyoX5jhjd6OeWbB/as7uGEIzozqpSzXbj8xzxA69QR 7PMGpLTq1jHlNscL4QV/5MVPNGSd5dhvKof/W+wc2Lus2U6bqG3q1Fl4VnCbdYHUaALy zTow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature:dkim-filter; bh=bMCdFStQWZxbQk1gnDYL3CYDG5GATkG7hQ6PvF/Ni/8=; b=jXSU2MoF2esVQgIU3GFLtIcEIXONBeSqkpznHeFuPbV/u+wEsd3fHZkn2xn8/ruaav cwlaFVjOYhQgDP3GLtZxybCfgskWu9IHLrMoTF50RHOCKwE6xvWhuAEXx7vNfYyulsa/ JCq8Vow3QX35ISluq1e5FA8r4uRnc3xAKdFkpwFwUulofAMq8aFC3bGant3cUUr+mSYX 3kWS2knGNlVb+BP2SV+poXgdS9mXovPir5ndYPwDNLXnTwWHWo5odSvjhOfTPukrdqb4 hopaQ70WyK7BDNkM3EFRZ9XvhGCOgprcignPKVjHTyHbCXQVDq5UXk3WDBMHHYGr9EVz A4CQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b="zf8famM/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u3-20020a1709064ac300b00730870cb4b6si3664447ejt.621.2022.09.27.23.44.56; Tue, 27 Sep 2022 23:45:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b="zf8famM/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233070AbiI1Gm6 (ORCPT + 99 others); Wed, 28 Sep 2022 02:42:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57502 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233196AbiI1Gl4 (ORCPT ); Wed, 28 Sep 2022 02:41:56 -0400 Received: from conuserg-08.nifty.com (conuserg-08.nifty.com [210.131.2.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C9789FCF; Tue, 27 Sep 2022 23:41:33 -0700 (PDT) Received: from zoe.. (133-32-182-133.west.xps.vectant.ne.jp [133.32.182.133]) (authenticated) by conuserg-08.nifty.com with ESMTP id 28S6e0G1004120; Wed, 28 Sep 2022 15:40:01 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-08.nifty.com 28S6e0G1004120 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1664347202; bh=bMCdFStQWZxbQk1gnDYL3CYDG5GATkG7hQ6PvF/Ni/8=; h=From:To:Cc:Subject:Date:From; b=zf8famM/zizOFxIt3oYqdutBJGCGMDtkJOGKUlSLT9VRrbo9zHExkpzA1iVxSLOh/ Oyt8iYIg532sXu1vuU1NUJy+TmrspHKQa50z7G1Jl7qjk/pem8zJB3O1/lPEzKI4SS L8GwUNl26Vqk3PNauHk2YIv19nEf2yJJRCKrzqT6qxewU16Ddn4ZbpsSY+DxbguJF7 yEAuEbH1vrMESkNhAnrfQdF33O0/BrtmuH07MPMaeIm4uwvLrPybNhgVvtYX274aPD rghIvbMv6VoszIUPOuddyty09b8Q3pHnJd95hTqhbWTgO520iTtQrI3oUlDbQBptbq yf0pYtaWX6FGw== X-Nifty-SrcIP: [133.32.182.133] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org, Al Viro , Ard Biesheuvel , Nicolas Pitre , Masahiro Yamada , Arnd Bergmann , Luis Chamberlain , Michal Marek , Nathan Chancellor , Nick Desaulniers , Tom Rix , linux-modules@vger.kernel.org, llvm@lists.linux.dev Subject: [PATCH v3 0/8] Unify and , remove EXPORT_DATA_SYMBOL(), faster TRIM_UNUSED_KSYMS Date: Wed, 28 Sep 2022 15:39:39 +0900 Message-Id: <20220928063947.299333-1-masahiroy@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,RCVD_IN_VALIDITY_RPBL,SPF_HELO_NONE, SPF_SOFTFAIL autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch set refactors EXPORT_SYMBOL, and . Also, re-implement TRIM_UNUSED_KSYMS in one-pass. You can still put EXPORT_SYMBOL() in *.S file, very close to the definition, but you do not need to care about whether it is a function or a data. Remove EXPORT_DATA_SYMBOL(). In v1, I broke ia64 because of missing distinction between functions and data. V2 handles it correctly. If the exported symbols is a function, KSYMTAB_FUNC is output. Otherwise, KSYMTAB_DATA is output. Changes in v3: - Move to the head of the series - New patch - Move struct kernel_symbol to kernel/module/internal.h - Some cleanups Changes in v2: - New patch - Use KSYMTAB_FUNC and KSYMTAB_DATA for functions and data, respectively This distinction is needed for ia64. - New patch - New patch Masahiro Yamada (8): kbuild: move modules.builtin(.modinfo) rules to Makefile.vmlinux_o kbuild: rebuild .vmlinux.export.o when its prerequisite is updated kbuild: generate KSYMTAB entries by modpost ia64,export.h: replace EXPORT_DATA_SYMBOL* with EXPORT_SYMBOL* modpost: squash sym_update_namespace() into sym_add_exported() modpost: use null string instead of NULL pointer for default namespace modpost: squash report_sec_mismatch() and remove enum mismatch kbuild: implement CONFIG_TRIM_UNUSED_KSYMS without recursion .gitignore | 1 - Makefile | 37 ++---- arch/ia64/include/asm/Kbuild | 1 + arch/ia64/include/asm/export.h | 3 - arch/ia64/kernel/head.S | 2 +- arch/ia64/kernel/ivt.S | 2 +- include/asm-generic/export.h | 83 +----------- include/linux/export-internal.h | 49 +++++++ include/linux/export.h | 114 +++------------- kernel/module/internal.h | 12 ++ scripts/Makefile.build | 15 +-- scripts/Makefile.modpost | 8 +- scripts/Makefile.vmlinux | 21 ++- scripts/Makefile.vmlinux_o | 26 +++- scripts/adjust_autoksyms.sh | 73 ---------- scripts/basic/fixdep.c | 3 +- scripts/check-local-export | 4 +- scripts/gen_autoksyms.sh | 62 --------- scripts/gen_ksymdeps.sh | 30 ----- scripts/link-vmlinux.sh | 12 -- scripts/mod/modpost.c | 228 ++++++++++++++++---------------- scripts/mod/modpost.h | 1 + scripts/remove-stale-files | 2 + 23 files changed, 270 insertions(+), 519 deletions(-) delete mode 100644 arch/ia64/include/asm/export.h delete mode 100755 scripts/adjust_autoksyms.sh delete mode 100755 scripts/gen_autoksyms.sh delete mode 100755 scripts/gen_ksymdeps.sh -- 2.34.1