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.
> also maybe you could have a look at the attached patch. i sent this to > hackers@ > and nobody objected, but nobody wanted to commit the patch unfortunately. > > cheers. > alex _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"