|
From: Jeremy F. <je...@go...> - 2005-02-15 19:49:50
|
At the moment, if vg_symtab2 finds two symbols with the same address, it generally prefers the longer one over a shorter one, modulo some logic for stripping all the libc-internal prefixes like __, __GI_, __libc_, etc. It seems to me though, that choosing the longer symbol is never the useful thing to do. I can't think of a single instance where a symbol has aliases where the longer one is useful. The only case I can think of where there are non-internal aliases is free/cfree, and nobody cares about cfree (the symmetric free for calloc, which redundant). The shortest name is always the mostly expected name. There is an exception; when a symbol is versioned, we want to remember that (ie, pthread_create@GLIBC_2.0 vs pthread_create). Its important to be able to distinguish the different versions for wrapping/redirection. And it seems that making this change has no effect on the regtests; I'm not sure if that's because all the differences have already been filtered out or not. What do people think? J |