varasm.c (function_section): Delete flag_function_sections support.
* varasm.c (function_section): Delete flag_function_sections support. (assemble_start_function): Put it here. Use UNIQUE_SECTION if defined. From-SVN: r11975
This commit is contained in:
parent
4ac1474483
commit
c30ac67641
40
gcc/varasm.c
40
gcc/varasm.c
@ -352,29 +352,6 @@ void
|
|||||||
function_section (decl)
|
function_section (decl)
|
||||||
tree decl;
|
tree decl;
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef ASM_OUTPUT_SECTION_NAME
|
|
||||||
/* If we are placing functions into their own sections, and this
|
|
||||||
function doesn't already have a section specified, set it now. */
|
|
||||||
if (flag_function_sections
|
|
||||||
&& decl != NULL_TREE
|
|
||||||
&& DECL_SECTION_NAME (decl) == NULL_TREE)
|
|
||||||
{
|
|
||||||
int len;
|
|
||||||
char *string;
|
|
||||||
|
|
||||||
len = IDENTIFIER_LENGTH (DECL_ASSEMBLER_NAME (decl)) + 1;
|
|
||||||
string = alloca (len);
|
|
||||||
strcpy (string, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)));
|
|
||||||
|
|
||||||
/* Strip off any encoding in fnname. */
|
|
||||||
STRIP_NAME_ENCODING (string, string);
|
|
||||||
|
|
||||||
/* Set DECL_SECTION_NAME. */
|
|
||||||
DECL_SECTION_NAME (decl) = build_string (len, string);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (decl != NULL_TREE
|
if (decl != NULL_TREE
|
||||||
&& DECL_SECTION_NAME (decl) != NULL_TREE)
|
&& DECL_SECTION_NAME (decl) != NULL_TREE)
|
||||||
named_section (decl, (char *) 0);
|
named_section (decl, (char *) 0);
|
||||||
@ -916,6 +893,23 @@ assemble_start_function (decl, fnname)
|
|||||||
|
|
||||||
output_constant_pool (fnname, decl);
|
output_constant_pool (fnname, decl);
|
||||||
|
|
||||||
|
#ifdef ASM_OUTPUT_SECTION_NAME
|
||||||
|
/* If the function is to be put in its own section and it's not in a section
|
||||||
|
already, indicate so. */
|
||||||
|
if (flag_function_sections
|
||||||
|
&& DECL_SECTION_NAME (decl) == NULL_TREE)
|
||||||
|
{
|
||||||
|
#ifdef UNIQUE_SECTION
|
||||||
|
DECL_SECTION_NAME(decl) = UNIQUE_SECTION (decl);
|
||||||
|
#else
|
||||||
|
char *name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
|
||||||
|
/* Strip off any encoding in name. */
|
||||||
|
STRIP_NAME_ENCODING (name, name);
|
||||||
|
DECL_SECTION_NAME (decl) = build_string (strlen (name), name);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
function_section (decl);
|
function_section (decl);
|
||||||
|
|
||||||
/* Tell assembler to move to target machine's alignment for functions. */
|
/* Tell assembler to move to target machine's alignment for functions. */
|
||||||
|
Loading…
Reference in New Issue
Block a user