except.c (switch_to_exception_section): Place tables for DECL_ONE_ONLY functions in comdat groups.
2012-08-07 Paul Brook <paul@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * except.c (switch_to_exception_section): Place tables for DECL_ONE_ONLY functions in comdat groups. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r190206
This commit is contained in:
parent
070ecdfd03
commit
3e6011cfeb
|
@ -1,3 +1,9 @@
|
||||||
|
2012-08-07 Paul Brook <paul@codesourcery.com>
|
||||||
|
Sandra Loosemore <sandra@codesourcery.com>
|
||||||
|
|
||||||
|
* except.c (switch_to_exception_section): Place tables for
|
||||||
|
DECL_ONE_ONLY functions in comdat groups.
|
||||||
|
|
||||||
2012-08-07 Richard Guenther <rguenther@suse.de>
|
2012-08-07 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
* tree-flow.h (copy_ssa_name_fn): New function.
|
* tree-flow.h (copy_ssa_name_fn): New function.
|
||||||
|
|
|
@ -2777,11 +2777,16 @@ switch_to_exception_section (const char * ARG_UNUSED (fnname))
|
||||||
flags = SECTION_WRITE;
|
flags = SECTION_WRITE;
|
||||||
|
|
||||||
#ifdef HAVE_LD_EH_GC_SECTIONS
|
#ifdef HAVE_LD_EH_GC_SECTIONS
|
||||||
if (flag_function_sections)
|
if (flag_function_sections
|
||||||
|
|| (DECL_ONE_ONLY (current_function_decl) && HAVE_COMDAT_GROUP))
|
||||||
{
|
{
|
||||||
char *section_name = XNEWVEC (char, strlen (fnname) + 32);
|
char *section_name = XNEWVEC (char, strlen (fnname) + 32);
|
||||||
|
/* The EH table must match the code section, so only mark
|
||||||
|
it linkonce if we have COMDAT groups to tie them together. */
|
||||||
|
if (DECL_ONE_ONLY (current_function_decl) && HAVE_COMDAT_GROUP)
|
||||||
|
flags |= SECTION_LINKONCE;
|
||||||
sprintf (section_name, ".gcc_except_table.%s", fnname);
|
sprintf (section_name, ".gcc_except_table.%s", fnname);
|
||||||
s = get_section (section_name, flags, NULL);
|
s = get_section (section_name, flags, current_function_decl);
|
||||||
free (section_name);
|
free (section_name);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue