Re: [Linux-ia64] Unaligned access in ia64

Dan Pop
2001-11-13T00:00:01Z

On Mon, 12 Nov 2001, Pereira, D LailaX E wrote:

> I have an application running fine on the Intelx86 machines. When I run the
> same on itanium machine ( linux OS) , I get the following errors:
> stress.udp(16868):unaligned access to 0x4000000000003541,
> ip=0x400000000001cfe0
> stress.udp(16868):unaligned access to 0x4000000000003541,
> ip=0x400000000001c551
>
> What could be the possible causes for this?

You're probably converting pointer to char to pointers to types with
more restrictive alignment requirements.

> Can anyone please point out?
> what are the general cautions to be taken while porting applications to
> itanium? for eg any pointer conversions , int conversions etc

Each C type wider than char has its own alignment requirements. Its
address must be a multiple of its size. The diagnostics you have
quoted above suggest that your program attempts to place such objects
at incorrectly aligned addresses (usually by converting char pointers
or void pointers to pointers to other types).

Dan