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
k...@kimmina.net



Reply via email to