From: Artem Alimarine <artem.alimarine@stromasys.com>
To: Kyle McMartin <kyle@mcmartin.ca>
Cc: linux-parisc@vger.kernel.org
Subject: Re: unaligned accesses in apply_relocate_add
Date: Wed, 26 Aug 2009 16:41:20 +0200 [thread overview]
Message-ID: <4A954990.7070007@stromasys.com> (raw)
In-Reply-To: <20090826131749.GE19494@bombadil.infradead.org>
[-- Attachment #1: Type: text/plain, Size: 2418 bytes --]
One point is that in the function apply_relocate_add a 4-byte aligned
address is created:
627 dot = (Elf64_Addr)loc & ~0x03;
628 loc64 = (Elf64_Xword *)loc;
and used as a 64-bit location
711 case R_PARISC_DIR64:
712 /* 64-bit effective address */
713 *loc64 = val + addend;
714 break;
So, 8-byte word is read with a 4-byte alignment.
I am busy building a parisc hardware emulator. It boots Linux, but it is
unstable yet. There are unaligned accesses in the emulation trace. I was
wandering whether it is normal behavior or caused by a bug in the
emulation.
The emulation trace gives a lot of accesses like this:
0-4011f968: translate_virtual_write unaligned_trap, va=0:416a20c
pa=1db1820c
0-4011f968: translate_virtual_write unaligned_trap, va=0:416a21c
pa=1db1821c
0-4011f968: translate_virtual_write unaligned_trap, va=0:416a224
pa=1db18224
They are indeed 4-byte aligned. The PC address matches
apply_relocate_add in the kernel map.
Thanks,
Artem
Kyle McMartin wrote:
> On Wed, Aug 26, 2009 at 10:37:13AM +0200, Artem Alimarine wrote:
>
>> Hi guys,
>>
>> I see unaligned access happening in apply_relocate_add. Is this
>> normal expected behavior?
>>
>> Kernel 2.6.26.2, single CPU (Standard Debian 5.0.2). Address 0x4011f968.
>>
>>
>
> No, definitely not. relocations are applied to instructions, which
> should always be instruction-width (4 bytes) aligned... Since we do
> modify-replace on placeholders, it should never be using anything other
> than a store-word to do it... do you have any more data on this?
>
> regards, Kyle
>
>
dr. Artem Alimarine <artem.alimarine@stromasys.com
<mailto:artem.alimarine@stromasys.com>>
Software Architect
STROMASYS SA
Kyle McMartin wrote:
> On Wed, Aug 26, 2009 at 10:37:13AM +0200, Artem Alimarine wrote:
>
>> Hi guys,
>>
>> I see unaligned access happening in apply_relocate_add. Is this normal
>> expected behavior?
>>
>> Kernel 2.6.26.2, single CPU (Standard Debian 5.0.2). Address 0x4011f968.
>>
>>
>
> No, definitely not. relocations are applied to instructions, which
> should always be instruction-width (4 bytes) aligned... Since we do
> modify-replace on placeholders, it should never be using anything other
> than a store-word to do it... do you have any more data on this?
>
> regards, Kyle
>
>
[-- Attachment #2: artem_alimarine.vcf --]
[-- Type: text/x-vcard, Size: 283 bytes --]
begin:vcard
fn:dr. Artem Alimarine
n:Alimarine;Artem
org:STROMASYS SA
adr:;;De Zaale 11;Eindhoven;;5612AJ;The Netherlands
email;internet:artem.alimarine@stromasys.com
title:Software Architect
tel;work:+31-40-2390863
tel;fax:+31-40-2390800
x-mozilla-html:FALSE
version:2.1
end:vcard
next prev parent reply other threads:[~2009-08-26 14:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-26 8:37 unaligned accesses in apply_relocate_add Artem Alimarine
2009-08-26 13:17 ` Kyle McMartin
2009-08-26 14:41 ` Artem Alimarine [this message]
2009-08-28 18:42 ` Grant Grundler
2009-08-28 18:58 ` John David Anglin
2009-09-04 22:37 ` Artem Alimarine
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=4A954990.7070007@stromasys.com \
--to=artem.alimarine@stromasys.com \
--cc=kyle@mcmartin.ca \
--cc=linux-parisc@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.