This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] [MIPS] Enable non-executable PT_GNU_STACK support v2

On Thu, 22 Dec 2016, Joseph Myers wrote:

> > I thought 4 was reserved for IFUNC, meaning that support for 5 implied 
> > support for IFUNC (because a simple comparison is all that's available to 
> > tell whether glibc supports the features required by an executable / 
> > shared library; it's a single ABI version number, not a bitmask of 
> > features used) and so the ordering was forced.  Certainly the patch here 
> > lists IFUNC before MIPS_GNU_STACK, and I don't think the libc-abis system 
> > supports gaps in the numbering (you'd need to put in a dummy name if 4 is 
> > now to be unused, but then the dummy name would be visible when you run 
> >, which it shouldn't be).
> The natural way to address that issue, incidentally, would be to reassign 
> number 4 to MIPS_GNU_STACK and say that IFUNC will get number 5 when 
> ready.  (All the other comments about patch proposals that are explicitly 
> for review not RFC, with rationale, architecture-independent pieces split 
> out etc., still apply.)

 Unfortunately binutils 2.27 have been released which already set ABI 
version to 5 despite that they do not support IFUNC.  So we cannot 
retroactively make version 5 imply IFUNC support, and consequently we 
cannot make version 4 imply IFUNC support either, as we work under the 
assumption that any given ABI version supports all the previous 
(lower-numbered) ABI versions' features.

 We can make version 4 imply MIPS_GNU_STACK because it will not break the 
said assumption, and I suppose it may help with chosing reasonable ABI 
names for versions 4 and 5 if we cannot support gaps (why?).  However 
IFUNC will have to use version 6 or higher.

 Have I missed anything?

 Regrettably I haven't realised I need to veto the binutils change before 
it was upstreamed, or at least back it out before 2.27 went out; sorry 
about that.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]