From: Simon Wright <simon@pushface.org>
Subject: Re: AI12-0218: What is the portable representation clause for processing IETF packets on little-endian machines?
Date: Sun, 27 May 2018 19:03:50 +0100
Date: 2018-05-27T19:03:50+01:00 [thread overview]
Message-ID: <ly4litj7qx.fsf@pushface.org> (raw)
In-Reply-To: a9f11f94-401d-44ef-9e78-21231bedd434@googlegroups.com
AdaMagica <christ-usch.grein@t-online.de> writes:
> Am Samstag, 26. Mai 2018 23:01:28 UTC+2 schrieb Dan'l Miller:
>> On Saturday, May 26, 2018 at 2:02:12 PM UTC-5, AdaMagica wrote:
>> > Am Samstag, 26. Mai 2018 18:15:30 UTC+2 schrieb Dan'l Miller:
>> > > Why is Norman Cohen's solution in the PDF at the URL below not
>> > > the way for the ARG to merely dismiss AI12-0218 as not-a-problem
>> > > that needs to be solved, due to already having a solution ever
>> > > since Record Representation Clause was introduced.
>> > >
>
> If you look at the last post in this AI, nobody is willing to work on
> it. And if I remember correctly, Randy once said that nobody except
> the author of the AI understands it.
>
>> > > http://www.ada-auth.org/ai-files/grab_bag/bitorder.pdf
>> >
>> > This is what has been implemented in Ada 2005. See my post of May 11.
I just don't see this in AALRM 2012, but 13.5.{2,3} are fairly
opaque. The paper is opaque, too.
AI95-00133 contains extensive references to the paper, but important
things like
"The interpretation of component_clauses in the nondefault bit order
is based on machine scalars, which are chunks of storage that can be
natively loaded and stored by the machine. All of the
component_clauses at a given offset are considered to be part of the
same machine scalar, and the first_bit and last_bit are interpreted
as bit offsets within that machine scalar. This makes it possible to
write endian-independent record_representation_clauses."
only appear in the AI, not the ALRM.
And I think I'm right in saying that the size of the machine scalar
starting at a given offset is determined by the largest last_bit of any
of the components starting at that offset (so you'd better have a filler
component extending into the top byte if none of the actual components
do).
>> Yes, I know. It seems that AI12-0218 and Scalar_Storage_Order are
>> focused on the wrong topic (i.e., the topic of a 2nd solution to the
>> endian byte-swapping). A replacement to AI12-0218 should be focused
>> on •portably• (among all Ada compilers) choosing between the 2
>> alternative byte-swapping Record Representation Clauses on different
>> targets.
>
> I do not understand. As far as I can tell, the Ada 2005 solution with
> its machine scalars is portable.
But it doesn't do byte swapping.
next prev parent reply other threads:[~2018-05-27 18:03 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-10 17:45 AI12-0218: What is the portable representation clause for processing IETF packets on little-endian machines? Dan'l Miller
2018-05-10 19:24 ` Dan'l Miller
2018-05-10 20:32 ` Paul Rubin
2018-05-10 22:24 ` Dan'l Miller
2018-05-10 22:44 ` Niklas Holsti
2018-05-10 23:14 ` Paul Rubin
2018-05-11 2:38 ` Dan'l Miller
2018-05-11 7:55 ` Simon Wright
2018-05-11 12:11 ` Lucretia
2018-05-11 13:49 ` Simon Wright
2018-05-11 16:11 ` Jeffrey R. Carter
2018-05-11 16:48 ` Simon Wright
2018-05-11 19:08 ` Jeffrey R. Carter
2018-05-11 21:39 ` Simon Wright
2018-05-11 21:56 ` Jeffrey R. Carter
2018-05-12 7:08 ` Simon Wright
2018-05-12 7:53 ` Jeffrey R. Carter
2018-05-14 22:43 ` Randy Brukardt
2018-05-11 13:46 ` Simon Wright
2018-05-11 22:12 ` Randy Brukardt
2018-05-12 10:33 ` Björn Lundin
2018-05-12 13:08 ` Simon Wright
2018-05-12 14:21 ` Björn Lundin
2018-05-10 23:07 ` Paul Rubin
2018-05-11 0:14 ` Dan'l Miller
2018-05-11 0:30 ` Paul Rubin
2018-05-11 0:50 ` Dan'l Miller
2018-05-11 1:34 ` Paul Rubin
2018-05-11 2:11 ` Dan'l Miller
2018-05-11 22:32 ` Randy Brukardt
2018-05-11 8:02 ` Simon Wright
2018-05-11 22:14 ` Randy Brukardt
2018-05-10 19:28 ` Simon Wright
2018-05-10 22:40 ` Randy Brukardt
2018-05-10 22:50 ` Dan'l Miller
2018-05-11 22:00 ` Randy Brukardt
2018-05-12 1:15 ` Paul Rubin
2018-05-14 22:54 ` Randy Brukardt
2018-05-15 0:43 ` Paul Rubin
2018-05-15 21:39 ` Randy Brukardt
2018-05-15 0:44 ` Dennis Lee Bieber
2018-05-11 8:09 ` Simon Wright
2018-05-10 19:34 ` Dmitry A. Kazakov
2018-05-10 20:06 ` Dan'l Miller
2018-05-10 22:44 ` Paul Rubin
2018-05-10 22:50 ` Randy Brukardt
2018-05-11 9:40 ` Niklas Holsti
2018-05-11 11:40 ` Dan'l Miller
2018-05-11 20:16 ` Niklas Holsti
2018-05-11 9:40 ` Dmitry A. Kazakov
2018-05-11 14:21 ` AdaMagica
2018-05-26 16:15 ` Dan'l Miller
2018-05-26 19:02 ` AdaMagica
2018-05-26 21:01 ` Dan'l Miller
2018-05-27 14:58 ` AdaMagica
2018-05-27 18:03 ` Simon Wright [this message]
2018-05-29 22:17 ` Randy Brukardt
2018-05-30 6:39 ` Simon Wright
2018-05-30 7:25 ` Dmitry A. Kazakov
2018-05-30 15:01 ` Simon Wright
2018-05-30 15:59 ` Dan'l Miller
2018-05-30 19:38 ` Randy Brukardt
2018-05-27 18:04 ` Dan'l Miller
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox