- To: gcc-help@xxxxxxxxxxx
- Subject: Nested function - Avoid it in symbol table
- From: Sam <samueldotj@xxxxxxxxx>
- Date: Sat, 16 Jun 2012 13:03:54 -0700
- Comment: DKIM? See http://www.dkim.org
- Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
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
[Linux C Programming]
[Linux Kernel]
[eCos]
[Fedora Development]
[Fedora Announce]
[Autoconf]
[The DWARVES Debugging Tools]
[Yosemite Campsites]
[Yosemite News]
[Linux GCC]