From: Nicolas Schier <nicolas@fjasle.eu>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
Michal Marek <michal.lkml@markovi.net>,
Nick Desaulniers <ndesaulniers@google.com>
Subject: Re: [PATCH v2 21/26] genksyms: adjust the output format for .cmd files
Date: Wed, 4 May 2022 22:22:59 +0200 [thread overview]
Message-ID: <YnLgo+y5tR86hBL5@bergen.fjasle.eu> (raw)
In-Reply-To: <20220501084032.1025918-22-masahiroy@kernel.org>
On sø. 01. mai 2022 kl. 17.40 Masahiro Yamada wrote:
> genksyms output symbol versions in the linker script format.
output -> outputs ?
> The output format depends on CONFIG_MODULE_REL_CRCS.
Looking at the patch itself, I think the sentence above should be
inverted, as all rel_crc special handling is removed. Or did I get it
wrong?
Kind regards,
Nicolas
>
> Now, symbol versions are passed to modpost as plain text data,
> we can simplify the genksyms code.
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
>
> Changes in v2:
> - New patch
>
> scripts/Makefile.build | 9 ---------
> scripts/genksyms/genksyms.c | 17 ++++-------------
> 2 files changed, 4 insertions(+), 22 deletions(-)
>
> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> index 10092efb61ac..1f480e4ff70a 100644
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -128,7 +128,6 @@ $(obj)/%.i: $(src)/%.c FORCE
>
> genksyms = scripts/genksyms/genksyms \
> $(if $(1), -T $(2)) \
> - $(if $(CONFIG_MODULE_REL_CRCS), -R) \
> $(if $(KBUILD_PRESERVE), -p) \
> -r $(or $(wildcard $(2:.symtypes=.symref)), /dev/null)
>
> @@ -166,18 +165,10 @@ ifdef CONFIG_MODVERSIONS
> # o modpost will extract versions from the .cmd file and create linker
> # scripts used to link the kernel and/or modules.
>
> -genksyms_format_rel_crc := [^_]*__crc_\([^ ]*\) = \.; LONG(\([^)]*\)).*
> -genksyms_format_normal := __crc_\(.*\) = \(.*\);
> -genksyms_format := $(if $(CONFIG_MODULE_REL_CRCS),$(genksyms_format_rel_crc),$(genksyms_format_normal))
> -
> gen_symversions = \
> if $(NM) $@ 2>/dev/null | grep -q __ksymtab; then \
> $(call cmd_gensymtypes_$(1),$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \
> - > $@.symversions; \
> - sed -n 's/$(genksyms_format)/$(pound)SYMVER \1 \2/p' $@.symversions \
> >> $(dot-target).cmd; \
> - else \
> - rm -f $@.symversions; \
> fi
>
> cmd_gen_symversions_c = $(call gen_symversions,c)
> diff --git a/scripts/genksyms/genksyms.c b/scripts/genksyms/genksyms.c
> index 4827c5abe5b7..ec5ad4405483 100644
> --- a/scripts/genksyms/genksyms.c
> +++ b/scripts/genksyms/genksyms.c
> @@ -33,7 +33,7 @@ char *cur_filename;
> int in_source_file;
>
> static int flag_debug, flag_dump_defs, flag_reference, flag_dump_types,
> - flag_preserve, flag_warnings, flag_rel_crcs;
> + flag_preserve, flag_warnings;
>
> static int errors;
> static int nsyms;
> @@ -680,11 +680,7 @@ void export_symbol(const char *name)
> if (flag_dump_defs)
> fputs(">\n", debugfile);
>
> - /* Used as a linker script. */
> - printf(!flag_rel_crcs ? "__crc_%s = 0x%08lx;\n" :
> - "SECTIONS { .rodata : ALIGN(4) { "
> - "__crc_%s = .; LONG(0x%08lx); } }\n",
> - name, crc);
> + printf("#SYMVER %s 0x%08lx\n", name, crc);
> }
> }
>
> @@ -745,7 +741,6 @@ static void genksyms_usage(void)
> " -q Disable warnings (default)\n"
> " -h Print this message\n"
> " -V Print the release version\n"
> - " -R Emit section relative symbol CRCs\n"
> #endif /* __GNU_LIBRARY__ */
> , stderr);
> }
> @@ -766,14 +761,13 @@ int main(int argc, char **argv)
> {"preserve", 0, 0, 'p'},
> {"version", 0, 0, 'V'},
> {"help", 0, 0, 'h'},
> - {"relative-crc", 0, 0, 'R'},
> {0, 0, 0, 0}
> };
>
> - while ((o = getopt_long(argc, argv, "s:dwqVDr:T:phR",
> + while ((o = getopt_long(argc, argv, "s:dwqVDr:T:ph",
> &long_opts[0], NULL)) != EOF)
> #else /* __GNU_LIBRARY__ */
> - while ((o = getopt(argc, argv, "s:dwqVDr:T:phR")) != EOF)
> + while ((o = getopt(argc, argv, "s:dwqVDr:T:ph")) != EOF)
> #endif /* __GNU_LIBRARY__ */
> switch (o) {
> case 'd':
> @@ -813,9 +807,6 @@ int main(int argc, char **argv)
> case 'h':
> genksyms_usage();
> return 0;
> - case 'R':
> - flag_rel_crcs = 1;
> - break;
> default:
> genksyms_usage();
> return 1;
> --
> 2.32.0
--
epost|xmpp: nicolas@fjasle.eu irc://oftc.net/nsc
↳ gpg: 18ed 52db e34f 860e e9fb c82b 7d97 0932 55a0 ce7f
-- frykten for herren er opphav til kunnskap --
next prev parent reply other threads:[~2022-05-04 20:23 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-01 8:40 [PATCH v2 00/26] kbuild: yet another series of cleanups (modpost and LTO) Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 01/26] modpost: use bool type where appropriate Masahiro Yamada
2022-05-03 21:43 ` Nick Desaulniers
2022-05-04 5:47 ` Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 02/26] modpost: change mod->gpl_compatible to bool type Masahiro Yamada
2022-05-03 21:45 ` Nick Desaulniers
2022-05-01 8:40 ` [PATCH v2 03/26] modpost: import include/linux/list.h Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 04/26] modpost: traverse modules in order Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 05/26] modpost: add sym_add_unresolved() helper Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 06/26] modpost: traverse unresolved symbols in order Masahiro Yamada
2022-05-03 21:49 ` Nick Desaulniers
2022-05-01 8:40 ` [PATCH v2 07/26] modpost: use doubly linked list for dump_lists Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 08/26] modpost: traverse the namespace_list in order Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 09/26] modpost: dump Module.symvers in the same order of modules.order Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 10/26] modpost: move static EXPORT_SYMBOL check to check_exports() Masahiro Yamada
2022-05-03 21:54 ` Nick Desaulniers
2022-05-01 8:40 ` [PATCH v2 11/26] modpost: make multiple export error Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 12/26] modpost: make sym_add_exported() always allocate a new symbol Masahiro Yamada
2022-05-03 21:56 ` Nick Desaulniers
2022-05-01 8:40 ` [PATCH v2 13/26] modpost: split new_symbol() to symbol allocation and hash table addition Masahiro Yamada
2022-05-03 22:00 ` Nick Desaulniers
2022-05-01 8:40 ` [PATCH v2 14/26] modpost: mitigate false-negatives for static EXPORT_SYMBOL checks Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 15/26] kbuild: record symbol versions in *.cmd files Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 16/26] kbuild: generate a list of objects in vmlinux Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 17/26] modpost: extract symbol versions from *.cmd files Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 18/26] modpost: generate linker script to collect symbol versions Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 19/26] kbuild: embed symbol versions at final link of vmlinux or modules Masahiro Yamada
2022-05-03 2:55 ` Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 20/26] kbuild: stop merging *.symversions Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 21/26] genksyms: adjust the output format for .cmd files Masahiro Yamada
2022-05-04 20:22 ` Nicolas Schier [this message]
2022-05-05 13:47 ` Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 22/26] kbuild: do not create *.prelink.o for Clang LTO or IBT Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 23/26] kbuild: make built-in.a rule robust against too long argument error Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 24/26] kbuild: make *.mod " Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 25/26] modpost: simplify the ->is_static initialization Masahiro Yamada
2022-05-01 8:40 ` [PATCH v2 26/26] modpost: use hlist for hash table implementation Masahiro Yamada
2022-05-01 12:23 ` [PATCH v2 00/26] kbuild: yet another series of cleanups (modpost and LTO) Masahiro Yamada
2022-05-05 6:55 ` Masahiro Yamada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YnLgo+y5tR86hBL5@bergen.fjasle.eu \
--to=nicolas@fjasle.eu \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=michal.lkml@markovi.net \
--cc=ndesaulniers@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®