On Sun, Aug 13, 2023 at 02:21:33PM -0400, Greg Troxel wrote:
> I'm doing an update build, but I did a cleandir in libc.  This file
> fails and the rest of gdtoa seems troubled too.  (up to date netbsd-10)
> 
> ~/NetBSD-10/src/lib/libc > /usr/obj/gdt-10/tools/bin/nbmake-amd64   
> #   compile  libc/dtoa.o
> /usr/obj/gdt-10/tools/bin/x86_64--netbsd-gcc -O2   -std=gnu99    -Wall 
> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-sign-compare  
> -Wsystem-headers   -Wno-traditional   -Wa,--fatal-warnings  -Wreturn-type 
> -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -Wextra -Wno-unused-parameter 
> -Wno-sign-compare -Wold-style-definition -Wsign-compare -Wformat=2  
> -Wno-format-zero-length  -Werror   -fPIE -fstack-protector -Wstack-protector  
>  --param ssp-buffer-size=1    --sysroot=/usr/obj/gdt-10/destdir/amd64 -D_LIBC 
> -DLIBC_SCCS -DSYSLIBC_SCCS -D_REENTRANT -D_DIAGNOSTIC 
> -I/home/n0/gdt/NetBSD-10/src/lib/csu/common -DHESIOD -DINET6 -DNLS -DYP 
> -I/home/n0/gdt/NetBSD-10/src/lib/libc/include 
> -I/home/n0/gdt/NetBSD-10/src/lib/libc -I. -I/home/n0/gdt/NetBSD-10/src/sys 
> -I/home/n0/gdt/NetBSD-10/src/lib/libc/compat/../locale 
> -I/home/n0/gdt/NetBSD-10/src/lib/libc/compat/stdlib 
> -I/home/n0/gdt/NetBSD-10/src/lib/libc/compat/../stdlib -D__BUILD_LEGACY 
> -I/home/n0/gdt/NetBSD-10/src/lib/libc/../../common/lib/libc/quad 
> -I/home/n0/gdt/NetBSD-10/src/lib/libc/../../common/lib/libc/string 
> -I/home/n0/gdt/NetBSD-10/src/lib/libc/../../common/lib/libc/arch/x86_64/string
>  
> -I/home/n0/gdt/NetBSD-10/src/lib/libc/../../common/lib/libc/arch/x86_64/atomic
>  -I/home/n0/gdt/NetBSD-10/src/lib/libc/../../common/lib/libc/hash/sha3 
> -D__DBINTERFACE_PRIVATE -I/home/n0/gdt/NetBSD-10/src/libexec/ld.elf_so 
> -I/home/n0/gdt/NetBSD-10/src/lib/libc/dlfcn 
> -I/home/n0/gdt/NetBSD-10/src/lib/libc/gdtoa 
> -I/home/n0/gdt/NetBSD-10/src/lib/libc/locale -DHonor_FLT_ROUNDS 
> -I/home/n0/gdt/NetBSD-10/src/lib/libc/arch/x86_64/gdtoa -DWITH_RUNE 
> -I/home/n0/gdt/NetBSD-10/src/lib/libc -D_ACL_PRIVATE -DPOSIX_MISTAKE 
> -DCOMPAT__RES -DUSE_POLL -DPORTMAP -DUSG_COMPAT  -D_FORTIFY_SOURCE=2 -c    
> /home/n0/gdt/NetBSD-10/src/lib/libc/gdtoa/dtoa.c -o dtoa.o.o
> /home/n0/gdt/NetBSD-10/src/lib/libc/gdtoa/dtoa.c: In function '__dtoa':
> /home/n0/gdt/NetBSD-10/src/lib/libc/gdtoa/dtoa.c:262:2: internal compiler 
> error: Illegal instruction
>   262 |  ds = (dval(&d2)-1.5)*0.289529654602168 + 0.1760912590558 + 
> i*0.301029995663981;
>       |  ^~
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://www.NetBSD.org/support/send-pr.html> for instructions.

I just finished an update build for netbsd-10 amd64 - apart from some
flist shenanigans, it went smoothly.

SIGILL is a little odd. The only 3 causes I've seen in the wild:
- code bug, function pointer flying off somewhere unexpected.
- dodgy hardware.
- the `ud` family of instructions injected by clang/llvm/gcc in sanitised
  builds to catch undefined behaviour.

I wonder which case fits here... if you got a core, you may be able to
check if PC points to a ud2, etc. instruction? Though I'm not seeing gcc
built with -fsanitize=undefined in my build log.

-- 
Paul Ripke
"Great minds discuss ideas, average minds discuss events, small minds
 discuss people."
-- Disputed: Often attributed to Eleanor Roosevelt. 1948.

Reply via email to