From owner-svn-src-head@FreeBSD.ORG Wed Jan 5 16:59:11 2011 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BBC4B106566C; Wed, 5 Jan 2011 16:59:11 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 5B4A98FC17; Wed, 5 Jan 2011 16:59:11 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id p05GokrI016818; Wed, 5 Jan 2011 09:50:46 -0700 (MST) (envelope-from imp@bsdimp.com) Message-ID: <4D24A165.4080506@bsdimp.com> Date: Wed, 05 Jan 2011 09:50:45 -0700 From: Warner Losh User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.12) Gecko/20101029 Thunderbird/3.1.6 MIME-Version: 1.0 To: John Baldwin References: <201101042051.p04KpSGk054564@svn.freebsd.org> <20110105011635.GA4952@freebsd.org> <20110105121910.GA1841@tops.skynet.lt> <201101050759.50877.jhb@freebsd.org> In-Reply-To: <201101050759.50877.jhb@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Gleb Kurtsou , src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, Dimitry Andric , svn-src-head@FreeBSD.org, Alexander Best Subject: Re: svn commit: r216977 - in head/libexec/rtld-elf: amd64 i386 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 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: Wed, 05 Jan 2011 16:59:11 -0000 On 01/05/2011 05:59, John Baldwin wrote: > On Wednesday, January 05, 2011 7:19:10 am Gleb Kurtsou wrote: >> On (05/01/2011 01:16), Alexander Best wrote: >>> On Tue Jan 4 11, Dimitry Andric wrote: >>>> Author: dim >>>> Date: Tue Jan 4 20:51:28 2011 >>>> New Revision: 216977 >>>> URL: http://svn.freebsd.org/changeset/base/216977 >>>> >>>> Log: >>>> On amd64 and i386, tell the compiler to refrain from generating SSE, >>>> 3DNow, MMX and floating point instructions in rtld-elf. >>>> >>>> Otherwise, _rtld_bind() (and whatever it calls) could possibly clobber >>>> function arguments that are passed in SSE/3DNow/MMX/FP registers, >>>> usually floating point values. This can happen, for example, when clang >>>> generates SSE code for memset() or memcpy() calls. >>> the sorting order for these flags seems to be: >>> >>> -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 >>> >>> see 'grep -R "\-no-sse" /usr/src'. maybe the sorting order should stay >>> consistent? >>> >>> also what's the status of clang? will these flags make sure that newer >>> cpu extension won't be activated? i checked >>> contrib/llvm/tools/clang/include/clang/Driver/Options.td >>> and clang has support for: >>> >>> -m3dnowa >>> -mssse3 >>> -msse4a >>> -msse4 >>> -msse4_1 >>> -msse4_2 >>> -maes >>> -mavx >>> >>> since these extensions only get set in a hand full of files maybe special >>> cases for CC == clang can be added. >> Why not to add NO_HWFLOAT knob (or similar) into makefile >> infrastructure. And set CFLAGS accordingly, depending on CC, arch, etc. >> These flags are getting rather common in tree. > It strikes me that we really want clang/gcc to have some sort of > '-mno-hwfloat' so we don't keep having to add new flags in the future. gcc already has -msoftfloat, but I guess that's a little different than what you are proposing... Warner