From owner-svn-src-all@freebsd.org Fri Feb 12 14:49:20 2016 Return-Path: Delivered-To: svn-src-all@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 71C4FAA6490; Fri, 12 Feb 2016 14:49:20 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail107.syd.optusnet.com.au (mail107.syd.optusnet.com.au [211.29.132.53]) by mx1.freebsd.org (Postfix) with ESMTP id 3872B1479; Fri, 12 Feb 2016 14:49:19 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from c110-21-41-193.carlnfd1.nsw.optusnet.com.au (c110-21-41-193.carlnfd1.nsw.optusnet.com.au [110.21.41.193]) by mail107.syd.optusnet.com.au (Postfix) with ESMTPS id 2E927D460E6; Sat, 13 Feb 2016 01:49:12 +1100 (AEDT) Date: Sat, 13 Feb 2016 01:49:11 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Ruslan Bukin cc: Konstantin Belousov , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r295561 - in head: include sys/mips/include sys/powerpc/include sys/sparc64/include sys/sys sys/x86/include In-Reply-To: <20160212132204.GA33648@bsdpad.com> Message-ID: <20160213012520.C1210@besplex.bde.org> References: <201602120738.u1C7cKpq093956@repo.freebsd.org> <20160212132204.GA33648@bsdpad.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.1 cv=PfoC/XVd c=1 sm=1 tr=0 a=73JWPhLeruqQCjN69UNZtQ==:117 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=kj9zAlcOel0A:10 a=7bLXBn9CArC9h1mMC74A:9 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Feb 2016 14:49:20 -0000 On Fri, 12 Feb 2016, Ruslan Bukin wrote: > On RISC-V it fails with __uint128_t: > > struct fpregs { > __uint128_t fp_x[32]; > > how to fix? This seems to be an old bug. __uint128_t shouldn't be used unless it is supported by . In old versions of FreeBSD, I used something like __attribute__(( ... __mode__(__XI__) ... )) for related problems with long long. Here __uint128_t is a compiler extension that is not very different from the attribute. This seems to be in arm64/ucontext.h, but the name there is spelled fp_q. arm64/ucontext.h has mounds of namespace errors. It uses the following names in the application namespace: gpregs, gp_* fpregs, fp_* mc_* (like other arches) Checking this for other arches: arm: Clean. It uses an excessive number of leading underscores (2) instead of none for things like gp_*. It spells __uint32_t verbosely as 'unsigned int. i386: Just the bogus name __spare__. The 2 trailing underscores don't even serve a technical purpose. mips: Mounds of namespace errors: sr, mullo, mulhi (2 instances) __spare__ (3 instances) Likely pollution from nested include of freebsd32_signal.h (doesn't seem to be kernel-only) SZREG UCTX_REG UCR_* powerpc, sparc64: OK except for mc_* after adding underscores to uint*_t and register_t. Both use some hackish #defines of struct member names. powerpc #define's mc_* so is more fragile; sparc64 #define's _mc_* instead, but uses the usual mc_* for the struct member names. x86: Clean except for mc_*. [Context lost to top posting] Bruce