Replace <sys/dir.h> (and <dirent.h>) with "gdb_dirent.h".
[deliverable/binutils-gdb.git] / gas / config / tc-ppc.h
index 436b975f6916209eadd1aa9e045204ddf77b6ee3..8409c79f65122b6d799549cac9f14c1abaaba17e 100644 (file)
@@ -1,5 +1,6 @@
 /* tc-ppc.h -- Header file for tc-ppc.c.
-   Copyright (C) 1994, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000
+   Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
 
    This file is part of GAS, the GNU Assembler.
@@ -46,31 +47,16 @@ struct fix;
 
 /* The target BFD architecture.  */
 #define TARGET_ARCH (ppc_arch ())
+#define TARGET_MACH (ppc_mach ())
 extern enum bfd_architecture ppc_arch PARAMS ((void));
+extern unsigned long ppc_mach PARAMS ((void));
 
 /* Whether or not the target is big endian */
 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")
-#else
-#define TARGET_FORMAT "aixcoff-rs6000"
-#endif
-#endif
-
-/* PowerMac has a BFD slightly different from AIX's.  */
-#ifdef TE_POWERMAC
-#ifdef TARGET_FORMAT
-#undef TARGET_FORMAT
-#endif
-#define TARGET_FORMAT "xcoff-powermac"
-#endif
-
-#ifdef OBJ_ELF
-#define TARGET_FORMAT (target_big_endian ? "elf32-powerpc" : "elf32-powerpcle")
-#endif
+#define TARGET_FORMAT (ppc_target_format ())
+extern char* ppc_target_format ();
 
 /* Permit temporary numeric labels.  */
 #define LOCAL_LABELS_FB 1
@@ -185,7 +171,21 @@ extern int ppc_frob_symbol PARAMS ((symbolS *));
 extern void ppc_adjust_symtab PARAMS ((void));
 
 /* Niclas Andersson <nican@ida.liu.se> says this is needed.  */
-#define SUB_SEGMENT_ALIGN(SEG) 2
+extern int ppc_subseg_align PARAMS ((void));
+#define SUB_SEGMENT_ALIGN(SEG) ppc_subseg_align()
+
+/* We also need to copy, in particular, the class of the symbol,
+   over what obj-coff would otherwise have copied.  */
+#define OBJ_COPY_SYMBOL_ATTRIBUTES(dest,src)                   \
+do {                                                           \
+  if (SF_GET_GET_SEGMENT (dest))                               \
+    S_SET_SEGMENT (dest, S_GET_SEGMENT (src));                 \
+  symbol_get_tc (dest)->size = symbol_get_tc (src)->size;      \
+  symbol_get_tc (dest)->align = symbol_get_tc (src)->align;    \
+  symbol_get_tc (dest)->class = symbol_get_tc (src)->class;    \
+  symbol_get_tc (dest)->within = symbol_get_tc (src)->within;  \
+} while (0)
+
 
 #endif /* OBJ_XCOFF */
 
This page took 0.024924 seconds and 4 git commands to generate.