Re: [PATCH] linux/export: fix reference to exported functions for parisc64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 6, 2023 at 4:26 AM Helge Deller <deller@xxxxxx> wrote:
>
> I think ppc64 is affected too.


I tested ppc64 ABI v1, but did not see a breakage.





> Search for dereference_function_descriptor() in kernel sources, e.g.
> https://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg1494564.html
> Helge
>
> -------- Ursprüngliche Nachricht --------
> Von: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> Datum: 05.09.23 21:08 (GMT+01:00)
> An: linux-parisc@xxxxxxxxxxxxxxx, Helge Deller <deller@xxxxxx>, John David Anglin <dave.anglin@xxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-kbuild@xxxxxxxxxxxxxxx, Masahiro Yamada <masahiroy@xxxxxxxxxx>, Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> Betreff: [PATCH] linux/export: fix reference to exported functions for parisc64
>
> John David Anglin reported parisc has been broken since commit
> ddb5cdbafaaa ("kbuild: generate KSYMTAB entries by modpost").
>
> I checked the assembler output, and noticed function references are
> prefixed with P%, so the situation in parisc64 is similar to ia64.
>
> Fixes: ddb5cdbafaaa ("kbuild: generate KSYMTAB entries by modpost")
> Reported-by: John David Anglin <dave.anglin@xxxxxxxx>
> Closes: https://lore.kernel.org/linux-parisc/1901598a-e11d-f7dd-a5d9-9a69d06e6b6e@xxxxxxxx/T/#u
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> ---
>
> I just checked the assembler output, and I created this patch
> based on my best guess. Only compile-tested.
> I hope somebody will run-test this patch.
>
>
> include/linux/export-internal.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/include/linux/export-internal.h b/include/linux/export-internal.h
> index 1c849db953a5..45fca09b2319 100644
> --- a/include/linux/export-internal.h
> +++ b/include/linux/export-internal.h
> @@ -52,6 +52,8 @@
>
> #ifdef CONFIG_IA64
> #define KSYM_FUNC(name) @fptr(name)
> +#elif defined(CONFIG_PARISC) && defined(CONFIG_64BIT)
> +#define KSYM_FUNC(name) P%name
> #else
> #define KSYM_FUNC(name) name
> #endif
> --
> 2.39.2
>


-- 
Best Regards
Masahiro Yamada




[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux