From owner-freebsd-current@freebsd.org Fri Jul 27 06:29:58 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 67EF81062262 for ; Fri, 27 Jul 2018 06:29:58 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic310-21.consmr.mail.ne1.yahoo.com (sonic310-21.consmr.mail.ne1.yahoo.com [66.163.186.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BD7598726F for ; Fri, 27 Jul 2018 06:29:57 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: 8Oge2iEVM1nbQBAnim4krKruU5hOC39fB4TjvuUiXxrW.Rd5b_Qv7z1n5wXbRxG 2iWdOJsZI_rBV8XpP6AQPIQrkm9cbNeFN8vsJkBKvwPRtJc7QiUF6VO10XYDZPPgzcDQd.DTq9NZ tv4CrrRIKP9BX_oSmVhuLB1Xn10go87p7zuprddT4gPh.JsUqksvLdiUPfB861IK0PRTY5hu3AwI 4Lo8CSY6sTQjWG_F2WQWXgBOPMsRrVEBcLiFu403YQm5MdsU0K5w8bI0.vI2a43eEClCv7Cmg19f waXMni47RsnQ_FFfDAUZstzWFVmCRgJWnzvmYFZfCnHUpjfkI.Ebwl1XT7m8lG1_gAFwbw_ceYC6 CUWBHS7tTJAzL22uiLxYoWO5EAT.Vrm7l9cN6d38KSn0g2aB3sc3X3kIIDfgGi8sKBWkETdyPhQY qp3U1YRTQVIsZn_PZgwLx37ew7xvbVbVaevVq8NVbeeKkjGrbBueK6a1zxBnGmHXTfvJmhRrl56C 6aupPrKJpEQEvsPWXlkFplvHvOlqxCPKseY.MEStfq4ZGCT8E86lcKPX8EuMoqU2ECmscjOAKMO7 ijy8IrxraRGyi5.riscwj1WxGTlFzJM8OmFwtshjjqpF_R3VkcenCjTHf5_RCJtk1oIs_x0VyJAI LsnVCwVkjUWU3_Fk.OYxjaqNqWBCWRCb9ZROS_t9dYgEFUicYWuEnYOKFkVzgfw1Y87J0VCe1blg rMMcSdaX3bW9eHrmdF4Pibklve4Wxjz_oMuFmbxD9k.PYu1ramkz3z0F6TP7aZHrDmkO76bQD285 9L5p1t9s4jw24c4iaBFji_SJCN261aAJPBtz5_2pq1DEUqw9R2OKIucxr6bm3bx_p.tmeyxnmbGY JSrRxeTUeYJ8L8WaJRoo1CR0BkSN7i6THOzJ3aNKDVy1CuFrHnXpYASYCZpd3mx4x33sKvG0bv9v e3AmsZgH2KRUXGAa_r5Rnlmbc63COYGJGVEOWMY_xIexTLNtEHjfKwowWuA4Od5uAQPGaaxdpjq1 BkQ4- Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.ne1.yahoo.com with HTTP; Fri, 27 Jul 2018 06:29:56 +0000 Received: from ip70-189-131-151.lv.lv.cox.net (EHLO [192.168.0.105]) ([70.189.131.151]) by smtp403.mail.ne1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 8b0ef247023d1b87e5e70354b1b7fdc3; Fri, 27 Jul 2018 06:29:51 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) Subject: Re: head -r336568 and -r336570 appears to have made ci.freebsg.org's FreeBSD-head-amd64-gcc fail either than it had been (error: operand type 'struct *' is incompatible with argument 1 of '__atomic_fetch_add') From: Mark Millard In-Reply-To: Date: Thu, 26 Jul 2018 23:29:49 -0700 Cc: Konstantin Belousov , FreeBSD Current Content-Transfer-Encoding: quoted-printable Message-Id: <462BE582-0C2E-4D40-92F3-A27155777E58@yahoo.com> References: <95fdbf29-6c11-77a6-27a3-2d0dc30f1668@FreeBSD.org> <788B1EE7-EFC9-4AD4-9FD1-9876D0121189@yahoo.com> <9D40F38E-F1DC-4A3F-8792-09AD30D8802B@yahoo.com> <1ea2a8d0-b27a-503a-0a8b-48d7fbcd8fcb@FreeBSD.org> <0103123A-2D77-4D64-8FF6-97CD521CA7A8@yahoo.com> <11b515f2-5777-f983-bec5-e60bceda06ab@FreeBSD.org> <6DB0B921-30C8-4BF5-B610-770C0CBF1174@yahoo.com> To: John Baldwin X-Mailer: Apple Mail (2.3445.9.1) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2018 06:29:58 -0000 On 2018-Jul-26, at 9:06 PM, Mark Millard wrote: > On 2018-Jul-26, at 6:14 PM, Mark Millard wrote: >=20 >> On 2018-Jul-26, at 11:21 AM, John Baldwin wrote: >>=20 >>> On 7/26/18 10:55 AM, Mark Millard wrote: >>>> . . . >>>=20 >>> Yes, but the -E from above was when compiled with external GCC and = it didn't change >>> _Atomic(int). Here's part of the source of bar.c: >>>=20 >>> #include >>> #include >>>=20 >>> struct foo { >>> _Atomic(int) one; >>> _Atomic int two; >>> atomic_int three; >>> }; >>>=20 >>> And here is what that became after -E: >>>=20 >>> # 4 "bar.c" >>> struct foo { >>> _Atomic(int) one; >>> _Atomic int two; >>> atomic_int three; >>> }; >>>=20 >>> So cdefs.h did not define _Atomic. >>>=20 >>> Ah, if I add '-std=3Dc99' then it does break. Code that wants to = use >>> C11 atomics via should not be using -std=3Dc99. Try = this: >>>=20 >>> Index: lib/ofed/librdmacm/Makefile >>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>> --- lib/ofed/librdmacm/Makefile (revision 335896) >>> +++ lib/ofed/librdmacm/Makefile (working copy) >>> @@ -8,6 +8,7 @@ >>> SHLIB_MAJOR=3D 1 >>> MK_PROFILE=3D no >>> CFLAGS+=3D -I${_spath} >>> +CSTD=3D gnu11 >>>=20 >>> SRCS=3D \ >>> acm.c \ >>>=20 >>> If this works then we should probably mark OFED as a BROKEN_OPTION = when >>> building with ancient GCC for now as well. >>=20 >> I've "unreverted" to set up a context for testing this. >>=20 >> So far I'll I've done is to test that I can still reproduce the = failure >> in my environment, same sort of error reports as ci.freebsd.org's >> FreeBSD-head-amd64-gcc . This is without your patch. >>=20 >> But I've done this with gcc being given -v so that I've the exact = commands >> and search order and the like. It does show: -std=3Dgnu99 . I list = the >> filemon data from the .meta as well, showing the exact mix of >> FreeBSD and gcc headers used. (I could also provide such for with >> the reverted Makefile.{inc1,libcompat} [so non-failing] build if you >> care.) >>=20 >>=20 >> For now I just report the failure *without your patch*: >> (I'll build again with your patch next.) >>=20 >> . . . >> --- all_subdir_lib/ofed --- >> Building = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/lib/ofed/lib= rdmacm/acm.o >> --- acm.o --- >> Using built-in specs. >> COLLECT_GCC=3D/usr/local/bin/x86_64-unknown-freebsd12.0-gcc >> Target: x86_64-unknown-freebsd12.0 >> Configured with: = /wrkdirs/usr/ports/devel/amd64-gcc/work/gcc-6.4.0/configure = --target=3Dx86_64-unknown-freebsd12.0 --disable-nls = --enable-languages=3Dc,c++ --enable-gnu-indirect-function = --without-headers --with-gmp=3D/usr/local --with-pkgversion=3D'FreeBSD = Ports Collection for amd64' --with-system-zlib = --with-gxx-include-dir=3D/usr/include/c++/v1/ --with-sysroot=3D/ = --with-as=3D/usr/local/bin/x86_64-unknown-freebsd12.0-as = --with-ld=3D/usr/local/bin/x86_64-unknown-freebsd12.0-ld = --enable-initfini-array --prefix=3D/usr/local --localstatedir=3D/var = --mandir=3D/usr/local/man --infodir=3D/usr/local/info/ = --build=3Dx86_64-unknown-freebsd12.0 >> Thread model: posix >> gcc version 6.4.0 (FreeBSD Ports Collection for amd64)=20 >> COLLECT_GCC_OPTIONS=3D'-B' = '/usr/local/x86_64-unknown-freebsd12.0/bin/' '-O2' '-pipe' '-I' = '/usr/src/contrib/ofed/librdmacm' '-g' '-std=3Dgnu99' = '-fstack-protector-strong' '-Wno-error=3Daddress' = '-Wno-error=3Darray-bounds' '-Wno-error=3Dattributes' = '-Wno-error=3Dbool-compare' '-Wno-error=3Dcast-align' = '-Wno-error=3Dclobbered' '-Wno-error=3Denum-compare' '-Wno-error=3Dextra' = '-Wno-error=3Dinline' '-Wno-error=3Dlogical-not-parentheses' = '-Wno-error=3Dstrict-aliasing' '-Wno-error=3Duninitialized' = '-Wno-error=3Dunused-but-set-variable' '-Wno-error=3Dunused-function' = '-Wno-error=3Dunused-value' '-Wno-error=3Dmisleading-indentation' = '-Wno-error=3Dnonnull-compare' '-Wno-error=3Dshift-negative-value' = '-Wno-error=3Dtautological-compare' '-Wno-error=3Dunused-const-variable' = '-v' '-c' '-o' 'acm.o' '-mtune=3Dgeneric' '-march=3Dx86-64' >> /usr/local/libexec/gcc/x86_64-unknown-freebsd12.0/6.4.0/cc1 -quiet -v = -I /usr/src/contrib/ofed/librdmacm -isysroot = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp = /usr/src/contrib/ofed/librdmacm/acm.c -quiet -dumpbase acm.c = -mtune=3Dgeneric -march=3Dx86-64 -auxbase-strip acm.o -g -O2 = -Wno-error=3Daddress -Wno-error=3Darray-bounds -Wno-error=3Dattributes = -Wno-error=3Dbool-compare -Wno-error=3Dcast-align -Wno-error=3Dclobbered = -Wno-error=3Denum-compare -Wno-error=3Dextra -Wno-error=3Dinline = -Wno-error=3Dlogical-not-parentheses -Wno-error=3Dstrict-aliasing = -Wno-error=3Duninitialized -Wno-error=3Dunused-but-set-variable = -Wno-error=3Dunused-function -Wno-error=3Dunused-value = -Wno-error=3Dmisleading-indentation -Wno-error=3Dnonnull-compare = -Wno-error=3Dshift-negative-value -Wno-error=3Dtautological-compare = -Wno-error=3Dunused-const-variable -std=3Dgnu99 -version = -fstack-protector-strong -o - | >> /usr/local/bin/x86_64-unknown-freebsd12.0-as -v -I = /usr/src/contrib/ofed/librdmacm -o acm.o >> GNU C99 (FreeBSD Ports Collection for amd64) version 6.4.0 = (x86_64-unknown-freebsd12.0) >> compiled by GNU C version 4.2.1 Compatible FreeBSD Clang 6.0.0 = (tags/RELEASE_600/final 326565), GMP version 6.1.2, MPFR version 4.0.1, = MPC version 1.1.0, isl version none >> GGC heuristics: --param ggc-min-expand=3D100 --param = ggc-min-heapsize=3D131072 >> ignoring nonexistent directory = "/usr/local/lib/gcc/x86_64-unknown-freebsd12.0/6.4.0/include-fixed" >> ignoring nonexistent directory = "/usr/local/lib/gcc/x86_64-unknown-freebsd12.0/6.4.0/../../../../x86_64-un= known-freebsd12.0/include" >> #include "..." search starts here: >> #include <...> search starts here: >> /usr/src/contrib/ofed/librdmacm >> /usr/local/lib/gcc/x86_64-unknown-freebsd12.0/6.4.0/include >> = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude >> End of search list. >> GNU assembler version 2.30 (x86_64-unknown-freebsd12.0) using BFD = version (GNU Binutils) 2.30 >> GNU C99 (FreeBSD Ports Collection for amd64) version 6.4.0 = (x86_64-unknown-freebsd12.0) >> compiled by GNU C version 4.2.1 Compatible FreeBSD Clang 6.0.0 = (tags/RELEASE_600/final 326565), GMP version 6.1.2, MPFR version 4.0.1, = MPC version 1.1.0, isl version none >> GGC heuristics: --param ggc-min-expand=3D100 --param = ggc-min-heapsize=3D131072 >> Compiler executable checksum: 0b55436e4202650149cc2feb351f4e0e >> In file included from /usr/src/contrib/ofed/librdmacm/cma.h:43:0, >> from /usr/src/contrib/ofed/librdmacm/acm.c:42: >> /usr/src/contrib/ofed/librdmacm/cma.h: In function 'fastlock_init': >> /usr/src/contrib/ofed/librdmacm/cma.h:60:2: error: invalid = initializer >> atomic_store(&lock->cnt, 0); >> ^ >> In file included from /usr/src/contrib/ofed/librdmacm/acm.c:42:0: >> /usr/src/contrib/ofed/librdmacm/cma.h: In function = 'fastlock_acquire': >> /usr/src/contrib/ofed/librdmacm/cma.h:68:2: error: operand type = 'struct *' is incompatible with argument 1 of = '__atomic_fetch_add' >> if (atomic_fetch_add(&lock->cnt, 1) > 0) >> ^~ >> /usr/src/contrib/ofed/librdmacm/cma.h: In function = 'fastlock_release': >> /usr/src/contrib/ofed/librdmacm/cma.h:73:2: error: operand type = 'struct *' is incompatible with argument 1 of = '__atomic_fetch_sub' >> if (atomic_fetch_sub(&lock->cnt, 1) > 1) >> ^~ >> *** [acm.o] Error code 1 >>=20 >> make[6]: stopped in /usr/src/lib/ofed/librdmacm >> .ERROR_TARGET=3D'acm.o' >> = .ERROR_META_FILE=3D'/usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd6= 4.amd64/lib/ofed/librdmacm/acm.o.meta' >> .MAKE.LEVEL=3D'6' >> MAKEFILE=3D'' >> .MAKE.MODE=3D'meta missing-filemon=3Dyes missing-meta=3Dyes = silent=3Dyes verbose' >> _ERROR_CMD=3D'/usr/local/bin/x86_64-unknown-freebsd12.0-gcc = --sysroot=3D/usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/= tmp -B/usr/local/x86_64-unknown-freebsd12.0/bin/ -O2 -pipe = -I/usr/src/contrib/ofed/librdmacm -g -std=3Dgnu99 = -fstack-protector-strong -Wno-error=3Daddress -Wno-error=3Darray-bounds = -Wno-error=3Dattributes -Wno-error=3Dbool-compare -Wno-error=3Dcast-align = -Wno-error=3Dclobbered -Wno-error=3Denum-compare -Wno-error=3Dextra = -Wno-error=3Dinline -Wno-error=3Dlogical-not-parentheses = -Wno-error=3Dstrict-aliasing -Wno-error=3Duninitialized = -Wno-error=3Dunused-but-set-variable -Wno-error=3Dunused-function = -Wno-error=3Dunused-value -Wno-error=3Dmisleading-indentation = -Wno-error=3Dnonnull-compare -Wno-error=3Dshift-negative-value = -Wno-error=3Dtautological-compare -Wno-error=3Dunused-const-variable = -v -c /usr/src/contrib/ofed/librdmacm/acm.c -o acm.o; ;' >> .CURDIR=3D'/usr/src/lib/ofed/librdmacm' >> .MAKE=3D'make' >> = .OBJDIR=3D'/usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/l= ib/ofed/librdmacm' >> .TARGETS=3D'all' >> = DESTDIR=3D'/usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/t= mp' >> LD_LIBRARY_PATH=3D'' >> MACHINE=3D'amd64' >> MACHINE_ARCH=3D'amd64' >> MAKEOBJDIRPREFIX=3D'' >> MAKESYSPATH=3D'/usr/src/share/mk' >> MAKE_VERSION=3D'20180512' >> = PATH=3D'/usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/= legacy/usr/sbin:/usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.am= d64/tmp/legacy/usr/bin:/usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/a= md64.amd64/tmp/legacy/bin:/usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/sr= c/amd64.amd64/tmp/usr/sbin:/usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/s= rc/amd64.amd64/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin' >> SRCTOP=3D'/usr/src' >> = OBJTOP=3D'/usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64' >> .MAKE.MAKEFILES=3D'/usr/src/share/mk/sys.mk = /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk = /root/src.configs/src.conf.amd64-xtoolchain-gcc.amd64-host = /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/src.sys.obj.mk = /usr/src/share/mk/auto.obj.mk /usr/src/share/mk/bsd.suffixes.mk = /root/src.configs/make.conf /usr/src/share/mk/local.sys.mk = /usr/src/share/mk/src.sys.mk /dev/null = /usr/src/lib/ofed/librdmacm/Makefile /usr/src/share/mk/bsd.lib.mk = /usr/src/share/mk/bsd.init.mk /usr/src/share/mk/bsd.opts.mk = /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/local.init.mk = /usr/src/share/mk/src.init.mk = /usr/src/lib/ofed/librdmacm/../Makefile.inc /usr/src/share/mk/bsd.own.mk = /usr/src/share/mk/bsd.compiler.mk /usr/src/share/mk/bsd.linker.mk = /usr/src/share/mk/bsd.libnames.mk /usr/src/share/mk/src.libnames.mk = /usr/src/share/mk/src.opts.mk /usr/src/share/mk/bsd.symver.mk = /usr/src/share/mk/bsd.nls.mk /usr/src/share/mk/bsd.confs.mk = /usr/src/share/mk/bsd.files.mk /usr/src/share/mk/bsd.dirs.mk = /usr/src/share/mk/bsd.incs.mk /usr/src/share/mk/bsd.links.mk = /usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk = /usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.subdir.mk = /usr/src/share/mk/bsd.sys.mk' >> .PATH=3D'. /usr/src/lib/ofed/librdmacm = /usr/src/contrib/ofed/librdmacm /usr/src/contrib/ofed/librdmacm/man' >> 1 error >>=20 >> =46rom = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/lib/ofed/lib= rdmacm/acm.o.meta >> is the filemon data: >>=20 >> -- filemon acquired metadata -- >> # filemon version 5 >> # Target pid 95011 >> # Start 1532652684.414953 >> V 5 >> E 95033 /bin/sh >> R 95033 /etc/libmap.conf >> R 95033 /var/run/ld-elf.so.hints >> R 95033 /lib/libedit.so.7 >> R 95033 /lib/libc.so.7 >> R 95033 /lib/libncursesw.so.8 >> F 95033 95034 >> E 95034 /usr/local/bin/x86_64-unknown-freebsd12.0-gcc >> R 95034 /etc/libmap.conf >> R 95034 /var/run/ld-elf.so.hints >> R 95034 /usr/lib/libc++.so.1 >> R 95034 /lib/libcxxrt.so.1 >> R 95034 /lib/libm.so.5 >> R 95034 /lib/libc.so.7 >> R 95034 /lib/libgcc_s.so.1 >> F 95034 95035 >> E 95035 /usr/local/libexec/gcc/x86_64-unknown-freebsd12.0/6.4.0/cc1 >> F 95034 95036 >> R 95035 /etc/libmap.conf >> R 95035 /var/run/ld-elf.so.hints >> R 95035 /usr/local/lib/libmpc.so.3 >> R 95035 /usr/local/lib/libmpfr.so.6 >> R 95035 /usr/local/lib/libgmp.so.10 >> R 95035 /lib/libz.so.6 >> R 95035 /usr/lib/libc++.so.1 >> R 95035 /lib/libcxxrt.so.1 >> R 95035 /lib/libm.so.5 >> R 95035 /lib/libc.so.7 >> R 95035 /lib/libgcc_s.so.1 >> R 95035 /dev/urandom >> R 95035 /usr/src/contrib/ofed/librdmacm/acm.c >> E 95036 /usr/local/bin/x86_64-unknown-freebsd12.0-as >> R 95036 /etc/libmap.conf >> R 95036 /var/run/ld-elf.so.hints >> R 95036 /lib/libc.so.7 >> R 95036 acm.o >> W 95036 acm.o >> R 95035 /usr/src/contrib/ofed/librdmacm/config.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/stdio.h >> R 95035 /usr/src/sys/sys/cdefs.h >> R 95035 /usr/src/sys/sys/_null.h >> R 95035 /usr/src/sys/sys/_types.h >> R 95035 /usr/src/sys/amd64/include/_types.h >> R 95035 /usr/src/sys/x86/include/_types.h >> R 95035 /usr/src/sys/amd64/include/_limits.h >> R 95035 /usr/src/sys/x86/include/_limits.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/inttypes.h >> R 95035 /usr/src/sys/amd64/include/_inttypes.h >> R 95035 /usr/src/sys/x86/include/_inttypes.h >> R 95035 /usr/src/sys/sys/stdint.h >> R 95035 /usr/src/sys/amd64/include/_stdint.h >> R 95035 /usr/src/sys/x86/include/_stdint.h >> R 95035 /usr/src/sys/amd64/include/_limits.h >> R 95035 /usr/src/sys/sys/_stdint.h >> R 95035 /usr/src/sys/sys/types.h >> R 95035 /usr/src/sys/amd64/include/endian.h >> R 95035 /usr/src/sys/x86/include/endian.h >> R 95035 /usr/src/sys/sys/_pthreadtypes.h >> R 95035 /usr/src/sys/sys/select.h >> R 95035 /usr/src/sys/sys/_sigset.h >> R 95035 /usr/src/sys/sys/_timeval.h >> R 95035 /usr/src/sys/sys/timespec.h >> R 95035 /usr/src/sys/sys/_timespec.h >> R 95035 /usr/src/sys/sys/socket.h >> R 95035 /usr/src/sys/sys/_iovec.h >> R 95035 /usr/src/sys/amd64/include/_align.h >> R 95035 /usr/src/sys/x86/include/_align.h >> R 95035 /usr/src/sys/sys/_sockaddr_storage.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/netdb.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/unistd.h >> R 95035 /usr/src/sys/sys/unistd.h >> R 95035 /usr/src/contrib/ofed/librdmacm/cma.h >> R 95035 /usr/src/contrib/ofed/librdmacm/config.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/stdlib.h >> R 95035 /usr/src/sys/sys/errno.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/infiniband/endian.h >> R 95035 /usr/src/sys/sys/endian.h >> R 95035 /usr/src/sys/amd64/include/endian.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/semaphore.h >> R 95035 /usr/src/sys/sys/_umtx.h >> R 95035 /usr/src/sys/amd64/include/_limits.h >> R 95035 = /usr/local/lib/gcc/x86_64-unknown-freebsd12.0/6.4.0/include/stdatomic.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/rdma/rdma_cma.h >> R 95035 /usr/src/sys/netinet/in.h >> R 95035 /usr/src/sys/amd64/include/endian.h >> R 95035 /usr/src/sys/netinet6/in6.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/infiniband/verbs.h >> R 95035 = /usr/local/lib/gcc/x86_64-unknown-freebsd12.0/6.4.0/include/stdint.h >> R 95035 /usr/src/sys/sys/stdint.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/pthread.h >> R 95035 /usr/src/sys/amd64/include/_limits.h >> R 95035 /usr/src/sys/amd64/include/_types.h >> R 95035 /usr/src/sys/sys/sched.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/time.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/xlocale/_time.h >> R 95035 = /usr/local/lib/gcc/x86_64-unknown-freebsd12.0/6.4.0/include/stddef.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/string.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/strings.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/xlocale/_strings.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/xlocale/_string.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/infiniband/types.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/infiniband/sa.h >> R 95035 = /usr/obj/amd64_xtoolchain-gcc/amd64.amd64/usr/src/amd64.amd64/tmp/usr/incl= ude/infiniband/ib.h >> R 95035 /usr/src/contrib/ofed/librdmacm/cma.h >> X 95036 0 0 >> X 95035 1 0 >> D 95034 acm.o >> X 95034 1 0 >> X 95033 1 0 >> # Stop 1532652684.494688 >> # Bye bye >>=20 >>=20 >>=20 >> For reference the amd64-gcc is: >>=20 >> # pkg info amd64-gcc >> amd64-gcc-6.4.0_1 >> Name : amd64-gcc >> Version : 6.4.0_1 >> Installed on : Sun Jul 15 09:15:38 2018 PDT >> Origin : devel/amd64-gcc >> Architecture : FreeBSD:12:amd64 >> Prefix : /usr/local >> Categories : devel >> Licenses : GPLv3, GPLv3RLE >> Maintainer : kan@FreeBSD.org >> WWW : http://gcc.gnu.org/ >> Comment : Cross GNU Compiler Collection for amd64 >> Shared Libs required: >> libmpc.so.3 >> libgmp.so.10 >> libmpfr.so.6 >> Shared Libs provided: >> liblto_plugin.so.0 >> Annotations : >> FreeBSD_version: 1200069 >> repo_type : binary >> repository : custom >> Flat size : 338MiB >> Description : >> GCC, the GNU Compiler Collection supporting C and C++ for targetting = crossbuilding. >>=20 >> WWW: http://gcc.gnu.org/ >=20 > With your patch it gets past that point of build failure. >=20 > But my devel/amd64-gcc predates the removal of float.h from > the installed devel/amd64-gcc so the following may not be as > it would be in such a context: >=20 > --- lib/msun__L --- > /usr/src/lib/msun/src/catrigl.c:90:2: error: #error "Unsupported long = double format" > #error "Unsupported long double format" > ^~~~~ > . . . > --- lib/msun__L --- > /usr/src/lib/msun/src/catrigl.c: In function 'casinhl': > /usr/src/lib/msun/src/catrigl.c:190:35: error: 'm_ln2' undeclared = (first use in this function) > w =3D clog_for_large_values(z) + m_ln2; > ^~~~~ > /usr/src/lib/msun/src/catrigl.c:190:35: note: each undeclared = identifier is reported only once for each function it appears in > /usr/src/lib/msun/src/catrigl.c:202:11: error: 'SQRT_6_EPSILON' = undeclared (first use in this function) > if (ax < SQRT_6_EPSILON / 4 && ay < SQRT_6_EPSILON / 4) > ^~~~~~~~~~~~~~ > /usr/src/lib/msun/src/catrigl.c: In function 'cacosl': > /usr/src/lib/msun/src/catrigl.c:250:20: error: 'm_ln2' undeclared = (first use in this function) > ry =3D creall(w) + m_ln2; > ^~~~~ > /usr/src/lib/msun/src/catrigl.c:261:11: error: 'SQRT_6_EPSILON' = undeclared (first use in this function) > if (ax < SQRT_6_EPSILON / 4 && ay < SQRT_6_EPSILON / 4) > ^~~~~~~~~~~~~~ > In file included from /usr/src/lib/msun/src/catrigl.c:45:0: >=20 >=20 >=20 > I can remove float.h and see what happens. While the build without gcc's float.h goes on, here are some small experiments with interesting results (mostly these are with -std=3Dgnu11): # more AtomicTest.c=20 // x86_64-unknown-freebsd12.0-gcc -v -E AtomicTest.c #include #include struct foo { _Atomic(int) one; _Atomic int two; atomic_int three; }; # x86_64-unknown-freebsd12.0-gcc -dM -std=3Dgnu11 -E AtomicTest.c | grep = has_ #define __has_include(STR) __has_include__(STR) #define __has_include_next(STR) __has_include_next__(STR) #define __has_extension __has_feature #define __has_builtin(x) 0 #define __has_feature(x) 0 (-std=3Dgnu99 matches the above) # x86_64-unknown-freebsd12.0-gcc -dM -std=3Dgnu11 -E AtomicTest.c | grep = atomic_fetch #define atomic_fetch_or(PTR,VAL) __atomic_fetch_or ((PTR), (VAL), = __ATOMIC_SEQ_CST) #define atomic_fetch_or_explicit(PTR,VAL,MO) __atomic_fetch_or ((PTR), = (VAL), (MO)) #define atomic_fetch_and_explicit(PTR,VAL,MO) __atomic_fetch_and ((PTR), = (VAL), (MO)) #define atomic_fetch_sub_explicit(PTR,VAL,MO) __atomic_fetch_sub ((PTR), = (VAL), (MO)) #define atomic_fetch_xor_explicit(PTR,VAL,MO) __atomic_fetch_xor ((PTR), = (VAL), (MO)) #define atomic_fetch_add(PTR,VAL) __atomic_fetch_add ((PTR), (VAL), = __ATOMIC_SEQ_CST) #define atomic_fetch_sub(PTR,VAL) __atomic_fetch_sub ((PTR), (VAL), = __ATOMIC_SEQ_CST) #define atomic_fetch_and(PTR,VAL) __atomic_fetch_and ((PTR), (VAL), = __ATOMIC_SEQ_CST) #define atomic_fetch_xor(PTR,VAL) __atomic_fetch_xor ((PTR), (VAL), = __ATOMIC_SEQ_CST) #define atomic_fetch_add_explicit(PTR,VAL,MO) __atomic_fetch_add ((PTR), = (VAL), (MO)) (-std=3Dgnu99 matches the above) The following shows -std=3Dgnu99 vs. -std=3Dgnu11 results that do not match: # x86_64-unknown-freebsd12.0-gcc -E -std=3Dgnu99 AtomicTest.c | more . . . # 6 "AtomicTest.c" struct foo { =20 # 7 "AtomicTest.c" 3 4 struct {=20 # 7 "AtomicTest.c" int=20 # 7 "AtomicTest.c" 3 4 volatile __val; }=20 # 7 "AtomicTest.c" one; _Atomic int two; atomic_int three; }; . . . # x86_64-unknown-freebsd12.0-gcc -E -std=3Dgnu11 AtomicTest.c | more . . . # 6 "AtomicTest.c" struct foo { _Atomic(int) one; _Atomic int two; atomic_int three; }; . . . I will add a #warning where FreeBSD's cdefs.h has the #define _Atomic(T) to report on if the #define _Atomic(T) is being processed (but possibly ignored) for -std=3Dgnu11 . (But after the ongoing build stops.) =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)