makedumpfile-1.5.7: Compile warnings on archs without get_versiondep_info()

Michael Holzheu holzheu at linux.vnet.ibm.com
Tue Oct 21 04:28:18 PDT 2014


On Tue, 21 Oct 2014 05:13:37 +0000
Atsushi Kumagai <kumagai-atsushi at mxc.nes.nec.co.jp> wrote:

> Hello Michael,
> 
> >I just noticed that makedumpfile-1.5.7 produces warnings
> >on s390x and probably all other archs that have not defined
> >get_versiondep_info():
> 
> Thanks for your reporting, does this patch help you ?

Hello Atsushi,

I had problems applying the patch but after manually adding
the changes I still get the following warning:


> 
> Thanks,
> Atsushi Kumagai
> 
> 
> From: Atsushi Kumagai <kumagai-atsushi at mxc.nes.nec.co.jp>
> Date: Tue, 21 Oct 2014 11:11:46 +0900
> Subject: [PATCH] Introduce stub method for machine dependent parts.
> 
> Some machine dependent methods are implemented as the literal "1"
> since there is no need to do anything in their architectures.
> 
> It's polite to replace them into an empty method, this will solve
> some compile warnings.
> 
> Reported-by: Michael Holzheu <holzheu at linux.vnet.ibm.com>
> Signed-off-by: Atsushi Kumagai <kumagai-atsushi at mxc.nes.nec.co.jp>
> ---
>  makedumpfile.h | 29 +++++++++++++++--------------
>  1 file changed, 15 insertions(+), 14 deletions(-)
> 
> diff --git a/makedumpfile.h b/makedumpfile.h
> index a3342b5..5fda575 100644
> --- a/makedumpfile.h
> +++ b/makedumpfile.h
> @@ -759,26 +759,27 @@ do { \
>  /*
>   * The function of dependence on machine
>   */
> +static inline int stub_true() { return TRUE; }
>  #ifdef __arm__
>  int get_phys_base_arm(void);
>  int get_machdep_info_arm(void);
>  unsigned long long vaddr_to_paddr_arm(unsigned long vaddr);
>  #define get_phys_base()		get_phys_base_arm()
>  #define get_machdep_info()	get_machdep_info_arm()
> -#define get_versiondep_info()	TRUE
> +#define get_versiondep_info()	stub_true()
>  #define vaddr_to_paddr(X)	vaddr_to_paddr_arm(X)
> -#define is_vmalloc_addr(X)	TRUE
> +#define is_vmalloc_addr(X)	stub_true(X)
>  #endif /* arm */
>  
>  #ifdef __x86__
>  int get_machdep_info_x86(void);
>  int get_versiondep_info_x86(void);
>  unsigned long long vaddr_to_paddr_x86(unsigned long vaddr);
> -#define get_phys_base()		TRUE
> +#define get_phys_base()		stub_true()
>  #define get_machdep_info()	get_machdep_info_x86()
>  #define get_versiondep_info()	get_versiondep_info_x86()
>  #define vaddr_to_paddr(X)	vaddr_to_paddr_x86(X)
> -#define is_vmalloc_addr(X)	TRUE
> +#define is_vmalloc_addr(X)	stub_true(X)
>  #endif /* x86 */
>  
>  #ifdef __x86_64__
> @@ -798,31 +799,31 @@ unsigned long long vaddr_to_paddr_x86_64(unsigned long vaddr);
>  int get_machdep_info_ppc64(void);
>  int get_versiondep_info_ppc64(void);
>  unsigned long long vaddr_to_paddr_ppc64(unsigned long vaddr);
> -#define get_phys_base()		TRUE
> +#define get_phys_base()		stub_true()
>  #define get_machdep_info()	get_machdep_info_ppc64()
>  #define get_versiondep_info()	get_versiondep_info_ppc64()
>  #define vaddr_to_paddr(X)	vaddr_to_paddr_ppc64(X)
> -#define is_vmalloc_addr(X)	TRUE
> +#define is_vmalloc_addr(X)	stub_true(X)
>  #endif          /* powerpc64 */
>  
>  #ifdef __powerpc32__ /* powerpc32 */
>  int get_machdep_info_ppc(void);
>  unsigned long long vaddr_to_paddr_ppc(unsigned long vaddr);
> -#define get_phys_base()		TRUE
> +#define get_phys_base()		stub_true()
>  #define get_machdep_info()	get_machdep_info_ppc()
> -#define get_versiondep_info()	TRUE
> +#define get_versiondep_info()	stub_true()
>  #define vaddr_to_paddr(X)	vaddr_to_paddr_ppc(X)
> -#define is_vmalloc_addr(X)	TRUE
> +#define is_vmalloc_addr(X)	stub_true(X)
>  #endif          /* powerpc32 */
>  
>  #ifdef __s390x__ /* s390x */
>  int get_machdep_info_s390x(void);
>  unsigned long long vaddr_to_paddr_s390x(unsigned long vaddr);
> -#define get_phys_base()		TRUE
> +#define get_phys_base()		stub_true()
>  #define get_machdep_info()	get_machdep_info_s390x()
> -#define get_versiondep_info()	TRUE
> +#define get_versiondep_info()	stub_true()
>  #define vaddr_to_paddr(X)	vaddr_to_paddr_s390x(X)
> -#define is_vmalloc_addr(X)	TRUE
> +#define is_vmalloc_addr(X)	stub_true(X)
>  #endif          /* s390x */
>  
>  #ifdef __ia64__ /* ia64 */
> @@ -831,10 +832,10 @@ int get_machdep_info_ia64(void);
>  unsigned long long vaddr_to_paddr_ia64(unsigned long vaddr);
>  #define get_machdep_info()	get_machdep_info_ia64()
>  #define get_phys_base()		get_phys_base_ia64()
> -#define get_versiondep_info()	TRUE
> +#define get_versiondep_info()	stub_true()
>  #define vaddr_to_paddr(X)	vaddr_to_paddr_ia64(X)
>  #define VADDR_REGION(X)		(((unsigned long)(X)) >> REGION_SHIFT)
> -#define is_vmalloc_addr(X)	TRUE
> +#define is_vmalloc_addr(X)	stub_true(X)
>  #endif          /* ia64 */
>  
>  typedef unsigned long long mdf_pfn_t;





More information about the kexec mailing list