Re: Where do number suffixes in symbol names come from?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/30/2016 04:39 PM, Brian Drummond wrote:
> On Thu, 2016-06-30 at 12:59 +0200, john smith wrote:
>> On 6/30/16, Goswin von Brederlow <goswin-v-b@xxxxxx> wrote:
>>>
>>> On Thu, Jun 30, 2016 at 11:55:27AM +0200, john smith wrote:
>>>>
>>>> All static symbol have a short number attached to its name, for
>>>> example:
>>>>
>>>> static const int def[9999999] = {1};
>>>>
>>>> shows up as:
>>>>
>>>> 0000000000400920 r def.2802
>>>>
>>>>  
>> ok, maybe I wasn't clear enough. I wonder how are these numbers
>> chosen? It's not a random number because it stays the same after
>> every
>> compilation. It's not a hash made from an object name because it
>> stays
>> the same after changing the name.
> 
> It might be inherited from the internal representation format, gimple.
> This numbers just about everything in the code, including labels on
> statements, so that loops, conditionals etc can be translated to
> "goto"s. This happens before the optimisation passes transform it and
> eliminate whatever they can.
> 
IIRC, they are just counters. They don't start with 0 (or some other small
value) because each built-in intrinsic function also gets an ID.

-- 
Regards,
    Mikhail Maltsev



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux