[PATCH 6/6] perf_counter: tools: Makefile tweaks for 64-bit powerpc

Ingo Molnar mingo at elte.hu
Wed Jun 17 22:08:31 EST 2009


* Paul Mackerras <paulus at samba.org> wrote:

> +++ b/tools/perf/Makefile
> @@ -157,9 +157,21 @@ uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')
>  uname_P := $(shell sh -c 'uname -p 2>/dev/null || echo not')
>  uname_V := $(shell sh -c 'uname -v 2>/dev/null || echo not')
>  
> +# If we're on a 64-bit kernel, use -m64
> +ifneq ($(patsubst %64,%,$(uname_M)),$(uname_M))
> +  M64 := -m64
> +endif

this is fine.

> +# Don't use -Werror on ppc64; we get warnings due to using
> +# %Lx formats on __u64, which is unsigned long.
> +Werror := -Werror
> +ifeq ($(uname_M),ppc64)
> +  Werror :=
> +endif

hm, i dont really like this one - it just adds a special case on an 
arch. Why is __u64 unsigned long on powerpc and not unsigned long 
long? I thought the whole mess with u64 was fixed there recently and 
powerpc too now uses include/asm-generic/int-ll64.h ?

ah, it does this:

/*
 * This is here because we used to use l64 for 64bit powerpc
 * and we don't want to impact user mode with our change to ll64
 * in the kernel.
 */
#if defined(__powerpc64__) && !defined(__KERNEL__)
# include <asm-generic/int-l64.h>
#else
# include <asm-generic/int-ll64.h>
#endif

That's crappy really.

	Ingo


More information about the Linuxppc-dev mailing list