1 // defstd.cc -- define standard symbols for gold.
8 // This is a simple file which defines the standard symbols like
16 const Define_symbol_in_section in_section
[] =
19 "__preinit_array_start", // name
20 ".preinit_array", // output_section
23 elfcpp::STT_NOTYPE
, // type
24 elfcpp::STB_GLOBAL
, // binding
25 elfcpp::STV_HIDDEN
, // visibility
27 false, // offset_is_from_end
31 "__preinit_array_end", // name
32 ".preinit_array", // output_section
35 elfcpp::STT_NOTYPE
, // type
36 elfcpp::STB_GLOBAL
, // binding
37 elfcpp::STV_HIDDEN
, // visibility
39 true, // offset_is_from_end
43 "__init_array_start", // name
44 ".init_array", // output_section
47 elfcpp::STT_NOTYPE
, // type
48 elfcpp::STB_GLOBAL
, // binding
49 elfcpp::STV_HIDDEN
, // visibility
51 false, // offset_is_from_end
55 "__init_array_end", // name
56 ".init_array", // output_section
59 elfcpp::STT_NOTYPE
, // type
60 elfcpp::STB_GLOBAL
, // binding
61 elfcpp::STV_HIDDEN
, // visibility
63 true, // offset_is_from_end
67 "__fini_array_start", // name
68 ".fini_array", // output_section
71 elfcpp::STT_NOTYPE
, // type
72 elfcpp::STB_GLOBAL
, // binding
73 elfcpp::STV_HIDDEN
, // visibility
75 false, // offset_is_from_end
79 "__fini_array_end", // name
80 ".fini_array", // output_section
83 elfcpp::STT_NOTYPE
, // type
84 elfcpp::STB_GLOBAL
, // binding
85 elfcpp::STV_HIDDEN
, // visibility
87 true, // offset_is_from_end
92 const int in_section_count
= sizeof in_section
/ sizeof in_section
[0];
94 const Define_symbol_in_segment in_segment
[] =
98 elfcpp::PT_LOAD
, // segment_type
99 elfcpp::PF_W
, // segment_flags_set
100 elfcpp::PF(0), // segment_flags_clear
103 elfcpp::STT_NOTYPE
, // type
104 elfcpp::STB_GLOBAL
, // binding
105 elfcpp::STV_DEFAULT
, // visibility
107 Symbol::SEGMENT_START
, // offset_from_bas
112 const int in_segment_count
= sizeof in_segment
/ sizeof in_segment
[0];
114 } // End anonymous namespace.
120 define_standard_symbols(Symbol_table
* symtab
, const Layout
* layout
,
123 symtab
->define_symbols(layout
, target
, in_section_count
, in_section
);
124 symtab
->define_symbols(layout
, target
, in_segment_count
, in_segment
);
127 } // End namespace gold.