This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] x86-64: invalidate sysenter


sysenter not being supported in 64-bit mode was overlooked in the previous
cleanup rounds...

Built and tested on i686-pc-linux-gnu and x86_64-unknown-linux-gnu.

Jan

gas/testsuite/
2005-05-06  Jan Beulich  <jbeulich@novell.com>

	* x86-64-inval.s: Also check sysenter.
	* x86-64-inval.l: Adjust.

include/opcode/
2005-05-06  Jan Beulich  <jbeulich@novell.com>

	* i386.h (i386_optab): Invalidate sysenter for 64-bit mode.

--- /home/jbeulich/src/binutils/mainline/2005-05-06/gas/testsuite/gas/i386/x86-64-inval.l	2004-11-23 10:15:20.000000000 +0100
+++ 2005-05-06/gas/testsuite/gas/i386/x86-64-inval.l	2005-05-06 11:46:07.734921528 +0200
@@ -48,6 +48,7 @@
 .*:49: Error: .*
 .*:50: Error: .*
 .*:51: Error: .*
+.*:52: Error: .*
 GAS LISTING .*
 
 
@@ -102,3 +103,4 @@ GAS LISTING .*
   49 [ 	]*pushfl		# can't have 32-bit stack operands
   50 [ 	]*popfl		# can't have 32-bit stack operands
   51 [ 	]*retl		# can't have 32-bit stack operands
+  52 [ 	]*sysenter	# illegal
--- /home/jbeulich/src/binutils/mainline/2005-05-06/gas/testsuite/gas/i386/x86-64-inval.s	2004-11-23 10:13:30.000000000 +0100
+++ 2005-05-06/gas/testsuite/gas/i386/x86-64-inval.s	2005-05-06 11:46:07.735921376 +0200
@@ -49,3 +49,4 @@ foo:	jcxz foo	# No prefix exists to sele
         pushfl		# can't have 32-bit stack operands
 	popfl		# can't have 32-bit stack operands
 	retl		# can't have 32-bit stack operands
+	sysenter	# illegal
--- /home/jbeulich/src/binutils/mainline/2005-05-06/include/opcode/i386.h	2005-04-19 08:42:12.000000000 +0200
+++ 2005-05-06/include/opcode/i386.h	2005-05-06 11:46:07.741920464 +0200
@@ -912,7 +914,7 @@ static const template i386_optab[] =
 {"cmpxchg8b",1,0x0fc7, 1, Cpu586, q_Suf|Modrm,		{ LLongMem, 0, 0} },
 
 /* Pentium II/Pentium Pro extensions.  */
-{"sysenter",0, 0x0f34, X, Cpu686, NoSuf,		{ 0, 0, 0} },
+{"sysenter",0, 0x0f34, X, Cpu686|CpuNo64, NoSuf,	{ 0, 0, 0} },
 {"sysexit", 0, 0x0f35, X, Cpu686, NoSuf,		{ 0, 0, 0} },
 {"fxsave",  1, 0x0fae, 0, Cpu686, q_Suf|Modrm,		{ LLongMem, 0, 0} },
 {"fxrstor", 1, 0x0fae, 1, Cpu686, q_Suf|Modrm,		{ LLongMem, 0, 0} },


Attachment: binutils-mainline-x86_64-sysenter.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]