Line 1... |
Line 1... |
// powerpc.cc -- powerpc target support for gold.
|
// powerpc.cc -- powerpc target support for gold.
|
|
|
// Copyright 2008, 2009, 2010 Free Software Foundation, Inc.
|
// Copyright 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
|
// Written by David S. Miller <davem@davemloft.net>
|
// Written by David S. Miller <davem@davemloft.net>
|
// and David Edelsohn <edelsohn@gnu.org>
|
// and David Edelsohn <edelsohn@gnu.org>
|
|
|
// This file is part of gold.
|
// This file is part of gold.
|
|
|
Line 381... |
Line 381... |
elfcpp::EM_PPC, // machine_code
|
elfcpp::EM_PPC, // machine_code
|
false, // has_make_symbol
|
false, // has_make_symbol
|
false, // has_resolve
|
false, // has_resolve
|
false, // has_code_fill
|
false, // has_code_fill
|
true, // is_default_stack_executable
|
true, // is_default_stack_executable
|
|
false, // can_icf_inline_merge_sections
|
'\0', // wrap_char
|
'\0', // wrap_char
|
"/usr/lib/ld.so.1", // dynamic_linker
|
"/usr/lib/ld.so.1", // dynamic_linker
|
0x10000000, // default_text_segment_address
|
0x10000000, // default_text_segment_address
|
64 * 1024, // abi_pagesize (overridable by -z max-page-size)
|
64 * 1024, // abi_pagesize (overridable by -z max-page-size)
|
4 * 1024, // common_pagesize (overridable by -z common-page-size)
|
4 * 1024, // common_pagesize (overridable by -z common-page-size)
|
Line 404... |
Line 405... |
elfcpp::EM_PPC, // machine_code
|
elfcpp::EM_PPC, // machine_code
|
false, // has_make_symbol
|
false, // has_make_symbol
|
false, // has_resolve
|
false, // has_resolve
|
false, // has_code_fill
|
false, // has_code_fill
|
true, // is_default_stack_executable
|
true, // is_default_stack_executable
|
|
false, // can_icf_inline_merge_sections
|
'\0', // wrap_char
|
'\0', // wrap_char
|
"/usr/lib/ld.so.1", // dynamic_linker
|
"/usr/lib/ld.so.1", // dynamic_linker
|
0x10000000, // default_text_segment_address
|
0x10000000, // default_text_segment_address
|
64 * 1024, // abi_pagesize (overridable by -z max-page-size)
|
64 * 1024, // abi_pagesize (overridable by -z max-page-size)
|
4 * 1024, // common_pagesize (overridable by -z common-page-size)
|
4 * 1024, // common_pagesize (overridable by -z common-page-size)
|
Line 427... |
Line 429... |
elfcpp::EM_PPC64, // machine_code
|
elfcpp::EM_PPC64, // machine_code
|
false, // has_make_symbol
|
false, // has_make_symbol
|
false, // has_resolve
|
false, // has_resolve
|
false, // has_code_fill
|
false, // has_code_fill
|
true, // is_default_stack_executable
|
true, // is_default_stack_executable
|
|
false, // can_icf_inline_merge_sections
|
'\0', // wrap_char
|
'\0', // wrap_char
|
"/usr/lib/ld.so.1", // dynamic_linker
|
"/usr/lib/ld.so.1", // dynamic_linker
|
0x10000000, // default_text_segment_address
|
0x10000000, // default_text_segment_address
|
64 * 1024, // abi_pagesize (overridable by -z max-page-size)
|
64 * 1024, // abi_pagesize (overridable by -z max-page-size)
|
8 * 1024, // common_pagesize (overridable by -z common-page-size)
|
8 * 1024, // common_pagesize (overridable by -z common-page-size)
|
Line 450... |
Line 453... |
elfcpp::EM_PPC64, // machine_code
|
elfcpp::EM_PPC64, // machine_code
|
false, // has_make_symbol
|
false, // has_make_symbol
|
false, // has_resolve
|
false, // has_resolve
|
false, // has_code_fill
|
false, // has_code_fill
|
true, // is_default_stack_executable
|
true, // is_default_stack_executable
|
|
false, // can_icf_inline_merge_sections
|
'\0', // wrap_char
|
'\0', // wrap_char
|
"/usr/lib/ld.so.1", // dynamic_linker
|
"/usr/lib/ld.so.1", // dynamic_linker
|
0x10000000, // default_text_segment_address
|
0x10000000, // default_text_segment_address
|
64 * 1024, // abi_pagesize (overridable by -z max-page-size)
|
64 * 1024, // abi_pagesize (overridable by -z max-page-size)
|
8 * 1024, // common_pagesize (overridable by -z common-page-size)
|
8 * 1024, // common_pagesize (overridable by -z common-page-size)
|
Line 2118... |
Line 2122... |
class Target_selector_powerpc : public Target_selector
|
class Target_selector_powerpc : public Target_selector
|
{
|
{
|
public:
|
public:
|
Target_selector_powerpc()
|
Target_selector_powerpc()
|
: Target_selector(elfcpp::EM_NONE, size, big_endian,
|
: Target_selector(elfcpp::EM_NONE, size, big_endian,
|
(size == 64 ?
|
(size == 64
|
(big_endian ? "elf64-powerpc" : "elf64-powerpcle") :
|
? (big_endian ? "elf64-powerpc" : "elf64-powerpcle")
|
(big_endian ? "elf32-powerpc" : "elf32-powerpcle")))
|
: (big_endian ? "elf32-powerpc" : "elf32-powerpcle")),
|
|
(size == 64
|
|
? (big_endian ? "elf64ppc" : "elf64lppc")
|
|
: (big_endian ? "elf32ppc" : "elf32lppc")))
|
{ }
|
{ }
|
|
|
Target* do_recognize(int machine, int, int)
|
Target* do_recognize(int machine, int, int)
|
{
|
{
|
switch (size)
|
switch (size)
|