From owner-svn-src-head@freebsd.org Sat Sep 9 06:55:38 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E861CE06702; Sat, 9 Sep 2017 06:55:38 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail109.syd.optusnet.com.au (mail109.syd.optusnet.com.au [211.29.132.80]) by mx1.freebsd.org (Postfix) with ESMTP id 3B32582903; Sat, 9 Sep 2017 06:55:38 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from [192.168.0.102] (c110-21-101-228.carlnfd1.nsw.optusnet.com.au [110.21.101.228]) by mail109.syd.optusnet.com.au (Postfix) with ESMTPS id C8D64D6A1CE; Sat, 9 Sep 2017 16:28:51 +1000 (AEST) Date: Sat, 9 Sep 2017 16:28:51 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: "Ngie Cooper (yaneurabeya)" cc: Mateusz Guzik , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r323329 - head/sys/sys In-Reply-To: <75479AB5-BB64-4D5B-8FA0-474532E7B103@gmail.com> Message-ID: <20170909155623.F17598@besplex.bde.org> References: <201709082009.v88K9EGW006964@repo.freebsd.org> <75479AB5-BB64-4D5B-8FA0-474532E7B103@gmail.com> MIME-Version: 1.0 X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=KeqiiUQD c=1 sm=1 tr=0 a=PalzARQSbocsUSjMRkwAPg==:117 a=PalzARQSbocsUSjMRkwAPg==:17 a=nlC_4_pT8q9DhB4Ho9EA:9 a=6I5d2MoRAAAA:8 a=fu1ihy1R8jAR-iTdvv0A:9 a=45ClL6m2LaAA:10 a=IjZwj45LgO3ly-622nXo:22 Content-Type: TEXT/PLAIN; charset=X-UNKNOWN; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Sep 2017 06:55:39 -0000 On Fri, 8 Sep 2017, Ngie Cooper (yaneurabeya) wrote: >> On Sep 8, 2017, at 13:09, Mateusz Guzik wrote: >> ... >> Log: >> Allow __builtin_memset instead of bzero for small buffers of known size > > This change breaks all platforms that use gcc. If it=E2=80=99s not revert= ed in the next 3 hours, I=E2=80=99ll revert it. Not all. It works for me. My version of it is 15-20 years old and never always worked on old versions of FreeBSD The problem seems to be with inlining parameters. These are fairly broken by default in gcc-4.2.1, and the overrides in kern/pre.mk only work in some cases. -Os is completely broken (with the overrides, it at best gives a 20% pessimization for space, and with other overrides inlining tends to fail). I recently found a workaround: compile with -fno-inline-functions. So my full compiler flags are CONF_CFLAGS=3D[-march=3Di386] -Os -fno-inline-functions -fno-inline-functions-called-once. This should reduce problems with inlining. However, kernels still build with the bad default flags of -O2. > Please fix ASAP if possible: https://ci.freebsd.org/job/FreeBSD-head-risc= v64-build/3668/console . This also shows problems with uninitialized variables. But -Wno-uninitialized is the default for gcc-4.2.1. This breaks lots of warnings Maybe you have different nonstandard options to avoid the breakage. -Wno-uninitialized is set in kern.mk, and also in kern.pre.mk for cddl. (CDDL_CFLAGS apparerently gives a dumbed down subset of CWARNFLAGS to break many more warnings.) There is a problem getting flags passed to all Makefiles. CONF_CFLAGS (and all other makeoptions in config files) is broken for modules (since macros in the kernel Makefile are not inherited). This feature prevents me using modules even if I forget I don't like them. Flags in kern.mk are only broken for boot Makefiles which neglect to include kern.mk (that is, for all current boot Makefiles). Bruce From owner-svn-src-head@freebsd.org Sat Sep 9 07:09:44 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9ADFE06DA5; Sat, 9 Sep 2017 07:09:44 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail108.syd.optusnet.com.au (mail108.syd.optusnet.com.au [211.29.132.59]) by mx1.freebsd.org (Postfix) with ESMTP id A205583028; Sat, 9 Sep 2017 07:09:44 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from [192.168.0.102] (c110-21-101-228.carlnfd1.nsw.optusnet.com.au [110.21.101.228]) by mail108.syd.optusnet.com.au (Postfix) with ESMTPS id 858BC1A0648; Sat, 9 Sep 2017 16:52:37 +1000 (AEST) Date: Sat, 9 Sep 2017 16:52:36 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Ryan Libby cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r323192 - head/contrib/binutils/opcodes In-Reply-To: <201709051904.v85J48P2013715@repo.freebsd.org> Message-ID: <20170909163214.A17691@besplex.bde.org> References: <201709051904.v85J48P2013715@repo.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=LI0WeNe9 c=1 sm=1 tr=0 a=PalzARQSbocsUSjMRkwAPg==:117 a=PalzARQSbocsUSjMRkwAPg==:17 a=kj9zAlcOel0A:10 a=S1pSPPnuXjUizFS4LA0A:9 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Sep 2017 07:09:45 -0000 On Tue, 5 Sep 2017, Ryan Libby wrote: > Log: > gnu binutils: FSGSBASE assembly/disassembly > > Enable the in-tree binutils to assemble and disassemble amd64 FSGSBASE > instructions (rdfsbase, rdgsbase, wrfsbase, wrgsbase), used in the base > system since r322763. Thanks. > This gives one last gasp for in-tree gcc, and provides a small > enhancement for in-tree binutils objdump. After this, it will be necessary to use .byte. This is almost simpler for *fsbase too. ddb still doesn't understand this instruction or many other more important instructions. amd64 is most broken, but I rarely notice since I normally use i386. ddb still doesn't understand pc-relative addressing so for amd64 it displays addresses of global variables as raw offsets from %rip. Bruce