>> 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]

Reply via email to