From: "H. Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
To: Matthew Wilcox <matthew-Ztpu424NOJ8@public.gmane.org>
Cc: Linus Torvalds
<torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
Jan Engelhardt <jengelh-bdq14YP6qtRlEiWPh9xO2Q@public.gmane.org>,
Andrew Morton
<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
Linux Kernel Mailing List
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Linux Arch Mailing List
<linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH 01/24] types: create <asm-generic/int-*.h>
Date: Fri, 25 Apr 2008 12:10:40 -0700 [thread overview]
Message-ID: <48122CB0.7020003@zytor.com> (raw)
In-Reply-To: <20080425185251.GL14990-6jwH94ZQLHl74goWV3ctuw@public.gmane.org>
Matthew Wilcox wrote:
>
> So ... given all this, why do we define s64 to be 'long' on some
> architectures and 'long long' on others? It seems to actively _hinder_
> passing it to printf(), so there must be some other good reason that
> I'm missing to not make it 'long long' everywhere.
>
Well, compatibility with userspace is probably one aspect of that.
x86-64 is the odd man out there, it defines __s64 as "long long" even
for userspace, even though int64_t from <stdint.h> is "long". This,
IMO, is the Wrong Thing, but it's a separate set of changes.
The right thing to do is probably to always use "long long" in the
kernel, while defining __s64 et al as "long" on 64-bit platforms when
not under __KERNEL__.
Again, this is a separate set of changes from this patchset, which is
just a code transformation.
-hpa
WARNING: multiple messages have this Message-ID (diff)
From: "H. Peter Anvin" <hpa@zytor.com>
To: Matthew Wilcox <matthew@wil.cx>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Jan Engelhardt <jengelh@computergmbh.de>,
Andrew Morton <akpm@linux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux Arch Mailing List <linux-arch@vger.kernel.org>
Subject: Re: [PATCH 01/24] types: create <asm-generic/int-*.h>
Date: Fri, 25 Apr 2008 12:10:40 -0700 [thread overview]
Message-ID: <48122CB0.7020003@zytor.com> (raw)
Message-ID: <20080425191040.5E2jrLfEA7seYCBkSw8hbpprRrepNXgVTmf2R7BQrNg@z> (raw)
In-Reply-To: <20080425185251.GL14990@parisc-linux.org>
Matthew Wilcox wrote:
>
> So ... given all this, why do we define s64 to be 'long' on some
> architectures and 'long long' on others? It seems to actively _hinder_
> passing it to printf(), so there must be some other good reason that
> I'm missing to not make it 'long long' everywhere.
>
Well, compatibility with userspace is probably one aspect of that.
x86-64 is the odd man out there, it defines __s64 as "long long" even
for userspace, even though int64_t from <stdint.h> is "long". This,
IMO, is the Wrong Thing, but it's a separate set of changes.
The right thing to do is probably to always use "long long" in the
kernel, while defining __s64 et al as "long" on 64-bit platforms when
not under __KERNEL__.
Again, this is a separate set of changes from this patchset, which is
just a code transformation.
-hpa
next prev parent reply other threads:[~2008-04-25 19:10 UTC|newest]
Thread overview: 140+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-24 23:05 [PATCH 00/24] Unify integer type definitions, and add fixed type constructor macros H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-2-git-send-email-hpa@zytor.com>
[not found] ` <1209078352-7593-2-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 01/24] types: create <asm-generic/int-*.h> H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-3-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 02/24] alpha: types: use <asm-generic/int-*.h> for the alpha architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-4-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-5-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 03/24] arm: types: use <asm-generic/int-*.h> for the arm architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-6-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-7-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 04/24] avr32: types: use <asm-generic/int-*.h> for the avr32 architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-8-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-9-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 05/24] blackfin: types: use <asm-generic/int-*.h> for the blackfin architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-10-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` [PATCH 06/24] cris: types: use <asm-generic/int-*.h> for the cris architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-12-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-13-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 07/24] frv: types: use <asm-generic/int-*.h> for the frv architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-14-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-15-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 08/24] h8300: types: use <asm-generic/int-*.h> for the h8300 architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-16-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-17-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 09/24] ia64: types: use <asm-generic/int-*.h> for the ia64 architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-18-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-19-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 10/24] m32r: types: use <asm-generic/int-*.h> for the m32r architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-20-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-21-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 11/24] m68k: types: use <asm-generic/int-*.h> for the m68k architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-22-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-23-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 12/24] mips: types: use <asm-generic/int-*.h> for the mips architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-24-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-25-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 13/24] mn10300: types: use <asm-generic/int-*.h> for the mn10300 architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-26-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-27-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 14/24] parisc: types: use <asm-generic/int-*.h> for the parisc architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-28-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-29-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 15/24] powerpc: types: use <asm-generic/int-*.h> for the powerpc architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-30-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-31-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 16/24] s390: types: use <asm-generic/int-*.h> for the s390 architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-32-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-33-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 17/24] sh: types: use <asm-generic/int-*.h> for the sh architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-34-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-35-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 18/24] sparc: types: use <asm-generic/int-*.h> for the sparc architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-36-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-37-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 19/24] sparc64: types: use <asm-generic/int-*.h> for the sparc64 architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-38-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-39-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 20/24] v850: types: use <asm-generic/int-*.h> for the v850 architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-40-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 21/24] x86: types: use <asm-generic/int-*.h> for the x86 architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-41-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-42-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 22/24] xtensa: types: use <asm-generic/int-*.h> for the xtensa architecture H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-43-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-44-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 23/24] types: add C99-style constructors to <asm-generic/int-*.h> H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
[not found] ` <1209078352-7593-45-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-24 23:05 ` [PATCH 24/24] Use U64_C() instead of casts in kernel/time.c H. Peter Anvin
2008-04-24 23:05 ` H. Peter Anvin
2008-04-25 0:44 ` [PATCH 19/24] sparc64: types: use <asm-generic/int-*.h> for the sparc64 architecture David Miller
2008-04-25 0:44 ` David Miller
2008-04-25 0:44 ` [PATCH 18/24] sparc: types: use <asm-generic/int-*.h> for the sparc architecture David Miller
2008-04-25 0:44 ` David Miller
2008-04-25 1:37 ` [PATCH 09/24] ia64: types: use <asm-generic/int-*.h> for the ia64 architecture Luck, Tony
2008-04-25 1:37 ` Luck, Tony
[not found] ` <1FE6DD409037234FAB833C420AA843EC012F9FDA-7XlYjKTK0pM64kNsxIetb7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2008-04-25 3:42 ` H. Peter Anvin
2008-04-25 3:42 ` H. Peter Anvin
2008-04-25 4:10 ` [PATCH 24/24] Use U64_C() instead of casts in kernel/time.c H. Peter Anvin
2008-04-25 4:10 ` H. Peter Anvin
[not found] ` <200804250410.m3P4A67w019427@tazenda.hos. anvin.org>
[not found] ` <200804250410.m3P4A67w019427-TYXNXmPMDn57u0wkx6qpVYSLwOllVvif@public.gmane.org>
2008-04-25 4:44 ` Luck, Tony
2008-04-25 4:44 ` Luck, Tony
2008-04-25 0:14 ` [PATCH 03/24] arm: types: use <asm-generic/int-*.h> for the arm architecture Lennert Buytenhek
2008-04-25 0:14 ` Lennert Buytenhek
2008-04-25 18:27 ` [PATCH 01/24] types: create <asm-generic/int-*.h> Jan Engelhardt
2008-04-25 18:27 ` Jan Engelhardt
[not found] ` <alpine.LNX.1.10.0804252026040.20150-vVwEwcwQeYFPkBl3ERsXe1l1cybopEuJUBSOeVevoDU@public.gmane.org>
2008-04-25 18:36 ` Linus Torvalds
2008-04-25 18:36 ` Linus Torvalds
[not found] ` <alpine.LFD.1.10.0804251133100.2779-5CScLwifNT1QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>
2008-04-25 18:52 ` Matthew Wilcox
2008-04-25 18:52 ` Matthew Wilcox
[not found] ` <20080425185251.GL14990-6jwH94ZQLHl74goWV3ctuw@public.gmane.org>
2008-04-25 19:03 ` Linus Torvalds
2008-04-25 19:03 ` Linus Torvalds
2008-04-25 19:10 ` H. Peter Anvin [this message]
2008-04-25 19:10 ` H. Peter Anvin
[not found] ` <48122CB0.7020003-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-25 19:28 ` Matthew Wilcox
2008-04-25 19:28 ` Matthew Wilcox
[not found] ` <20080425192858.GM14990-6jwH94ZQLHl74goWV3ctuw@public.gmane.org>
2008-04-25 19:38 ` H. Peter Anvin
2008-04-25 19:38 ` H. Peter Anvin
[not found] ` <48123325.30003-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-25 19:43 ` Jan Engelhardt
2008-04-25 19:43 ` Jan Engelhardt
2008-04-25 19:45 ` Linus Torvalds
2008-04-25 19:45 ` Linus Torvalds
[not found] ` <alpine.LFD.1.10.0804251243590.2779-5CScLwifNT1QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>
2008-04-25 19:48 ` H. Peter Anvin
2008-04-25 19:48 ` H. Peter Anvin
2008-04-25 19:49 ` Harvey Harrison
2008-04-25 19:49 ` Harvey Harrison
[not found] ` <alpine.LNX.1.10.0804252143170.20150-vVwEwcwQeYFPkBl3ERsXe1l1cybopEuJUBSOeVevoDU@public.gmane.org>
2008-04-28 13:55 ` David Howells
2008-04-28 13:55 ` David Howells
2008-04-25 20:30 ` David Miller
2008-04-25 20:30 ` David Miller
2008-04-25 0:15 ` Lennert Buytenhek
2008-04-25 0:15 ` Lennert Buytenhek
2008-04-25 7:17 ` [PATCH 00/24] Unify integer type definitions, and add fixed type constructor macros Geert Uytterhoeven
2008-04-25 7:17 ` Geert Uytterhoeven
2008-04-25 7:49 ` Andreas Schwab
2008-04-25 7:49 ` Andreas Schwab
[not found] ` <1209078352-7593-1-git-send-email-hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-04-25 8:15 ` Arnd Bergmann
2008-04-25 8:15 ` Arnd Bergmann
[not found] ` <200804251015.32157.arnd-r2nGTMty4D4@public.gmane.org>
2008-04-27 17:44 ` H. Peter Anvin
2008-04-27 17:44 ` H. Peter Anvin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48122CB0.7020003@zytor.com \
--to=hpa-ymnouzjc4hwavxtiumwx3w@public.gmane.org \
--cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
--cc=jengelh-bdq14YP6qtRlEiWPh9xO2Q@public.gmane.org \
--cc=linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matthew-Ztpu424NOJ8@public.gmane.org \
--cc=torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox