Messages in this thread | | | Date | Fri, 7 Jul 2023 08:06:19 +0200 | From | Thomas Weißschuh <> | Subject | Re: [PATCH] module: Ignore RISC-V mapping symbols too |
| |
On 2023-07-06 22:40:01-0700, Palmer Dabbelt wrote: > RISC-V has an extended form of mapping symbols that we use to encode > the ISA when it changes in the middle of an ELF. This trips up modpost > as a build failure, I haven't yet verified it yet but I believe the > kallsyms difference should result in stacks looking sane again.
> [..]
> diff --git a/kernel/module/kallsyms.c b/kernel/module/kallsyms.c > index ef73ae7c8909..1e988e542c5d 100644 > --- a/kernel/module/kallsyms.c > +++ b/kernel/module/kallsyms.c > @@ -12,6 +12,12 @@ > #include <linux/bsearch.h> > #include "internal.h" > > +#ifdef CONFIG_RISCV > +#define IS_RISCV 1 > +#else > +#define IS_RISCV 0 > +#endif > + > /* Lookup exported symbol in given range of kernel_symbols */ > static const struct kernel_symbol *lookup_exported_symbol(const char *name, > const struct kernel_symbol *start, > @@ -289,7 +295,7 @@ static const char *find_kallsyms_symbol(struct module *mod, > * and inserted at a whim. > */ > if (*kallsyms_symbol_name(kallsyms, i) == '\0' || > - is_mapping_symbol(kallsyms_symbol_name(kallsyms, i))) > + is_mapping_symbol(kallsyms_symbol_name(kallsyms, i), IS_RISCV))
IS_BUILTIN(CONFIG_RISCV) or IS_ENABLED(CONFIG_RISCV) ?
> continue; > > if (thisval <= addr && thisval > bestval) {
> [..]
| |