Line 79... |
Line 79... |
// Emit any saved relocations which turn out to be needed. This is
|
// Emit any saved relocations which turn out to be needed. This is
|
// called after all the relocs have been scanned.
|
// called after all the relocs have been scanned.
|
void
|
void
|
emit(Output_data_reloc<sh_type, true, size, big_endian>*);
|
emit(Output_data_reloc<sh_type, true, size, big_endian>*);
|
|
|
|
// Emit a COPY reloc.
|
|
void
|
|
emit_copy_reloc(Symbol_table*, Sized_symbol<size>*,
|
|
Output_data*, off_t,
|
|
Output_data_reloc<sh_type, true, size, big_endian>*);
|
|
|
private:
|
private:
|
typedef typename elfcpp::Elf_types<size>::Elf_Addr Address;
|
typedef typename elfcpp::Elf_types<size>::Elf_Addr Address;
|
typedef typename elfcpp::Elf_types<size>::Elf_Addr Addend;
|
typedef typename elfcpp::Elf_types<size>::Elf_Addr Addend;
|
|
|
// This POD class holds the relocations we are saving. We will emit
|
// This POD class holds the relocations we are saving. We will emit
|
Line 124... |
Line 130... |
bool
|
bool
|
need_copy_reloc(Sized_symbol<size>* gsym,
|
need_copy_reloc(Sized_symbol<size>* gsym,
|
Sized_relobj_file<size, big_endian>* object,
|
Sized_relobj_file<size, big_endian>* object,
|
unsigned int shndx) const;
|
unsigned int shndx) const;
|
|
|
// Emit a COPY reloc.
|
// Make a new COPY reloc and emit it.
|
void
|
|
emit_copy_reloc(Symbol_table*, Layout*, Sized_symbol<size>*,
|
|
Output_data_reloc<sh_type, true, size, big_endian>*);
|
|
|
|
// Add a COPY reloc to the dynamic reloc section.
|
|
void
|
void
|
add_copy_reloc(Symbol*, section_size_type,
|
make_copy_reloc(Symbol_table*, Layout*, Sized_symbol<size>*,
|
Output_data_reloc<sh_type, true, size, big_endian>*);
|
Output_data_reloc<sh_type, true, size, big_endian>*);
|
|
|
// Save a reloc against SYM for possible emission later.
|
// Save a reloc against SYM for possible emission later.
|
void
|
void
|
save(Symbol*, Sized_relobj_file<size, big_endian>*, unsigned int shndx,
|
save(Symbol*, Sized_relobj_file<size, big_endian>*, unsigned int shndx,
|