// testfile.cc -- Dummy ELF objects for testing purposes.
-// Copyright 2006, 2007 Free Software Foundation, Inc.
+// Copyright (C) 2006-2019 Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
{ }
void
- scan_relocs(const General_options&, Symbol_table*, Layout*,
- Sized_relobj<size, big_endian>*, unsigned int,
- unsigned int, const unsigned char*, size_t, Output_section*,
- bool, size_t, const unsigned char*)
+ gc_process_relocs(Symbol_table*, Layout*,
+ Sized_relobj_file<size, big_endian>*,
+ unsigned int, unsigned int, const unsigned char*, size_t,
+ Output_section*, bool, size_t, const unsigned char*)
+ { ERROR("call to Target_test::gc_process_relocs"); }
+
+ void
+ scan_relocs(Symbol_table*, Layout*, Sized_relobj_file<size, big_endian>*,
+ unsigned int, unsigned int, const unsigned char*, size_t,
+ Output_section*, bool, size_t, const unsigned char*)
{ ERROR("call to Target_test::scan_relocs"); }
void
relocate_section(const Relocate_info<size, big_endian>*, unsigned int,
const unsigned char*, size_t, Output_section*, bool,
unsigned char*, typename elfcpp::Elf_types<size>::Elf_Addr,
- section_size_type)
+ section_size_type, const Reloc_symbol_changes*)
{ ERROR("call to Target_test::relocate_section"); }
void
- scan_relocatable_relocs(const General_options&, Symbol_table*, Layout*,
- Sized_relobj<size, big_endian>*, unsigned int,
+ scan_relocatable_relocs(Symbol_table*, Layout*,
+ Sized_relobj_file<size, big_endian>*, unsigned int,
unsigned int, const unsigned char*,
size_t, Output_section*, bool, size_t,
const unsigned char*, Relocatable_relocs*)
{ ERROR("call to Target_test::scan_relocatable_relocs"); }
void
- relocate_for_relocatable(const Relocate_info<size, big_endian>*,
- unsigned int, const unsigned char*, size_t,
- Output_section*, off_t, const Relocatable_relocs*,
- unsigned char*,
- typename elfcpp::Elf_types<size>::Elf_Addr,
- section_size_type, unsigned char*,
- section_size_type)
- { ERROR("call to Target_test::relocate_for_relocatable"); }
+ emit_relocs_scan(Symbol_table*, Layout*,
+ Sized_relobj_file<size, big_endian>*, unsigned int,
+ unsigned int, const unsigned char*,
+ size_t, Output_section*, bool, size_t,
+ const unsigned char*, Relocatable_relocs*)
+ { ERROR("call to Target_test::emit_relocs_scan"); }
+
+ void
+ relocate_relocs(const Relocate_info<size, big_endian>*,
+ unsigned int, const unsigned char*, size_t,
+ Output_section*, typename elfcpp::Elf_types<size>::Elf_Off,
+ unsigned char*,
+ typename elfcpp::Elf_types<size>::Elf_Addr,
+ section_size_type, unsigned char*,
+ section_size_type)
+ { ERROR("call to Target_test::relocate_relocs"); }
static const Target::Target_info test_target_info;
};
false, // has_resolve
false, // has_code_fill
false, // is_default_stack_executable
+ false, // can_icf_inline_merge_sections
+ '\0', // wrap_char
"/dummy", // dynamic_linker
0x08000000, // default_text_segment_address
0x1000, // abi_pagesize
- 0x1000 // common_pagesize
+ 0x1000, // common_pagesize
+ false, // isolate_execinstr
+ 0, // rosegment_gap
+ elfcpp::SHN_UNDEF, // small_common_shndx
+ elfcpp::SHN_UNDEF, // large_common_shndx
+ 0, // small_common_section_flags
+ 0, // large_common_section_flags
+ NULL, // attributes_section
+ NULL, // attributes_vendor
+ "_start", // entry_symbol_name
+ 32, // hash_entry_size
+ elfcpp::SHT_PROGBITS, // unwind_section_type
};
// The test targets.
{
public:
Target_selector_test()
- : Target_selector(0xffff, size, big_endian)
+ : Target_selector(0xffff, size, big_endian, NULL, NULL)
{ }
- Target*
- recognize(int, int, int)
+ virtual Target*
+ do_instantiate_target()
+ {
+ gold_unreachable();
+ return NULL;
+ }
+
+ virtual Target*
+ do_recognize(Input_file*, off_t, int, int, int)
{
if (size == 32)
{
return NULL;
}
- Target*
- recognize_by_name(const char*)
+ virtual Target*
+ do_recognize_by_name(const char*)
{ return NULL; }
+
+ virtual void
+ do_supported_names(std::vector<const char*>*)
+ { }
};
// Register the test target selectors. These don't need to be