Subject: Re: ELF prebinding round 3: new method
To: Bang Jun-Young <junyoung@mogua.com>
From: Charles Hannum <abuse@spamalicious.com>
List: current-users
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. */
}