From: Daniel Jacobowitz <drow@false.org>
To: Marius Nita <shrimpx@gmail.com>
Cc: gdb@sourceware.org
Subject: Re: a question
Date: Thu, 16 Aug 2007 00:30:00 -0000 [thread overview]
Message-ID: <20070816003018.GA15009@caradoc.them.org> (raw)
In-Reply-To: <f72a771a0708151720q50d424a6v23b3a961ac851202@mail.gmail.com>
On Wed, Aug 15, 2007 at 05:20:23PM -0700, Marius Nita wrote:
> I have a rather specific question regarding the code below, which is
> in bfd/aout-arm.c line 420. This code seems to deal with bit-level
> endianness. E.g. a "char" address holding a bit pattern 00010000
> represents 0x10 on one endianness and 0x08 on the other. The r_length
> left-shift below shifts data by 5 bits on big-endian and 1 bit on
> little-endian. The r_length data will end up occupying 2 bits in the
> natptr->r_type[0] byte. On big-endian, they'll be bits 6 and 7, and on
> little-endian, they are bits 2 and 3.
>
> My question is: why aren't the bits in r_length "reversed" to conform
> with bit-level endianness? For example, if the r_length bits are "10",
> this left-shift results in "0100 0000" on big-endian and "0000 0100"
> on little-endian. These bit strings are clearly not the reverse of
> each other.
Each byte is written out, one at a time. At that point there is no
definition of "endianness". Bitfields are always special, since they
are at finer than byte resolution. Try writing the obvious C struct
equivalent of the data type, and think about how it's laid out in each
endianness.
I don't want to know what you're doing that involves ARM and a.out;
whatever it is, use ELF instead :-)
--
Daniel Jacobowitz
CodeSourcery
next prev parent reply other threads:[~2007-08-16 0:30 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-16 0:20 Marius Nita
2007-08-16 0:30 ` Daniel Jacobowitz [this message]
2014-02-04 18:06 A Question Thomas Dineen
2014-02-04 19:07 ` Eli Zaretskii
2014-02-05 0:55 ` Christopher Faylor
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=20070816003018.GA15009@caradoc.them.org \
--to=drow@false.org \
--cc=gdb@sourceware.org \
--cc=shrimpx@gmail.com \
/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