From b21341a395dbf7b790b1150de9705a39a9f4eebe Mon Sep 17 00:00:00 2001 From: davek Date: Wed, 30 Dec 2009 23:20:55 +0000 Subject: PR lto/42531 * lto-streamer-out.c (produce_asm): Skip any leading asterisk when using DECL_ASSEMBLER_NAME to generate a section name. (copy_function): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155528 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/lto-streamer-out.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'gcc/lto-streamer-out.c') diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index f81ff7278ef..1f9c2e05bb0 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -1784,6 +1784,8 @@ produce_asm (struct output_block *ob, tree fn) if (section_type == LTO_section_function_body) { const char *name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (fn)); + if (name[0] == '*') + name++; section_name = lto_get_section_name (section_type, name); } else @@ -2007,11 +2009,16 @@ copy_function (struct cgraph_node *node) const char *data; size_t len; const char *name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (function)); - char *section_name = - lto_get_section_name (LTO_section_function_body, name); + char *section_name; size_t i, j; struct lto_in_decl_state *in_state; - struct lto_out_decl_state *out_state = lto_get_out_decl_state (); + struct lto_out_decl_state *out_state; + + if (name[0] == '*') + name++; + section_name = + lto_get_section_name (LTO_section_function_body, name); + out_state = lto_get_out_decl_state (); lto_begin_section (section_name, !flag_wpa); free (section_name); -- cgit v1.2.1