Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Dec 2011 10:09:53 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        "Poul-Henning Kamp" <phk@phk.freebsd.dk>
Cc:        threads@freebsd.org, Tijl Coosemans <tijl@coosemans.org>, freebsd-arch@freebsd.org
Subject:   Re: [Patch] C1X threading support
Message-ID:  <AC4BCD04-6555-4AD1-BBCD-3C706852ECCF@bsdimp.com>
In-Reply-To: <58923.1324292241@critter.freebsd.dk>
References:  <58923.1324292241@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help

On Dec 19, 2011, at 3:57 AM, Poul-Henning Kamp wrote:

> In message <201112191152.22907.tijl@coosemans.org>, Tijl Coosemans =
writes:
>=20
>>> Big/Little Endian API ?
>>>=20
>>> Naah, nobody moves binary data between computers.
>>=20
>> Yes, but rather than having the programmer remember when to swap =
bytes,
>> it would be better if he could just declare a variable big/little
>> endian and have the compiler figure it out.
>=20
> You'd think so, wouldn't you ?

Intel has a compiler that allows one to declare things are big or little =
endian and then things work.  A certain large router vendor used it to =
port its software that was big endian only at a very deep layer to Intel =
x86...

Linux marks things as beXX or leXX and uses static analysis to prevent =
mixing.

There's a lot of prior art for the committee to choose from.

Warner




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AC4BCD04-6555-4AD1-BBCD-3C706852ECCF>