NetBSD-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Updating with build.sh - compiler error: Illegal instruction
Hello NetBSD-Users,
I have been using NetBSD since version 1.4. I always used to a) install the system, b) fetch sources, c) compile and install custom kernel, d) compile and install userland. Never had any serious issues - until now.
The machine is a Fujitsu TX1320 M3 with G4560 CPU. Fetched sources via 'cvs checkout -r netbsd-10 -P src’.
Compiling the kernel manually ’the old fashioned way’ worked, but build.sh fails.
'./build.sh -U tools’ works.
./build.sh -U kernel=MYRNA
> # compile kern/rngtest.o
> /usr/src/obj/tooldir.NetBSD-10.1_STABLE-amd64/bin/x86_64--netbsd-gcc -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -mno-avx -msoft-float -mindirect-branch=thunk -mindirect-branch-register -ffreestanding -fno-zero-initialized-in-bss -fno-delete-null-pointer-checks -g -O2 -fno-omit-frame-pointer -fstack-protector -Wstack-protector --param ssp-buffer-size=1 -fstack-usage -Wstack-usage=3584 -fno-strict-aliasing -fno-common -std=gnu99 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wold-style-definition -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -Wno-unreachable-code -Wno-pointer-sign -Wno-attributes -Wno-type-limits -Wextra -Wno-unused-parameter -Wold-style-definition -Wno-sign-compare -Walloca -Wno-address-of-packed-member --sysroot=/usr/src/obj/destdir.amd64 -I/usr/src/sys/lib/libkern/arch/x86_64 --sysroot=/usr/src/obj/destdir.amd64 -Damd64 -Dx86_64 -I../../. -I/usr/src/sys/external/mit/xen-include-public/dist/ -I/usr/src/sys/external/bsd/libnv/dist -I/usr/src/sys/external/bsd/acpica/dist -I/usr/src/sys/../common/lib/libx86emu -I/usr/src/sys/../common/lib/libc/misc -I/usr/src/sys/../common/include -I/usr/src/sys/arch -I/usr/src/sys -nostdinc -DCOMPAT_UTILS -D__XEN_INTERFACE_VERSION__="0x3020a" -D_KERNEL -D_KERNEL_OPT -std=gnu99 -I/usr/src/sys/lib/libkern/../../../common/lib/libc/quad -I/usr/src/sys/lib/libkern/../../../common/lib/libc/string -I/usr/src/sys/lib/libkern/../../../common/lib/libc/arch/x86_64/string -I/usr/src/sys/lib/libkern/../../../common/lib/libc/arch/x86_64/atomic -I/usr/src/sys/lib/libkern/../../../common/lib/libc/hash/sha3 -D_FORTIFY_SOURCE=2 -I/usr/src/sys/../common/include -I/usr/src/sys/external/bsd/acpica/dist/include -I/usr/src/sys/external/bsd/libnv/dist -I/usr/src/sys/lib/libkern/../../../common/lib/libc/quad -I/usr/src/sys/lib/libkern/../../../common/lib/libc/string -I/usr/src/sys/lib/libkern/../../../common/lib/libc/arch/x86_64/string -I/usr/src/sys/lib/libkern/../../../common/lib/libc/arch/x86_64/atomic -I/usr/src/sys/lib/libkern/../../../common/lib/libc/hash/sha3 -I/usr/src/sys/lib/libkern/../../../common/include -I/usr/src/sys/lib/libkern/../../../common/libc/hash/sha3 -c /usr/src/sys/lib/libkern/rngtest.c -o rngtest.o.o
> /usr/src/sys/lib/libkern/rngtest.c:170:1: internal compiler error: Illegal instruction
> 170 | const long long minpoke = (MINPOKE * PRECISION);
> | ^~~~~
Replacing ‘(MINPOKE * PRECISION)’ in rngtest.c with the actual value gets past this, but it soon stops at a similar case.
I have the kernel now, but making userland with ‘./build.sh -U -u build’ fails as well:
> dependall ===> lib/../external/gpl3/gcc/lib/libgcc/libgcc
> # compile libgcc/_divxc3.o
> /usr/src/obj/tooldir.NetBSD-10.1_STABLE-amd64/bin/x86_64--netbsd-gcc -O2 -std=gnu99 -Werror -fPIE --sysroot=/usr/src/obj/destdir.amd64 -I/usr/src/external/gpl3/gcc/lib/libgcc/libgcc -I/usr/src/external/gpl3/gcc/lib/libgcc/arch/x86_64 -I/usr/src/external/gpl3/gcc/usr.bin/gcc/arch/x86_64 -DIN_GCC -DIN_LIBGCC2 -I/usr/src/external/gpl3/gcc/dist/libgcc/../gcc/config/i386 -I/usr/src/external/gpl3/gcc/dist/libgcc -I/usr/src/external/gpl3/gcc/dist/libgcc/. -I/usr/src/external/gpl3/gcc/dist/libgcc/../gcc -I/usr/src/external/gpl3/gcc/dist/libgcc/../include -fpic -fbuilding-libgcc -fno-stack-protector -I/usr/src/external/gpl3/gcc/dist/gcc/config/i386 -I/usr/src/external/gpl3/gcc/dist/gcc/ginclude -I/usr/src/external/gpl3/gcc/dist/libgcc -I/usr/src/external/gpl3/gcc/dist/libgcc/config -I/usr/src/external/gpl3/gcc/dist/libgcc/config/i386 -I/usr/src/external/gpl3/gcc/dist/gcc -I/usr/src/external/gpl3/gcc/dist/include -I. -DHAVE_CC_TLS -I/usr/src/external/gpl3/gcc/usr.bin/backend/obj -c _divxc3.c -o _divxc3.o.tmp1
> during RTL pass: expand
> In file included from _divxc3.c:2:
> /usr/src/external/gpl3/gcc/dist/libgcc/libgcc2.c: In function '__divxc3':
> /usr/src/external/gpl3/gcc/dist/libgcc/libgcc2.c:1950:26: internal compiler error: Illegal instruction
> 1950 | #define COPYSIGN CONCAT2(__builtin_copysign, CEXT)
> | ^
> /usr/src/external/gpl3/gcc/dist/libgcc/libgcc2.c:1940:23: note: in definition of macro '_CONCAT2'
> 1940 | #define _CONCAT2(A,B) A##B
> | ^
> /usr/src/external/gpl3/gcc/dist/libgcc/libgcc2.c:1950:18: note: in expansion of macro 'CONCAT2'
> 1950 | #define COPYSIGN CONCAT2(__builtin_copysign, CEXT)
> | ^~~~~~~
> /usr/src/external/gpl3/gcc/dist/libgcc/libgcc2.c:2067:8: note: in expansion of macro 'COPYSIGN'
> 2067 | x = COPYSIGN (INFINITY, c) * a;
> | ^~~~~~~~
Any hints on how to address this? The output suggest to create a bug report, but I am pretty certain it’s my fault.
Kimmina
kim%kimmina.net@localhost
Home |
Main Index |
Thread Index |
Old Index