On Wed, May 06, 2015 at 03:59:33PM -0700, Segher Boessenkool wrote:
> Currently GCC does not put mergeable read-only data in a per-function
> section, so the -gc-sections linker option does not do much for such
> data.  Fix that.

Dunno if it is a good idea, but...

> diff --git a/gcc/varasm.c b/gcc/varasm.c
> index 62d5163..d8f077d 100644
> --- a/gcc/varasm.c
> +++ b/gcc/varasm.c
> @@ -783,6 +783,16 @@ default_no_function_rodata_section (tree decl 
> ATTRIBUTE_UNUSED)
>    return readonly_data_section;
>  }
>  
> +const char *
> +function_mergeable_rodata_prefix (void)

This function needs a comment.

> +{
> +  section *s = targetm.asm_out.function_rodata_section 
> (current_function_decl);
> +  if (SECTION_STYLE (s) == SECTION_NAMED)
> +    return s->named.name;
> +      else
> +    return targetm.asm_out.mergeable_rodata_prefix;

else is wrongly formatted.

        Marek

Reply via email to