On Tue, Feb 26, 2008 at 02:53:59PM -0700, Ali Bahrami wrote: > Well, first off, thank you for using elfedit!
It's an awesome tool. My only complaint is that "help" doesn't list the available modules. > I don't know about using it for scope reduction though. The problem is > that the linker created a global symbol, and as a result: > > - Puts it in the global part of the symbol table > - Puts it in the hash table (making it eligible for > global access from outside. > > Going in with elfedit and marking it as local doesn't change the fact that > it is in the wrong part of the symbol table, and that it is still visible > from the hash table. So I don't think this is going to be a good answer. > It's probably good that ld complains. As long as the rtld refuses to bind callers to symbols reduced in this way I think that'd be OK. nm(1), BTW, correctly shows the scope of the modified symbols. > Which leaves using a mapfile somehow, or punting on scope reduction. I think I'll punt for now and revisit this issue later. But I still think that what I was trying to do should just work work. Upgrading local symbols to global, that I can understand failing -- the rtld would have to search local symbol tables when searching for what should be global symbols, and that would be a perf hit.