This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: [PATCH] [PR libc/18801] PIE binary with STT_GNU_IFUNC symbol and TEXTREL segfaults on x86_64


On Tue, Aug 11, 2015 at 3:57 PM, Sriraman Tallam <tmsriram@google.com> wrote:
> On Tue, Aug 11, 2015 at 3:54 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Tue, Aug 11, 2015 at 3:37 PM, Paul Pluzhnikov <ppluzhnikov@google.com> wrote:
>>> On Tue, Aug 11, 2015 at 3:31 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>>
>>>> No.  I am proposing that linker issues an error if there is TEXTREL
>>>> with IFUNC unless "-z now'" is used, assuming that this doesn't
>>>> require changes to ld.so nor SELinux.
>>>
>>> Ah, ok. But that *doesn't* help current crash at all: "-z now" will
>>> force IFUNC resolver (if any) to be called, and that call will fail
>>> since we are currently removing execute protections.
>>> (This is in fact the situation we've discovered the crash in originally.)
>>
>> Can you try adding  -Wl,-z,execstack?
>
> Yes, making the stack executable will solve the problem.  My test case
> needed ".note.GNU-stack" specifically for this.

Given SELinux issue, I don't think we should change ld.so.  Instead,
we can change ld to issue an error for TEXTREL with IFUNC and
suggest -fPIE and  -Wl,-z,execstack as workaround.


-- 
H.J.


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