OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [gold/] [object.h] - Diff between revs 27 and 159

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 27 Rev 159
Line 1910... Line 1910...
 
 
  const Sized_relobj_file<size, big_endian>*
  const Sized_relobj_file<size, big_endian>*
  sized_relobj() const
  sized_relobj() const
  { return this; }
  { return this; }
 
 
 
  // Return the ELF file type.
 
  int
 
  e_type() const
 
  { return this->e_type_; }
 
 
  // Return the number of symbols.  This is only valid after
  // Return the number of symbols.  This is only valid after
  // Object::add_symbols has been called.
  // Object::add_symbols has been called.
  unsigned int
  unsigned int
  symbol_count() const
  symbol_count() const
  { return this->local_symbol_count_ + this->symbols_.size(); }
  { return this->local_symbol_count_ + this->symbols_.size(); }
Line 2218... Line 2223...
    typename elfcpp::Elf_types<size>::Elf_Addr address;
    typename elfcpp::Elf_types<size>::Elf_Addr address;
    off_t offset;
    off_t offset;
    section_size_type view_size;
    section_size_type view_size;
    bool is_input_output_view;
    bool is_input_output_view;
    bool is_postprocessing_view;
    bool is_postprocessing_view;
 
    bool is_ctors_reverse_view;
  };
  };
 
 
  typedef std::vector<View_size> Views;
  typedef std::vector<View_size> Views;
 
 
  // This may be overriden by a child class.
  // This may be overriden by a child class.
Line 2303... Line 2309...
                           const elfcpp::Shdr<size, big_endian>&);
                           const elfcpp::Shdr<size, big_endian>&);
 
 
  // Layout an input section.
  // Layout an input section.
  void
  void
  layout_section(Layout* layout, unsigned int shndx, const char* name,
  layout_section(Layout* layout, unsigned int shndx, const char* name,
                 typename This::Shdr& shdr, unsigned int reloc_shndx,
                 const typename This::Shdr& shdr, unsigned int reloc_shndx,
                 unsigned int reloc_type);
                 unsigned int reloc_type);
 
 
 
  // Layout an input .eh_frame section.
 
  void
 
  layout_eh_frame_section(Layout* layout, const unsigned char* symbols_data,
 
                          section_size_type symbols_size,
 
                          const unsigned char* symbol_names_data,
 
                          section_size_type symbol_names_size,
 
                          unsigned int shndx, const typename This::Shdr&,
 
                          unsigned int reloc_shndx, unsigned int reloc_type);
 
 
  // Write section data to the output file.  Record the views and
  // Write section data to the output file.  Record the views and
  // sizes in VIEWS for use when relocating.
  // sizes in VIEWS for use when relocating.
  void
  void
  write_sections(const unsigned char* pshdrs, Output_file*, Views*);
  write_sections(const Layout*, const unsigned char* pshdrs, Output_file*,
 
                 Views*);
 
 
  // Relocate the sections in the output file.
  // Relocate the sections in the output file.
  void
  void
  relocate_sections(const Symbol_table* symtab, const Layout* layout,
  relocate_sections(const Symbol_table* symtab, const Layout* layout,
                    const unsigned char* pshdrs, Output_file* of,
                    const unsigned char* pshdrs, Output_file* of,
                    Views* pviews)
                    Views* pviews)
  { this->do_relocate_sections(symtab, layout, pshdrs, of, pviews); }
  { this->do_relocate_sections(symtab, layout, pshdrs, of, pviews); }
 
 
 
  // Reverse the words in a section.  Used for .ctors sections mapped
 
  // to .init_array sections.
 
  void
 
  reverse_words(unsigned char*, section_size_type);
 
 
  // Scan the input relocations for --emit-relocs.
  // Scan the input relocations for --emit-relocs.
  void
  void
  emit_relocs_scan(Symbol_table*, Layout*, const unsigned char* plocal_syms,
  emit_relocs_scan(Symbol_table*, Layout*, const unsigned char* plocal_syms,
                   const Read_relocs_data::Relocs_list::iterator&);
                   const Read_relocs_data::Relocs_list::iterator&);
 
 
Line 2486... Line 2507...
    unsigned char shdr_data_[shdr_size];
    unsigned char shdr_data_[shdr_size];
  };
  };
 
 
  // General access to the ELF file.
  // General access to the ELF file.
  elfcpp::Elf_file<size, big_endian, Object> elf_file_;
  elfcpp::Elf_file<size, big_endian, Object> elf_file_;
 
  // Type of ELF file (ET_REL or ET_EXEC).  ET_EXEC files are allowed
 
  // as input files only for the --just-symbols option.
 
  int e_type_;
  // Index of SHT_SYMTAB section.
  // Index of SHT_SYMTAB section.
  unsigned int symtab_shndx_;
  unsigned int symtab_shndx_;
  // The number of local symbols.
  // The number of local symbols.
  unsigned int local_symbol_count_;
  unsigned int local_symbol_count_;
  // The number of local symbols which go into the output file.
  // The number of local symbols which go into the output file.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.