Enable --emulation={i386coff,i386elf} for i386 gas.
[deliverable/binutils-gdb.git] / gas / config / obj-multi.h
index d54c61f8becf0a8287da3c3098ddb5a8ac497e2a..56e1f922ee01f52249cf7e29cddcda521ccd997f 100644 (file)
@@ -3,42 +3,64 @@
 #include "emul.h"
 #include "targ-cpu.h"
 
-#define OUTPUT_FLAVOR          (this_format->flavor)
-#define obj_frob_symbol(S,P)   (this_format->frob_symbol)(S,&(P))
-#define obj_frob_file          (this_format->frob_file)
-#define obj_frob_file_after_relocs (this_format->frob_file_after_relocs)
-#define obj_ecoff_set_ext      (this_format->ecoff_set_ext)
-#define obj_pop_insert         (this_format->pop_insert)
-#define obj_read_begin_hook()  (this_format->read_begin_hook?this_format->read_begin_hook():(void)0)
-#define obj_symbol_new_hook    (this_format->symbol_new_hook)
-#define obj_sec_sym_ok_for_reloc (this_format->sec_sym_ok_for_reloc)
-#define S_GET_SIZE             (this_format->s_get_size)
-#define S_SET_SIZE             (this_format->s_set_size)
-#define S_GET_ALIGN            (this_format->s_get_align)
-#define S_SET_ALIGN            (this_format->s_set_align)
-#define OBJ_COPY_SYMBOL_ATTRIBUTES (this_format->copy_symbol_attributes)
-#define OBJ_PROCESS_STAB       (this_format->process_stab)
+#define OUTPUT_FLAVOR                                  \
+       (this_format->flavor)
+
+#define obj_frob_symbol(S,P)                           \
+       (this_format->frob_symbol) (S, &(P))
+
+#define obj_frob_file()                                        \
+       (this_format->frob_file                         \
+        ? this_format->frob_file ()                    \
+        : (void) 0)
+
+#define obj_frob_file_after_relocs                     \
+       (this_format->frob_file_after_relocs)
+
+#define obj_ecoff_set_ext                              \
+       (this_format->ecoff_set_ext)
+
+#define obj_pop_insert                                 \
+       (this_format->pop_insert)
+
+#define obj_read_begin_hook()                          \
+       (this_format->read_begin_hook                   \
+        ? this_format->read_begin_hook ()              \
+        : (void) 0)
+
+#define obj_symbol_new_hook                            \
+       (this_format->symbol_new_hook)
+
+#define obj_sec_sym_ok_for_reloc                       \
+       (this_format->sec_sym_ok_for_reloc)
+
+#define S_GET_SIZE                                     \
+       (this_format->s_get_size)
+
+#define S_SET_SIZE                                     \
+       (this_format->s_set_size)
+
+#define S_GET_ALIGN                                    \
+       (this_format->s_get_align)
+
+#define S_SET_ALIGN                                    \
+       (this_format->s_set_align)
+
+#define OBJ_COPY_SYMBOL_ATTRIBUTES(d,s)                        \
+       (this_format->copy_symbol_attributes            \
+        ? this_format->copy_symbol_attributes (d, s)   \
+        : (void) 0)
+
+#define OBJ_PROCESS_STAB(SEG,W,S,T,O,D)                        \
+       (this_format->process_stab                      \
+        ? this_format->process_stab (SEG,W,S,T,O,D)    \
+        : (void) 0)
 
 #if defined (OBJ_MAYBE_ECOFF) || (defined (OBJ_MAYBE_ELF) && defined (TC_MIPS))
 #define ECOFF_DEBUGGING 1
 #endif
 
-/* FIXME: What's the story here?  Why do we have to define
-   OBJ_SYMFIELD_TYPE both here and in obj-elf.h?  */
-
 #ifdef OBJ_MAYBE_ELF
-struct elf_obj_sy
-{
-  int local;
-  expressionS *size;
-  char *versioned_name;
-#ifdef ECOFF_DEBUGGING
-  /* If we are generating ECOFF debugging information, we need some
-     additional fields for each symbol.  */
-  struct efdr *ecoff_file;
-  struct localsym *ecoff_symbol;
-  valueT ecoff_extern_size;
-#endif
-};
-#define OBJ_SYMFIELD_TYPE struct elf_obj_sy
+/* We need obj-elf for OBJ_SYMFIELD_TYPE so that symbol_get_obj is defined */
+#include "obj-elf.h"
 #endif
This page took 0.025594 seconds and 4 git commands to generate.