Date: Sat, 26 Nov 2016 23:42:37 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 214862] clang 3.9.0 vs. TARGET_ARCH=powerpc: fsck_ufs and "df -m" are example failures: __floatdidf gets SIGSEGV's in both of them Message-ID: <bug-214862-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D214862 Bug ID: 214862 Summary: clang 3.9.0 vs. TARGET_ARCH=3Dpowerpc: fsck_ufs and "df -m" are example failures: __floatdidf gets SIGSEGV's in both of them Product: Base System Version: CURRENT Hardware: powerpc OS: Any Status: New Severity: Affects Only Me Priority: --- Component: bin Assignee: freebsd-bugs@FreeBSD.org Reporter: markmi@dsl-only.net [This is largely extracted from a list report that I made.] I updated to head -r309197 (with a work around for -r309144 breaking the build). This was on amd64, then used it to try to cross buildworld using clang 3.9.0 for TARGET_ARCH=3Dpowerpc . The build completed. (I've been using clang 3.8.0 t= his way for a long time.) [The kernel here was cross built via gcc 4.2.1, as has been my normal procedure. The kernel still has my "red zone for signal delivery" hack that was a workaround for clang 3.8.0 stack-handling ABI violations.] Booting, however, had problems because of fsck_ufs getting signal 11 and en= ded up initially in single user mode. Exiting single user did finish the boot. But "df -m" core dumps. (I've not explored much else.) Turns out that both fsck_ufs and "df -m" fail in the same routine for a SIGSEGV: __floatdidf The details. . . First the boot and fsck_ufs: Copyright (c) 1992-2016 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 12.0-CURRENT #9 r309179M: Sat Nov 26 12:53:11 PST 2016 =20=20 markmi@FreeBSDx64:/usr/obj/powerpcvtsc_clang_gcc421_kernel/powerpc.powerpc/= usr/src/sys/GENERICvtsc-NODBG powerpc gcc version 4.2.1 20070831 patched [FreeBSD] cpu0: IBM PowerPC 970MP revision 1.1, 18446744071914.91 MHz cpu0: Features dc000000<PPC32,PPC64,ALTIVEC,FPU,MMU> cpu0: HID0 1511081<DEEPNAP,NAP,DPM,NHR,TBEN,ENATTN> real memory =3D 2118565888 (2020 MB) avail memory =3D 2014863360 (1921 MB) FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs . . . Trying to mount root from ufs:/dev/ufs/FBSDG4Srootfs [rw,noatime]... . . . pid 53 (fsck_ufs), uid 0: exited on signal 11 Manually running fsck later gets a segmentation fault core file in /var/cra= sh/ and I used this too see a point of failure (__floatdidf): # fsck / ** /dev/ufs/FBSDG4Srootfs (NO WRITE) ** Last Mounted on / ** Root file system ** Phase 1 - Check Blocks and Sizes INCORRECT BLOCK COUNT I=3D11538459 (8 should be 0) CORRECT? no ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts LINK COUNT FILE I=3D10016041 OWNER=3Doperator MODE=3D100400 SIZE=3D4096 MTIME=3DNov 26 14:44 2016 COUNT 2 SHOULD BE 1 ADJUST? no LINK COUNT FILE I=3D10016049 OWNER=3Doperator MODE=3D100400 SIZE=3D4096 MTIME=3DNov 26 14:55 2016 COUNT 2 SHOULD BE 1 ADJUST? no LINK COUNT FILE I=3D10016089 OWNER=3Doperator MODE=3D100400 SIZE=3D4096 MTIME=3DNov 26 15:00 2016 COUNT 2 SHOULD BE 1 ADJUST? no UNREF FILE I=3D11538459 OWNER=3Droot MODE=3D100600 SIZE=3D0 MTIME=3DNov 26 15:11 2016=20 RECONNECT? no CLEAR? no ** Phase 5 - Check Cyl groups FREE BLK COUNT(S) WRONG IN SUPERBLK SALVAGE? no SUMMARY INFORMATION BAD SALVAGE? no BLK(S) MISSING IN BIT MAPS SALVAGE? no fsck: /dev/ufs/FBSDG4Srootfs: Segmentation fault # gdb fsck_ufs /var/crash/fsck_ufs.1129.core=20 GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain condition= s. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "powerpc-marcel-freebsd"... Core was generated by `fsck_ufs /dev/ufs/FBSDG4Srootfs'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libufs.so.6...Reading symbols from /usr/lib/debug//lib/libufs.so.6.debug...done. done. Loaded symbols for /lib/libufs.so.6 Reading symbols from /lib/libc.so.7...Reading symbols from /usr/lib/debug//lib/libc.so.7.debug...done. done. Loaded symbols for /lib/libc.so.7 Reading symbols from /libexec/ld-elf.so.1...Reading symbols from /usr/lib/debug//libexec/ld-elf.so.1.debug...done. done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x0181b024 in __floatdidf () (gdb) bt #0 0x0181b024 in __floatdidf () #1 0x0180a8e0 in main (argc=3D<value optimized out>, argv=3D<value optimiz= ed out>) at /usr/src/sbin/fsck_ffs/main.c:519 #2 0x01801664 in _start () #3 0x418303a0 in .text () at /usr/src/libexec/rtld-elf/powerpc/rtld_start.S:112 main.c's line 519 is part of: printf("(%ju frags, %ju blocks, %.1f%% fragmentation)\n", (uintmax_t)n_ffree, (uintmax_t)n_bfree, n_ffree * 100.0 / sblock.fs_dsize); As for "df -m" --it failed in __floatdidf as well: # gdb df /var/crash/df.1056.core=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20 GNU= gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain condition= s. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "powerpc-marcel-freebsd"... Core was generated by `df -m'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libxo.so.0...Reading symbols from /usr/lib/debug//lib/libxo.so.0.debug...done. done. Loaded symbols for /lib/libxo.so.0 Reading symbols from /lib/libutil.so.9...Reading symbols from /usr/lib/debug//lib/libutil.so.9.debug...done. done. Loaded symbols for /lib/libutil.so.9 Reading symbols from /lib/libc.so.7...Reading symbols from /usr/lib/debug//lib/libc.so.7.debug...done. done. Loaded symbols for /lib/libc.so.7 Reading symbols from /libexec/ld-elf.so.1...Reading symbols from /usr/lib/debug//libexec/ld-elf.so.1.debug...done. done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x01802a18 in __floatdidf () (gdb) bt #0 0x01802a18 in __floatdidf () #1 0x01802538 in prtstat (sfsp=3D0x41e24000, mwp=3D0xffffd930) at /usr/src/bin/df/df.c:503 #2 0x01801df0 in main (argc=3D<value optimized out>, argv=3D<value optimiz= ed out>) at /usr/src/bin/df/df.c:308 #3 0x01800cdc in _start () #4 0x418153a0 in .text () at /usr/src/libexec/rtld-elf/powerpc/rtld_start.S:112 df.c's line 503 was part of: xo_emit(" {:used-percent/%5.0f}{U:%%}", availblks =3D=3D 0 ? 100.0 : (double)used / (double)availblks * = 100.0); Context details: # head ~/sys_typescripts/typescript_make_powerpcvtsc_nodebug_clang_bootstrap_world= -amd64-host-2016-11-26:11:38:36=20 Script started on Sat Nov 26 11:38:36 2016 Command: env __MAKE_CONF=3D/root/src.configs/make.conf SRCCONF=3D/dev/null SRC_ENV_CONF=3D/root/src.configs/src.conf.powerpc-clang-bootstrap.amd64-host WITH_META_MODE=3Dyes MAKEOBJDIRPREFIX=3D/usr/obj/powerpcvtsc_clang_world ma= ke -j 5 buildworld --- buildworld --- . . . # more ~/src.configs/src.conf.powerpc-clang-bootstrap.amd64-host TO_TYPE=3Dpowerpc # KERNCONF=3DGENERICvtsc-NODBG TARGET=3D${TO_TYPE} .if ${.MAKE.LEVEL} =3D=3D 0 TARGET_ARCH=3D${TO_TYPE} .export TARGET_ARCH .endif # WITH_CROSS_COMPILER=3D WITHOUT_SYSTEM_COMPILER=3D # WITH_LIBCPLUSPLUS=3D WITH_BINUTILS_BOOTSTRAP=3D WITH_CLANG_BOOTSTRAP=3D WITH_CLANG=3D WITH_CLANG_IS_CC=3D WITH_CLANG_FULL=3D WITH_CLANG_EXTRAS=3D # lldb requires missing atomic 8-byte operations for powerpc (non-64) WITHOUT_LLDB=3D # WITH_BOOT=3D WITHOUT_LIB32=3D # WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=3D WITHOUT_GCC_BOOTSTRAP=3D WITHOUT_GCC=3D WITHOUT_GCC_IS_CC=3D WITHOUT_GNUCXX=3D # NO_WERROR=3D #WERROR=3D MALLOC_PRODUCTION=3D # WITH_DEBUG_FILES=3D # more ~/src.configs/make.conf=20 CFLAGS.gcc+=3D -v --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-214862-8>