On Wed, 2012-12-05 at 15:56 +0100, Jan Kratochvil wrote:
On Wed, 05 Dec 2012 15:35:55 +0100, Mark Wielaard wrote:
> If we could keep the symbol values, except the adjusted st_value intact
> that would have my preference.
Yes, it is this way.
> If you adjust shndxp, do you also adjust sym.st_shndx?
No, I do not. One cannot always set the real value there, it could belong to
SHN_XINDEX.
I can force there SHN_XINDEX during the .opd -> .text rewrite so that no one
mistakenly reads it.
No. Lets keep the shndxp/sym.shndx values as they are.
> Both :)
Please do not mix those two.
I am not mixing, I have two concerns.
> The symbol name against which we are matching is what it is, we
> shouldn't change its name IMHO.
We already change st_value and st_shndx. Why not to change also the name?
Because then we change the contract of the function even more. Just
changing the st_value can be seen as how the function already works (we
consider resolving the function descriptor address just like adjusting
the st_value for the module location), but stretching it to do other
things too means we really should look into a new function for new
functionality.
Cheers,
Mark