Experimental Physics and
Tonia,Yes, as J. Lewis Muir said: if you move the order the fields in the structure, might shed some light on things.
Remember, ARM is MUCH more restrictive in alignment than Intel.
From the ARM Reference Manual: (A2.8)
Prior to ARMv6, doubleword (
) accesses to memory, where the a
ddress is not doubleword-aligned,
. Also, data accesses to non-aligned word an
d halfword data are treated as aligned from
the memory interface perspective. That is:
• the address is treated as truncat
ed, with address bits[1:0] treate
d as zero for word accesses, and
address bit treated as
zero for halfword accesses.
• load single word ARM instructions
are architecturally defined to ro
tate right the wo
transferred by a non word-aligned address one, two
or three bytes depending on the value of the two
least significant address bits.
• alignment checking is defined fo
r implementations supporting a Syst
em Control coprocessor usingthe A bit in CP15 register 1
As previously suggested, printout the "thing" being pointed to (message) at point A (where correct) then again at point B (where incorrect) and look for differences.
The Linux 2.6.10 is a very old kernel. Might be some library/kernel issue as well. . .
Is this structure "statically" allocated (i.e. not on the stack)?
Also, check the compiler directives w.r.t. alignment issues.
Your idea of a test program is also very good.
On Tue, May 6, 2014 at 10:53 AM, J. Lewis Muir <firstname.lastname@example.org> wrote:
On 5/6/14, 9:41 AM, Tonia Batten wrote:
|ANJ, 17 Dec 2015||
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·