secureplt breaks ld on Alpha Linux

Mikulas Patocka mpatocka@redhat.com
Mon Sep 1 23:53:00 GMT 2014



On Mon, 1 Sep 2014, Richard Henderson wrote:

> On 09/01/2014 08:09 AM, Mikulas Patocka wrote:
> > So, what exactly should be done? Can we hack ld so that if filename is 
> > "libots.so", lazy binding for symbols in this library is turned off 
> > automatically?
> 
> Not hack ld.so.
> 
> Modify the libots.so binary such that _OtsZero is STT_NOTYPE.  The linker will
> not create a plt entry unless the symbol is STT_FUNC.
> 
> I see that most of the _Ots symbols are already NOTYPE.  I wonder if this is
> intentional and _OtsZero just got forgotten, or if it's a happy oversight in
> that they forgot to annotate them entirely.
> 
> r~

It is legally questionable if we can redistribute the modified library.

Even if I could distribute it, where would I upload it so that other 
people will find it? Obviously I can't upload it to ftp.compaq.com where 
the compiler is located.

So, I think a better solution would be to change ld so that it would 
recognize "libots.so" filename and act as if symbols in this file were 
defined with STT_NOTYPE attribute.

Or, turn off that "secure plt" feature at all if "libots.so" is used - 
Alpha is so rare that I doubt anybody will put any effort into writing 
exploits for Alpha.

Mikulas



More information about the Binutils mailing list