Numeric suffixes on symbols
Ian Lance Taylor
iant@google.com
Thu Oct 1 00:39:00 GMT 2009
Michael Morrell <morrell@alumni.ucsd.edu> writes:
> I'm building some code that I want to make sure produces the same bits each
> time. I ran into a case where the only difference between the result from
> two different compilation is the names of some of the symbols.
>
> For example, I may see the symbol name:
>
> __PRETTY_FUNCTION__.20638
>
> in the first build, and then:
>
> __PRETTY_FUNCTION__.20694
>
> in the second build.
>
> I can believe that gcc might need to generate a suffix to disambiguate
> function-scoped static variables with the same name, but I need it to do
> so in a deterministic fashion. Over a large code base, this only shows
> up a few times, so that seems strange.
>
> Can someone help to explain this or point me towards the place in the
> compiler where it is generating this suffix?
The number comes from DECL_UID in lhd_set_decl_assembler_name.
That should normally be fixed for a single compilation, but it is
likely affected by some compiler options.
Ian
More information about the Gcc-help
mailing list