SH FDPIC ABI spec/binutils and kernel conflict on flag definitions

Rich Felker dalias@libc.org
Thu Sep 10 15:51:00 GMT 2015


On Thu, Sep 10, 2015 at 04:45:30PM +0100, David Howells wrote:
> Rich Felker <dalias@libc.org> wrote:
> 
> > > I think that adopting the kernel's behaviour as correct would set a
> > > dangerous precedent.  A published ABI should be followed, and if the
> > > kernel does not implement it, then the kernel is wrong.
> 
> The kernel practice is that once an ABI is set, even if it's actually
> implemented incorrectly, you cannot change it.

Is that applicable even in places where fixing it won't break
anything? Do you see a problem in my analysis concluding that it
won't?

If we have to fix it on the binutils (& documentation) side, every
existing binary will remain wrong and only new binaries will get text
sharing.

On the other hand, the only existing way to produce a binary that both
(1) needs constant displacement, and (2) actually gets constant
displacement from the kernel at load time, is to manually edit the ELF
headers to flip the bit. So I really doubt any such binaries exist. Do
you have a reason to believe they do?

Rich



More information about the Binutils mailing list