Please don't top-post on this list. On 27/06/11 11:09, Pan ruochen wrote: > On Mon, Jun 27, 2011 at 5:57 PM, Andrew Haley <aph@xxxxxxxxxx> wrote: >> >> When optimizing, gcc generates clones of functions that are specialized to >> particular tasks. T.25 is a clone of register_signal_handler() that is >> specialized to my_signal_handler(). You can see this if you read the assembly >> language output. > > Well, there is not a symbol named 'register_signal_handler' in a.out. That's right. It isn't needed. The original function has gone because no-one uses it. > I think gcc creates a new internal name T.25 to substitute the > original register_signal_handler for some purpose. Yes, and I just told you what that purpose was. > Is there any option to disable this feature? > I really think it brings me troubles in translating the T.xx stuff > back to the original symbol names when I have to read the unassembly > code. That's always going to be a problem when optimizing, especially with inlined functions. There's no guarantee at all that generated code has a 1:1 mapping to source code. What version of gcc is this? Mine generates "register_signal_handler.clone.0" as a name for this. Andrew.