>> Consider following snippet:
>>
>> void foo(){}
>> void bar(){foo();}
> [...]
>> -Bsymbolic resolved and "wired" this intra-library reference already at
>> link time! In other words once you enter module through bar, no
>> manipulation of symbol table at run-time will trick bar to call anything
>> other than foo in same module.
>
> But that doesn't stop you from overwriting bar(), who cares that it
> internally calls foo().
I never made any claims about whether or not is it possible to override
bar(). I said [last time and implied even earlier] "*once* you *enter*
the module, control flow doesn't leave its boundaries in uncontrollable
manner" and that's this is considered appropriate in this context.
>>> There are only a few function calls that are direct, most of the
>>> library is PIC and uses indirect calls.
>> -Bsymbolic "rewires" as many indirect calls as possible at link time to
>> direct ones. A.
>
> Right, it will only use the PLT for functions in an other library.
So it's not "few calls that are direct" but *a lot* of calls that become
direct. In other words we agree that -Bsymbolic is not inappropriate and
I intend to dismiss this case as "not our, but for-Debian-to-fix
problem." Naturally with reservation for keeping my eyes open for
possible solution in perlasm. Solution that will work with all supported
platforms but even without -Bsymbolic, just for completeness sake.
Though it will be low prio as we have no plans for stopping using
-Bsymbolic. A.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]