X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fconfig%2Fobj-elf.h;h=52a361a40d4341468449cc59954a85078471a54b;hb=fd3619828e94a24a92cddec42cbc0ab33352eeb4;hp=7792f799df3ab6a806f89656e174144bbfa82dea;hpb=f592407e4d75fc64e87c25cdd8b21361b3d322d1;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/config/obj-elf.h b/gas/config/obj-elf.h index 7792f799df..52a361a40d 100644 --- a/gas/config/obj-elf.h +++ b/gas/config/obj-elf.h @@ -1,12 +1,11 @@ /* ELF object file format. - Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, - 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1992-2019 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, @@ -34,8 +33,6 @@ #define OUTPUT_FLAVOR bfd_target_elf_flavour #endif -#include "bfd.h" - #define BYTES_IN_WORD 4 /* for now */ #include "bfd/elf-bfd.h" @@ -82,16 +79,6 @@ struct elf_obj_sy #define OBJ_SYMFIELD_TYPE struct elf_obj_sy -/* Symbol fields used by the ELF back end. */ -#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 @@ -102,6 +89,10 @@ struct elf_obj_sy #endif extern void elf_begin (void); +#ifndef LOCAL_LABEL_PREFIX +#define LOCAL_LABEL_PREFIX '.' +#endif + /* should be conditional on address size! */ #define elf_symbol(asymbol) ((elf_symbol_type *) (&(asymbol)->the_bfd)) @@ -164,15 +155,22 @@ extern void elf_file_symbol (const char *, int); extern void obj_elf_section_change_hook (void); extern void obj_elf_section (int); +extern const char * obj_elf_section_name (void); extern void obj_elf_previous (int); extern void obj_elf_version (int); extern void obj_elf_common (int); extern void obj_elf_data (int); extern void obj_elf_text (int); extern void obj_elf_change_section - (const char *, int, int, int, const char *, int, int); -extern struct fix *obj_elf_vtable_inherit (int); -extern struct fix *obj_elf_vtable_entry (int); + (const char *, unsigned int, unsigned int, bfd_vma, int, const char *, + int, int); +extern void obj_elf_vtable_inherit (int); +extern void obj_elf_vtable_entry (int); +extern struct fix * obj_elf_get_vtable_inherit (void); +extern struct fix * obj_elf_get_vtable_entry (void); +extern bfd_boolean obj_elf_seen_attribute + (int, unsigned int); +extern int obj_elf_vendor_attribute (int); /* BFD wants to write the udata field, which is a no-no for the predefined section symbols in bfd/section.c. They are read-only. */ @@ -196,6 +194,11 @@ void elf_copy_symbol_attributes (symbolS *, symbolS *); (elf_copy_symbol_attributes (DEST, SRC)) #endif +void elf_adjust_symtab (void); +#ifndef obj_adjust_symtab +#define obj_adjust_symtab elf_adjust_symtab +#endif + #ifndef SEPARATE_STAB_SECTIONS /* Avoid ifndef each separate macro setting by wrapping the whole of the stab group on the assumption that whoever sets SEPARATE_STAB_SECTIONS @@ -240,6 +243,7 @@ extern void elf_pop_insert (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 struct ecoff_extr; extern void elf_ecoff_set_ext (symbolS *, struct ecoff_extr *);