[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090617132839.GA15428@elte.hu>
Date: Wed, 17 Jun 2009 15:28:39 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Paul Mackerras <paulus@...ba.org>
Cc: benh@...nel.crashing.org, Peter Zijlstra <a.p.zijlstra@...llo.nl>,
linux-kernel@...r.kernel.org, linuxppc-dev@...abs.org
Subject: Re: [PATCH 6/6] perf_counter: tools: Makefile tweaks for 64-bit
powerpc
* Paul Mackerras <paulus@...ba.org> wrote:
> Ingo Molnar writes:
>
> > 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.
>
> We were concerned that changing the userland-visible type of __u64
> from unsigned long to unsigned long long, etc., would be breaking
> the ABI, even if only in a small way - I thought it could possibly
> change C++ mangled function names, for instance, and it would
> cause fresh compile warnings on existing user code that prints
> __u64 with %lx, which has always been the correct thing to do on
> ppc64.
>
> A counter-argument would be, I guess, that __u64 et al. are purely
> for use in describing the kernel/user interface, so we have a
> little more latitude than with the type of e.g. u_int64_t. I
> dunno. I don't recall getting much of an answer from the glibc
> guys about what they thought of the idea of changing it.
>
> Anyway, of the 64-bit architectures, alpha, ia64, and mips64 also
> have __u64 as unsigned long in userspace, so this issue will still
> crop up even if we change it on powerpc.
Having crap elsewhere is no reason to spread it further really. We
need consistent types. Can we define __KERNEL__ perhaps to get to
the real types?
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists