OSDN Git Service

476d9aa018cabe5bec005374d20a79c6131d4977
[pf3gnuchains/gcc-fork.git] / gcc / config / darwin-sections.def
1 /* Copyright (C) 2005, 2006, 2010 Free Software Foundation, Inc.
2
3 This file is part of GCC.
4
5 GCC is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free
7 Software Foundation; either version 3, or (at your option) any later
8 version.
9
10 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11 WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13 for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with GCC; see the file COPYING3.  If not see
17 <http://www.gnu.org/licenses/>.  */
18
19 DEF_SECTION (text_coal_section, SECTION_CODE,
20              ".section __TEXT,__textcoal_nt,coalesced,pure_instructions", 0)
21 DEF_SECTION (text_unlikely_coal_section, SECTION_CODE,
22              ".section __TEXT,__text_unlikely_coal,"
23              "coalesced,pure_instructions", 0)
24 DEF_SECTION (const_section, 0, ".const", 0)
25 DEF_SECTION (const_coal_section, 0,
26              ".section __TEXT,__const_coal,coalesced", 0)
27 DEF_SECTION (const_data_section, 0, ".const_data", 0)
28 DEF_SECTION (const_data_coal_section, 0,
29              ".section __DATA,__const_coal,coalesced", 0)
30 DEF_SECTION (data_coal_section, SECTION_WRITE,
31              ".section __DATA,__datacoal_nt,coalesced", 0)
32 DEF_SECTION (cstring_section, SECTION_MERGE | SECTION_STRINGS, ".cstring", 0)
33 DEF_SECTION (literal4_section, SECTION_MERGE, ".literal4", 0)
34 DEF_SECTION (literal8_section, SECTION_MERGE, ".literal8", 0)
35 DEF_SECTION (literal16_section, SECTION_MERGE, ".literal16", 0)
36 /* Unlike constant NSStrings, constant CFStrings do not live  in the __OBJC segment
37   since they may also occur in pure C  or C++ programs.  */
38 DEF_SECTION (cfstring_constant_object_section, 0, ".section __DATA, __cfstring", 0)
39 DEF_SECTION (constructor_section, 0, ".constructor", 0)
40 DEF_SECTION (mod_init_section, 0, ".mod_init_func", 0)
41 DEF_SECTION (mod_term_section, 0, ".mod_term_func", 0)
42 DEF_SECTION (destructor_section, 0, ".destructor", 0)
43 DEF_SECTION (objc_class_section, 0, ".objc_class", 1)
44 DEF_SECTION (objc_meta_class_section, 0, ".objc_meta_class", 1)
45 DEF_SECTION (objc_category_section, 0, ".objc_category", 1)
46 DEF_SECTION (objc_class_vars_section, 0, ".objc_class_vars", 1)
47 DEF_SECTION (objc_instance_vars_section, 0, ".objc_instance_vars", 1)
48 DEF_SECTION (objc_cls_meth_section, 0, ".objc_cls_meth", 1)
49 DEF_SECTION (objc_inst_meth_section, 0, ".objc_inst_meth", 1)
50 DEF_SECTION (objc_cat_cls_meth_section, 0, ".objc_cat_cls_meth", 1)
51 DEF_SECTION (objc_cat_inst_meth_section, 0, ".objc_cat_inst_meth", 1)
52 DEF_SECTION (objc_selector_refs_section, SECTION_MERGE, ".objc_message_refs", 1)
53 DEF_SECTION (objc_selector_fixup_section, 0,
54             ".section __OBJC, __sel_fixup, regular, no_dead_strip", 1)
55 DEF_SECTION (objc_symbols_section, 0, ".objc_symbols", 1)
56 DEF_SECTION (objc_module_info_section, 0, ".objc_module_info", 1)
57 DEF_SECTION (objc_protocol_section, 0, ".objc_protocol", 1)
58 DEF_SECTION (objc_string_object_section, 0, ".objc_string_object", 1)
59 DEF_SECTION (objc_constant_string_object_section, 0,
60              ".section __OBJC, __cstring_object, regular, no_dead_strip", 1)
61
62 /* Fix-and-Continue image marker.  */
63 DEF_SECTION (objc_image_info_section, 0,
64              ".section __OBJC, __image_info, regular, no_dead_strip", 1)
65 DEF_SECTION (objc_class_names_section, 0, ".objc_class_names", 1)
66 DEF_SECTION (objc_meth_var_names_section, 0, ".objc_meth_var_names", 1)
67 DEF_SECTION (objc_meth_var_types_section, 0, ".objc_meth_var_types", 1)
68 DEF_SECTION (objc_cls_refs_section, SECTION_MERGE, ".objc_cls_refs", 1)
69 /* lazy symbol pointers.  */
70 DEF_SECTION (machopic_lazy_symbol_ptr_section, 0, ".lazy_symbol_pointer", 0)
71 DEF_SECTION (machopic_lazy_symbol_ptr2_section, 0,
72              ".section __DATA, __la_sym_ptr2,lazy_symbol_pointers", 0)
73 DEF_SECTION (machopic_lazy_symbol_ptr3_section, 0,
74              ".section __DATA, __la_sym_ptr3,lazy_symbol_pointers", 0)
75 /* non-lazy symbol pointers.  */
76 DEF_SECTION (machopic_nl_symbol_ptr_section, 0,
77              MACHOPIC_NL_SYMBOL_PTR_SECTION, 0)
78 /* Symbol stubs.  */
79 DEF_SECTION (machopic_symbol_stub_section, 0, ".symbol_stub", 0)
80 DEF_SECTION (machopic_symbol_stub1_section, 0,
81              ".section __TEXT,__symbol_stub1,symbol_stubs,"
82              "pure_instructions,16", 0)
83 /* PIC symbol stubs.  */
84 DEF_SECTION (machopic_picsymbol_stub_section, 0, ".picsymbol_stub", 0)
85 DEF_SECTION (machopic_picsymbol_stub1_section, 0,
86              ".section __TEXT,__picsymbolstub1,symbol_stubs,"
87              "pure_instructions,32", 0)
88 DEF_SECTION (machopic_picsymbol_stub2_section, 0,
89              ".section __TEXT,__picsymbolstub2,symbol_stubs,pure_instructions,25", 0)
90 DEF_SECTION (machopic_picsymbol_stub3_section, 0,
91              ".section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5", 0)
92 /* Exception-related.  */
93 DEF_SECTION (darwin_exception_section, 0,
94              ".section __DATA,__gcc_except_tab", 0)
95 DEF_SECTION (darwin_eh_frame_section, 0,
96              ".section " EH_FRAME_SECTION_NAME ",__eh_frame"
97              EH_FRAME_SECTION_ATTR, 0)