On Wed, Jul 06, 2011 at 04:02:57PM +0100, Paulo J. Matos wrote:
> I have finally ported my backend to the latest 4.6.1 after years of
> trying to play catch with the latest release version.
> 
> I am now fixing some details.
> 
> A source file has a function called: lm_change_to_active which, when
> compiled with -Os is inlined.
> When I compile it with -fno-inline-functions
> -fno-inline-small-functions, I get a label for the function in the
> final assembler which looks like:
> lm_change_to_active.isra?0?.constprop?1?
> 
> Seems to be that GCC is adding .isra?0? and later .constprop?1? to
> the name of the function as it goes. However, my assembler doesn't
> like the two dots and the '?' in the middle of the label name very
> much.
> 
> Have I forgotten to define a hook or how I can tell GCC how to
> create this name?

Look at clone_function_name in cgraph.c.  If you assembler doesn't like
the dots in the function names, you want to define NO_DOT_IN_LABEL,
if it doesn't like dollars in names, you want to also define
NO_DOLLAR_IN_LABEL.  And, double check your ASM_FORMAT_PRIVATE_NAME
definition and ASM_PN_FORMAT.

        Jakub

Reply via email to