/* tc-i386.h -- Header file for tc-i386.c
Copyright 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
#define TARGET_BYTES_BIG_ENDIAN 0
-#define TARGET_ARCH bfd_arch_i386
+#define TARGET_ARCH (i386_arch ())
#define TARGET_MACH (i386_mach ())
+extern enum bfd_architecture i386_arch (void);
extern unsigned long i386_mach (void);
#ifdef TE_FreeBSD
#define ELF_TARGET_FORMAT "elf32-i386-vxworks"
#endif
+#ifdef TE_SOLARIS
+#define ELF_TARGET_FORMAT "elf32-i386-sol2"
+#define ELF_TARGET_FORMAT64 "elf64-x86-64-sol2"
+#endif
+
#ifndef ELF_TARGET_FORMAT
#define ELF_TARGET_FORMAT "elf32-i386"
#endif
#define ELF_TARGET_FORMAT64 "elf64-x86-64"
#endif
+#ifndef ELF_TARGET_L1OM_FORMAT
+#define ELF_TARGET_L1OM_FORMAT "elf64-l1om"
+#endif
+
#if ((defined (OBJ_MAYBE_COFF) && defined (OBJ_MAYBE_AOUT)) \
|| defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) \
|| defined (TE_PE) || defined (TE_PEP) || defined (OBJ_MACH_O))
extern const char *i386_target_format (void);
#define TARGET_FORMAT i386_target_format ()
#else
+#ifdef TE_GO32
+#define TARGET_FORMAT "coff-go32"
+#endif
#ifdef OBJ_AOUT
#define TARGET_FORMAT AOUT_TARGET_FORMAT
#endif
(OUTPUT_FLAVOR == bfd_target_elf_flavour)
#endif
-/* BSF_GNU_INDIRECT_FUNCTION symbols always need relocatoon. */
-#define TC_FORCE_RELOCATION(FIX) \
- ((symbol_get_bfdsym ((FIX)->fx_addsy)->flags \
- & BSF_GNU_INDIRECT_FUNCTION) \
- || generic_force_reloc (FIX))
-
/* This expression evaluates to true if the relocation is for a local
object for which we still want to do the relocation at runtime.
False if we are willing to perform this relocation while building
- the .o file. GOTOFF does not need to be checked here because it is
- not pcrel. I am not sure if some of the others are ever used with
- pcrel, but it is easier to be safe than sorry. */
+ the .o file. GOTOFF and GOT32 do not need to be checked here because
+ they are not pcrel. .*/
#define TC_FORCE_RELOCATION_LOCAL(FIX) \
(!(FIX)->fx_pcrel \
|| (FIX)->fx_r_type == BFD_RELOC_386_PLT32 \
- || (FIX)->fx_r_type == BFD_RELOC_386_GOT32 \
|| (FIX)->fx_r_type == BFD_RELOC_386_GOTPC \
+ || (FIX)->fx_r_type == BFD_RELOC_X86_64_GOTPCREL \
|| TC_FORCE_RELOCATION (FIX))
extern int i386_parse_name (char *, expressionS *, char *);
PROCESSOR_CORE,
PROCESSOR_CORE2,
PROCESSOR_COREI7,
+ PROCESSOR_L1OM,
PROCESSOR_K6,
PROCESSOR_ATHLON,
PROCESSOR_K8,
PROCESSOR_GENERIC32,
PROCESSOR_GENERIC64,
- PROCESSOR_AMDFAM10
+ PROCESSOR_AMDFAM10,
+ PROCESSOR_BDVER1
};
extern enum processor_type cpu_arch_tune;