no such instructions: xsave, xsetbv, xrstor

Arvydas Sidorenko asido4 at gmail.com
Sat Jul 21 17:55:25 UTC 2012


This is the output I get when building 10-CURRENT from HEAD:
/usr/src/sys/amd64/amd64/cpu_switch.S: Assembler messages:
/usr/src/sys/amd64/amd64/cpu_switch.S:128: Error: no such instruction:
`xsave (%r8)'
/usr/src/sys/amd64/amd64/cpu_switch.S:504: Error: no such instruction: `xsetbv'
/usr/src/sys/amd64/amd64/cpu_switch.S:505: Error: no such instruction:
`xrstor (%rbx)'

$ uname -a
FreeBSD slacker 9.0-RELEASE-p3 FreeBSD 9.0-RELEASE-p3 #0: Tue Jun 12
02:52:29 UTC 2012
root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

The CPU capabilities should not impact the compilation, but here
they're anyways (E8600):
$ grep Features /var/run/dmesg.boot | grep -i xsave
Features2=0x408e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE>
Features2=0x408e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE>

Is it problem with assembler? Which on my system is:
$ as --version
GNU assembler (GNU Binutils) 2.22
Copyright 2011 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-portbld-freebsd9.0'.

And classic outdated GCC:
$ gcc --version
gcc (GCC) 4.2.1 20070831 patched [FreeBSD]

Any help is appreciated.


More information about the freebsd-amd64 mailing list