Re: [PATCH] sparc32: Fix version generation failed warnings

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

 



On 2024-03-24 07:56, Sam Ravnborg wrote:
> An allmodconfig build of sparc32 resulted in several warnings:
> 
> WARNING: modpost: EXPORT symbol "empty_zero_page" [vmlinux] version generation failed, symbol will not be versioned.
> Is "empty_zero_page" prototyped in <asm/asm-prototypes.h>?
> WARNING: modpost: EXPORT symbol "__udelay" [vmlinux] version generation failed, symbol will not be versioned.
> Is "__udelay" prototyped in <asm/asm-prototypes.h>?
> WARNING: modpost: EXPORT symbol "__ndelay" [vmlinux] version generation failed, symbol will not be versioned.
> Is "__ndelay" prototyped in <asm/asm-prototypes.h>?
> WARNING: modpost: EXPORT symbol "__ashldi3" [vmlinux] version generation failed, symbol will not be versioned.
> Is "__ashldi3" prototyped in <asm/asm-prototypes.h>?
> WARNING: modpost: EXPORT symbol "__ashrdi3" [vmlinux] version generation failed, symbol will not be versioned.
> Is "__ashrdi3" prototyped in <asm/asm-prototypes.h>?
> WARNING: modpost: EXPORT symbol "__lshrdi3" [vmlinux] version generation failed, symbol will not be versioned.
> Is "__lshrdi3" prototyped in <asm/asm-prototypes.h>?
> 
> And later a lot of warnings like this:
> WARNING: modpost: "__udelay" [kernel/locking/locktorture.ko] has no CRC!
> WARNING: modpost: "__udelay" [kernel/rcu/rcutorture.ko] has no CRC!
> WARNING: modpost: "__udelay" [kernel/rcu/rcuscale.ko] has no CRC!
> WARNING: modpost: "__udelay" [kernel/rcu/refscale.ko] has no CRC!
> WARNING: modpost: "__ndelay" [kernel/rcu/refscale.ko] has no CRC!
> WARNING: modpost: "__udelay" [kernel/time/test_udelay.ko] has no CRC!
> WARNING: modpost: "__udelay" [kernel/scftorture.ko] has no CRC!
> WARNING: modpost: "__ashrdi3" [fs/quota/quota_tree.ko] has no CRC!
> WARNING: modpost: "__ashldi3" [fs/ext4/ext4.ko] has no CRC!
> 
> The fix was, as hinted, to add missing prototypes to asm-prototypes.h.
> 
> For the __*di3 functions add the prototypes direct to the
> asm-prototypes.h file.
> Some of the symbols were already declared, so pulled in the relevant
> headers (delay.h, pgtable.h).
> The include files was alphabetically sorted to make the list somehow
> readable.
> 
> The .S files exporting the symbols do not include asm-prototypes.h,
> so they need to be explicit rebuild to generate symbol versioning.
> One or more of the generic headers pulled in by asm-prototypes.h
> did not support being used from .S files, so adding asm-prototypes.h
> as an include file was not an option.
> 
> Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
> Cc: Andreas Larsson <andreas@xxxxxxxxxxx>
> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> ---
> 
>  arch/sparc/include/asm/asm-prototypes.h | 17 ++++++++++++-----
>  1 file changed, 12 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/sparc/include/asm/asm-prototypes.h b/arch/sparc/include/asm/asm-prototypes.h
> index 4987c735ff56..08810808ca6d 100644
> --- a/arch/sparc/include/asm/asm-prototypes.h
> +++ b/arch/sparc/include/asm/asm-prototypes.h
> @@ -3,15 +3,18 @@
>   * Copyright (c) 2017 Oracle and/or its affiliates. All rights reserved.
>   */
>  
> -#include <asm/xor.h>
> -#include <asm/checksum.h>
> -#include <asm/trap_block.h>
> +#include <linux/atomic.h>
>  #include <linux/uaccess.h>
> +
>  #include <asm/atomic.h>
> -#include <asm/ftrace.h>
>  #include <asm/cacheflush.h>
> +#include <asm/checksum.h>
> +#include <asm/delay.h>
> +#include <asm/ftrace.h>
>  #include <asm/oplib.h>
> -#include <linux/atomic.h>
> +#include <asm/pgtable.h>
> +#include <asm/trap_block.h>
> +#include <asm/xor.h>
>  
>  void *__memscan_zero(void *, size_t);
>  void *__memscan_generic(void *, int, size_t);
> @@ -23,3 +26,7 @@ void *memcpy(void *dest, const void *src, size_t n);
>  void *memset(void *s, int c, size_t n);
>  typedef int TItype __attribute__((mode(TI)));
>  TItype __multi3(TItype a, TItype b);
> +
> +s64 __ashldi3(s64, int);
> +s64 __lshrdi3(s64, int);
> +s64 __ashrdi3(s64, int);

Reviewed-by: Andreas Larsson <andreas@xxxxxxxxxxx>
Tested-by: Andreas Larsson <andreas@xxxxxxxxxxx>

Picking this up to my for-next.

Thanks,
Andreas




[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux