amd64/113111: Potentially wrong instructions will be produced for EM64T

NIIMI Satoshi sa2c at sa2c.net
Tue May 29 06:00:13 UTC 2007


>Number:         113111
>Category:       amd64
>Synopsis:       Potentially wrong instructions will be produced for EM64T
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-amd64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue May 29 06:00:12 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     NIIMI Satoshi
>Release:        FreeBSD 7.0-CURRENT amd64
>Organization:
>Environment:
System: FreeBSD freebsd7-64 7.0-CURRENT FreeBSD 7.0-CURRENT #1: Tue May 29 13:46:35 JST 2007 root at freebsd7-64:/usr/obj/usr/src/sys/VMWARE amd64


	
>Description:
The CFLAG -march=k8 during build of lib32 may produce 3dNOW! or
enhanced 3dNOW! instrictions, which are not available on Intel's EM64T
Processors.

	
>How-To-Repeat:
	
>Fix:

	

--- k8.diff begins here ---
Index: Makefile.inc1
===================================================================
RCS file: /home/ncvs/src/Makefile.inc1,v
retrieving revision 1.582
diff -u -r1.582 Makefile.inc1
--- Makefile.inc1	26 May 2007 20:17:19 -0000	1.582
+++ Makefile.inc1	29 May 2007 04:59:34 -0000
@@ -234,11 +234,11 @@
 LIB32TMP=	${OBJTREE}${.CURDIR}/lib32
 
 .if empty(TARGET_CPUTYPE)
-LIB32CPUTYPE=	k8
+LIB32CPUFLAGS=	-march=i686 -mmmx -msse -msse2
 .else
-LIB32CPUTYPE=	${TARGET_CPUTYPE}
+LIB32CPUFLAGS=	-march=${TARGET_CPUTYPE}
 .endif
-LIB32FLAGS=	-m32 -march=${LIB32CPUTYPE} -mfancy-math-387 -DCOMPAT_32BIT \
+LIB32FLAGS=	-m32 ${LIB32CPUFLAGS} -mfancy-math-387 -DCOMPAT_32BIT \
 		-iprefix ${LIB32TMP}/usr/ \
 		-L${LIB32TMP}/usr/lib32 \
 		-B${LIB32TMP}/usr/lib32
--- k8.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-amd64 mailing list