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.

Reply via email to