/* ELF object file format.
Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003 Free Software Foundation, Inc.
+ 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
+ the Free Software Foundation; either version 3, or (at your option)
any later version.
GAS is distributed in the hope that it will be useful,
You should have received a copy of the GNU General Public License
along with GAS; see the file COPYING. If not, write to the Free
- Software Foundation, 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA. */
+ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
+ 02110-1301, USA. */
/* HP PA-RISC support was contributed by the Center for Software Science
at the University of Utah. */
#define OUTPUT_FLAVOR bfd_target_elf_flavour
#endif
-#include "bfd.h"
-
#define BYTES_IN_WORD 4 /* for now */
#include "bfd/elf-bfd.h"
#define OBJ_SYMFIELD_TYPE struct elf_obj_sy
/* Symbol fields used by the ELF back end. */
-#define ELF_TARGET_SYMBOL_FIELDS int local:1;
+#define ELF_TARGET_SYMBOL_FIELDS unsigned int local:1;
/* Don't change this; change ELF_TARGET_SYMBOL_FIELDS instead. */
#ifndef TARGET_SYMBOL_FIELDS
#define TARGET_SYMBOL_FIELDS ELF_TARGET_SYMBOL_FIELDS
#endif
-/* #include "targ-cpu.h" */
-
#ifndef FALSE
#define FALSE 0
#define TRUE !FALSE
extern asection *gdb_section;
-#ifndef obj_sec_set_private_data
-#define obj_sec_set_private_data(B, S) \
- if (! BFD_SEND ((B), _new_section_hook, ((B), (S)))) \
- as_fatal (_("can't allocate ELF private section data: %s"), \
- bfd_errmsg (bfd_get_error ()))
-#endif
-
#ifndef obj_frob_file
#define obj_frob_file elf_frob_file
#endif
#endif
extern void elf_frob_file_after_relocs (void);
+/* If the target doesn't have special processing for labels, take care of
+ dwarf2 output at the object file level. */
+#ifndef tc_frob_label
+#include "dwarf2dbg.h"
+#define obj_frob_label dwarf2_emit_label
+#endif
+
#ifndef obj_app_file
#define obj_app_file elf_file_symbol
#endif
-extern void elf_file_symbol (const char *);
+extern void elf_file_symbol (const char *, int);
extern void obj_elf_section_change_hook (void);
#endif
#ifndef OBJ_MAYBE_ELF
+/* If OBJ_MAYBE_ELF then obj-multi.h will define obj_ecoff_set_ext. */
#define obj_ecoff_set_ext elf_ecoff_set_ext
-#ifdef ANSI_PROTOTYPES
struct ecoff_extr;
-#endif
extern void elf_ecoff_set_ext (symbolS *, struct ecoff_extr *);
#endif
+extern asection *elf_com_section_ptr;
+extern symbolS * elf_common_parse (int ignore ATTRIBUTE_UNUSED, symbolS *symbolP,
+ addressT size);
#endif /* _OBJ_ELF_H */