bfd/
[binutils-gdb.git] / gas / config / tc-i386.h
index 8c67c0c356c8782e28802b6bd7575cffd2f27c76..3796ae1d6ce11e594f2719f3f930b140ab64dab6 100644 (file)
@@ -27,9 +27,7 @@
 #error So, do you know what you are doing?
 #endif
 
-#ifdef ANSI_PROTOTYPES
 struct fix;
-#endif
 
 #define TARGET_BYTES_BIG_ENDIAN        0
 
@@ -182,15 +180,20 @@ typedef struct
 #define CpuSSE2               0x4000   /* Streaming SIMD extensions 2 required */
 #define Cpu3dnow       0x8000  /* 3dnow! support required */
 #define Cpu3dnowA     0x10000  /* 3dnow!Extensions support required */
-#define CpuPNI       0x20000   /* Prescott New Instructions required */
+#define CpuSSE3              0x20000   /* Streaming SIMD extensions 3 required */
+#define CpuPNI       CpuSSE3   /* Prescott New Instructions required */
 #define CpuPadLock    0x40000  /* VIA PadLock required */
+#define CpuSVME              0x80000   /* AMD Secure Virtual Machine Ext-s required */
+#define CpuVMX      0x100000   /* VMX Instructions required */
 
   /* These flags are set by gas depending on the flag_code.  */
 #define Cpu64       0x4000000   /* 64bit support required  */
 #define CpuNo64      0x8000000   /* Not supported in the 64bit mode  */
 
   /* The default value for unknown CPUs - enable all features to avoid problems.  */
-#define CpuUnknownFlags (Cpu086|Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|Cpu686|CpuP4|CpuSledgehammer|CpuMMX|CpuMMX2|CpuSSE|CpuSSE2|CpuPNI|Cpu3dnow|Cpu3dnowA|CpuK6|CpuAthlon|CpuPadLock)
+#define CpuUnknownFlags (Cpu086|Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|Cpu686 \
+       |CpuP4|CpuSledgehammer|CpuMMX|CpuMMX2|CpuSSE|CpuSSE2|CpuPNI|CpuVMX \
+       |Cpu3dnow|Cpu3dnowA|CpuK6|CpuAthlon|CpuPadLock|CpuSVME)
 
   /* the bits in opcode_modifier are used to generate the final opcode from
      the base_opcode.  These bits also are used to detect alternate forms of
@@ -388,7 +391,7 @@ arch_entry;
 #define GLOBAL_OFFSET_TABLE_NAME "_GLOBAL_OFFSET_TABLE_"
 #endif
 
-#ifndef LEX_AT
+#if (defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) && !defined (LEX_AT)
 #define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) x86_cons (EXP, NBYTES)
 extern void x86_cons PARAMS ((expressionS *, int));
 
@@ -413,7 +416,7 @@ void i386_validate_fix PARAMS ((struct fix *));
 #define tc_fix_adjustable(X)  tc_i386_fix_adjustable(X)
 extern int tc_i386_fix_adjustable PARAMS ((struct fix *));
 
-/* Values passed to md_apply_fix3 don't include the symbol value.  */
+/* Values passed to md_apply_fix don't include the symbol value.  */
 #define MD_APPLY_SYM_VALUE(FIX) 0
 
 /* ELF wants external syms kept, as does PE COFF.  */
@@ -498,6 +501,12 @@ extern void tc_x86_frame_initial_instructions PARAMS ((void));
 #define md_elf_section_type(str,len) i386_elf_section_type (str, len)
 extern int i386_elf_section_type PARAMS ((const char *, size_t len));
 
+/* Support for SHF_X86_64_LARGE */
+extern int x86_64_section_word PARAMS ((char *, size_t));
+extern int x86_64_section_letter PARAMS ((int letter, char **ptr_msg));
+#define md_elf_section_letter(LETTER, PTR_MSG) x86_64_section_letter (LETTER, PTR_MSG)
+#define md_elf_section_word(STR, LEN)          x86_64_section_word (STR, LEN)
+
 #ifdef TE_PE
 
 #define O_secrel O_md1