Subject: Stil trouble with building hppa on Alpha (LP64 in general)
To: None <tech-toolchain@NetBSD.org>
From: Jochen Kunz <jkunz@unixag-kl.fh-kl.de>
List: tech-toolchain
Date: 02/18/2004 23:33:29
Hi.

Fresh source from today, tools build on an AlphaStation 600 5/266. I get
at several files in the kernel:

/usr/src/src-current/tooldir/bin/hppa--netbsd-gcc -ffreestanding
-mpa-risc-1-1 -msoft-float -mdisable-fpregs -mno-space-regs
-mfast-indirect-calls -mportable-runtime -Werror -Wall -Wno-main
-Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes
-Wstrict-prototypes -Wno-sign-compare -Dhppa -Dhp700 -I.
-I/usr/src/src-current/src/sys/arch -I/usr/src/src-current/src/sys
-nostdinc -DFPEMUL -DLKM -DGSCVERBOSE -DMAXUSERS=3D32 -D_KERNEL
-D_KERNEL_OPT -c
/usr/src/src-current/src/sys/miscfs/procfs/procfs_vnops.c
/usr/src/src-current/src/sys/miscfs/procfs/procfs_vnops.c: In function
`procfs_readdir':
/usr/src/src-current/src/sys/miscfs/procfs/procfs_vnops.c:1284: error:
unrecognizable insn:
(insn 874 873 875 108 0x160b2b4f8 (set (reg:DI 437)
        (plus:DI (reg:DI 438)
            (const_int -7424 [0xffffffffffffe300]))) -1 (nil)
    (expr_list:REG_DEAD (reg:DI 438)
        (expr_list:REG_EQUAL (const_int 7166760209311818496
[0x63757270726f6300])
            (nil))))
/usr/src/src-current/src/sys/miscfs/procfs/procfs_vnops.c:1284: internal
compiler error: in extract_insn, at recog.c:2175


Most times I get around this bug by using -O2 on that speciffic file.
Sometimes I have to use -O1 to get the file compiled. Using -O[12] on
all files gives other errors on other files:

/usr/src/src-current/tooldir/bin/hppa--netbsd-gcc -ffreestanding -O1
-mpa-risc-1-1 -msoft-float -mdisable-fpregs -mno-space-regs
-mfast-indirect-calls -mportable-runtime -Werror -Wall -Wno-main
-Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes
-Wstrict-prototypes -Wno-sign-compare -Dhppa -Dhp700 -I.
-I/usr/src/src-current/src/sys/arch -I/usr/src/src-current/src/sys
-nostdinc -DFPEMUL -DLKM -DGSCVERBOSE -DMAXUSERS=3D32 -D_KERNEL
-D_KERNEL_OPT -c /usr/src/src-current/src/sys/arch/hp700/dev/mem.c
/var/tmp//ccEWjTOh.s: Assembler messages:
/var/tmp//ccEWjTOh.s:497: Error: Invalid operands=20

I get this error in mem.c on a LP32 (PPC) host to when -O[12] is used,
so this looks to be a different problem. The "unrecognizable insn"
problem seems to be a LP64 issue.

Any ideas?
--=20


tsch=FC=DF,
       Jochen

Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/