[parisc-linux] gcc-3.[02] alignment problem

John David Anglin dave@hiauly1.hia.nrc.ca
Tue, 16 Jul 2002 12:55:59 -0400 (EDT)


> Compiling the linux kernel (2.4.19-rc1-ac5) with hppa64-linux-gcc 
> (3.0.4 or 3.2) gives:
> 
> tausq@a500:~/src/linux-2.4.19-rc1/net/ipv4$ hppa64-linux-gcc -D__KERNEL__ -I/home/tausq/src/linux-2.4.19-rc1/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -D__linux__ -pipe -fno-strength-reduce -mno-space-regs -mfast-indirect-calls -mdisable-fpregs -ffunction-sections -march=2.0 -mschedule=8000   -nostdinc -I /usr/lib/gcc-lib/hppa64-linux/3.0/include -DKBUILD_BASENAME=tcp_diag  -c -o tcp_diag.o tcp_diag.c
> {standard input}: Assembler messages:
> {standard input}:138: Error: Field not properly aligned [8] (44).
> {standard input}:138: Error: Invalid operands
> {standard input}:609: Error: Field not properly aligned [8] (44).
> {standard input}:609: Error: Invalid operands
> {standard input}:707: Error: Field not properly aligned [8] (44).
> {standard input}:707: Error: Invalid operands

These messages are coming from the assembler (remove "-pipe").  The
first is from "std %r4,44(%r3)".  The offset "44" is not correct for
a store double.  This is probably a problem with pointer arithmetic
in the source.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)