+2012-12-10 Alan Modra <amodra@gmail.com>
+
+ * powerpc.cc (Target_selector_powerpc::Target_selector_powerpc):
+ Set EM_PPC64 or EM_PPC here.
+ (Target_selector_powerpc::do_recognize): Delete.
+
2012-12-10 Alan Modra <amodra@gmail.com>
* powerpc.cc (Powerpc_relobj::Powerpc_relobj): Init has14_ and
{
public:
Target_selector_powerpc()
- : Target_selector(elfcpp::EM_NONE, size, big_endian,
+ : Target_selector(size == 64 ? elfcpp::EM_PPC64 : elfcpp::EM_PPC,
+ size, big_endian,
(size == 64
? (big_endian ? "elf64-powerpc" : "elf64-powerpcle")
: (big_endian ? "elf32-powerpc" : "elf32-powerpcle")),
: (big_endian ? "elf32ppc" : "elf32lppc")))
{ }
- virtual Target*
- do_recognize(Input_file*, off_t, int machine, int, int)
- {
- switch (size)
- {
- case 64:
- if (machine != elfcpp::EM_PPC64)
- return NULL;
- break;
-
- case 32:
- if (machine != elfcpp::EM_PPC)
- return NULL;
- break;
-
- default:
- return NULL;
- }
-
- return this->instantiate_target();
- }
-
virtual Target*
do_instantiate_target()
{ return new Target_powerpc<size, big_endian>(); }