Nested function - Avoid it in symbol table

Sam samueldotj@gmail.com
Sat Jun 16 20:04:00 GMT 2012


Hi,

Is there any way to disable emitting nested function names in symbol table?
I tried visibility(hidden) attribute and it is not working.
The problem I have is I use nested function in a macro and which
results in embedded in multiple places causing lot of unwanted entries
symbol table increasing this of image.

Sample program:
$ cat test.c
#include <stdio.h>
int main()
{
    __attribute__((visibility ("hidden")))
    int nested_function()
    {
        printf("Hello world\n");
    }
    nested_function();
    return 0;
}

$ readelf -s ./a.out | grep nest
    50: 00000000004004a4    16 FUNC    LOCAL  DEFAULT   12 nested_function.2069

Thanks
Samuel



More information about the Gcc-help mailing list