darwin.c (darwin_make_decl_one_only): Allocate section names once per compilation, instead of once per symbol.
* config/darwin.c (darwin_make_decl_one_only): Allocate section names once per compilation, instead of once per symbol. From-SVN: r86836
This commit is contained in:
parent
4bceb077ac
commit
c61eceebfa
|
@ -1,3 +1,8 @@
|
|||
2004-08-31 Matt Austern <austern@apple.com>
|
||||
|
||||
* config/darwin.c (darwin_make_decl_one_only): Allocate section
|
||||
names once per compilation, instead of once per symbol.
|
||||
|
||||
2004-08-31 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* Makefile.in (build_subdir): New substitution.
|
||||
|
|
|
@ -982,18 +982,27 @@ darwin_encode_section_info (tree decl, rtx rtl, int first ATTRIBUTE_UNUSED)
|
|||
SYMBOL_REF_FLAGS (sym_ref) |= MACHO_SYMBOL_STATIC;
|
||||
}
|
||||
|
||||
static GTY(()) tree textcoal_section = 0;
|
||||
static GTY(()) tree datacoal_section = 0;
|
||||
|
||||
void
|
||||
darwin_make_decl_one_only (tree decl)
|
||||
{
|
||||
static const char *text_section = "__TEXT,__textcoal_nt,coalesced,no_toc";
|
||||
static const char *data_section = "__DATA,__datacoal_nt,coalesced,no_toc";
|
||||
tree sec = 0;
|
||||
if (textcoal_section == 0)
|
||||
{
|
||||
static const char *ts = "__TEXT,__textcoal_nt,coalesced,no_toc";
|
||||
static const char *ds = "__DATA,__datacoal_nt,coalesced,no_toc";
|
||||
textcoal_section = build_string (strlen (ts), ts);
|
||||
datacoal_section = build_string (strlen (ds), ds);
|
||||
}
|
||||
|
||||
const char *sec = TREE_CODE (decl) == FUNCTION_DECL
|
||||
? text_section
|
||||
: data_section;
|
||||
sec = TREE_CODE (decl) == FUNCTION_DECL
|
||||
? textcoal_section
|
||||
: datacoal_section;
|
||||
TREE_PUBLIC (decl) = 1;
|
||||
DECL_ONE_ONLY (decl) = 1;
|
||||
DECL_SECTION_NAME (decl) = build_string (strlen (sec), sec);
|
||||
DECL_SECTION_NAME (decl) = sec;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in New Issue