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] Remove no longer applicable assertion.


On Fri, Apr 6, 2012 at 6:08 AM, David Miller <davem@davemloft.net> wrote:
> From: "Carlos O'Donell" <carlos@systemhalted.org>
> Date: Fri, 6 Apr 2012 05:58:37 -0400
>
>> So you can, but only only if ELF_DURING_STARTUP. Note that if
>> ELF_DURING_STARTUP then that appears to guarantee you a DT_REL*
>> because the code always merges ranges in that case.
>>
>> In the general case you're right, I don't think we can assume DT_REL*
>> is present in all cases. You could conceivably have no non-PLT
>> relocations. In which case there is still an optimziation to be had.
>> You need only check for a zero sized range[0]?
>
> I tested this just to make sure, and indeed on platforms that don't
> preserve the overlap, if you have an object that only has PLT
> references you get only a JMPREL and no plain REL(A).
>
> On platforms that keep the overlap, we'll still get both a REL(A)
> and a JMPREL, both starting at the same address and both being the
> same size.
>
> As expected.
>
> Your patch looks fine, want me to give it a spin on sparc?

Yes please, I'm stuck at SFO->YYZ->YOW for like the next million hours.

Please check it in if it passes.

Cheers,
Carlos.


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