aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-ppc.h
diff options
context:
space:
mode:
Diffstat (limited to 'gas/config/tc-ppc.h')
-rw-r--r--gas/config/tc-ppc.h29
1 files changed, 22 insertions, 7 deletions
diff --git a/gas/config/tc-ppc.h b/gas/config/tc-ppc.h
index 9d46c24..1a456ae 100644
--- a/gas/config/tc-ppc.h
+++ b/gas/config/tc-ppc.h
@@ -24,6 +24,16 @@
#error PowerPC support requires BFD_ASSEMBLER
#endif
+/* If OBJ_COFF is defined, and TE_PE is not defined, we are assembling
+ XCOFF for AIX. If TE_PE is defined, we are assembling COFF for
+ Windows NT. */
+
+#ifdef OBJ_COFF
+#ifndef TE_PE
+#define OBJ_XCOFF
+#endif
+#endif
+
/* The target BFD architecture. */
#define TARGET_ARCH (ppc_arch ())
extern enum bfd_architecture ppc_arch PARAMS ((void));
@@ -34,16 +44,14 @@ extern int target_big_endian;
/* The target BFD format. */
#ifdef OBJ_COFF
#ifdef TE_PE
-#define TARGET_FORMAT (target_big_endian) ? "pe-powerpc" : "pe-powerpcle"
-#elif defined(PPC)
-#define TARGET_FORMAT (target_big_endian) ? "coff-powerpc" : "coff-powerpcle"
+#define TARGET_FORMAT (target_big_endian ? "pe-powerpc" : "pe-powerpcle")
#else
#define TARGET_FORMAT "aixcoff-rs6000"
#endif
#endif
#ifdef OBJ_ELF
-#define TARGET_FORMAT (target_big_endian) ? "elf32-powerpc" : "elf32-powerpcle"
+#define TARGET_FORMAT (target_big_endian ? "elf32-powerpc" : "elf32-powerpcle")
#endif
/* Permit temporary numeric labels. */
@@ -59,7 +67,7 @@ extern int target_big_endian;
/* When using COFF, we determine whether or not to output a symbol
based on sy_tc.output, not on the name. */
-#ifdef OBJ_COFF
+#ifdef OBJ_XCOFF
#define LOCAL_LABEL(name) 0
#endif
#ifdef OBJ_ELF
@@ -89,7 +97,14 @@ extern int target_big_endian;
/* We set the fx_done field appropriately in md_apply_fix. */
#define TC_HANDLES_FX_DONE
-#ifdef OBJ_COFF
+#ifdef TE_PE
+
+/* Question marks are permitted in symbol names. */
+#define LEX_QM 1
+
+#endif
+
+#ifdef OBJ_XCOFF
/* Declarations needed when generating XCOFF code. XCOFF is an
extension of COFF, used only on the RS/6000. Rather than create an
@@ -162,7 +177,7 @@ extern int ppc_frob_symbol PARAMS ((struct symbol *));
#define tc_frob_file() ppc_frob_file ()
extern void ppc_frob_file PARAMS ((void));
-#endif /* OBJ_COFF */
+#endif /* OBJ_XCOFF */
#ifdef OBJ_ELF
/* The name of the global offset table generated by the compiler. Allow