Linux C++ binary namespace
<p>We have a huge binary and which has constants defined in namespace ex say header1.h:</p>

<pre><code>namespace One
{
    namespace Two
    {

            const String TEST_DATE_TIME = "DDMMYYYY";    // Line number say 32
            //  ................ Around 2500 such constants ..........
    }
}
</code></pre>

<p>The problem is that when we run the binary with instrumentation (-finstrument-functions and _cyg* functions) we see methods like below in our report - are they not declared in data segment:</p>

<pre><code>__tcf_2275,header1.h: 32
</code></pre>

<p>Does it means that during execution the compiler is spending some time creating the namespace constants - but why? I do not see the same behavior in a sample file (declaring a constants in a namespace).</p>

<p>Further - </p>

<pre><code>nm a.out| grep __tcf_ | more

000000000807acf8 t __tcf_1234
000000000807ad60 t __tcf_1456
............................
000000000816ddd0 t __tcf_1125
............................

addr2line -Cfe a.out 0x807acf8 0x807ad60

__tcf_2275
header1.h:2322
__tcf_2274
header1.h:2321
</code></pre>

<p>Definitely we can state that during execution the namespace constants are constructed by compiler. How i) can we reduce them for execution overhead and ii) why are the _<em>tcf</em> defined as 't' section?</p>
