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