Subject: Re: ELF prebinding round 3: new method
To: Bang Jun-Young <junyoung@mogua.com>
From: Charles Hannum <abuse@spamalicious.com>
List: tech-userlevel
Date: 09/27/2002 16:56:18
> The basic idea is simple: all resolved references should reside in an
> executable itself, even references from shared libraries it depends on.
> Right?

What does this have to do with executables?  Your code is specifically
for relocating *shared libraries*, and in a *shared library*, you
cannot just prebind the symbols inside the library.

Or at least, if this is not the intent, then your code is very
confusing, because it says:

        if (f_fixup) {
...
                bind_shlib(argv[0], 0, f_fixup); 
        } else if (f_baseaddr) {
...
                bind_shlib(argv[0], baseaddr, 0);
        } else if (f_systemwide)
...
        else {  
                for (i = 0; i < argc; i++)
                        bind_executable(argv[i]);
        }
...
void    
bind_executable(char *filename)
{
 
        /* XXX Not implemented yet. */
}