This is the mail archive of the binutils@sourceware.org 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: [gold patch] Fix relro problem on ARM


On Nov 18, 2010, at 9:17 AM, Doug Kwan (éæå) wrote:

> Hi
> 
> This is Cary's commit:
> 
> http://sourceware.org/ml/binutils-cvs/2010-11/msg00101.html

Thanks, done.

(Having the URL make the process much easier to me)

Tristan.

> 
> Thanks
> 
> -Doug
> 
> On Wed, Nov 17, 2010 at 11:56 PM, Tristan Gingold <gingold@adacore.com> wrote:
>> 
>> On Nov 17, 2010, at 9:42 PM, Doug Kwan (éæå) wrote:
>> 
>>> Hi Tristan,
>>> 
>>>   Can you please merge it to next release?  This fixes 2 gold
>>> regressions of the snap-shot binutils-2.20.90 on ARM.
>> 
>> Doug,
>> 
>> I can do that but it would be much simpler to me if you could post instead the url of the commit message
>> (from the ml archive http://sourceware.org/ml/binutils-cvs/)
>> 
>> Thanks.
>> 
>>> 
>>> -Doug
>>> 
>>> ---------- Forwarded message ----------
>>> From: Cary Coutant <ccoutant@google.com>
>>> Date: Tue, Nov 16, 2010 at 10:56 AM
>>> Subject: [gold patch] Fix relro problem on ARM
>>> To: Binutils <binutils@sourceware.org>, Ian Lance Taylor
>>> <iant@google.com>, Doug Kwan <dougkwan@google.com>
>>> 
>>> 
>>> Doug found that the PT_GNU_RELRO segment still wasn't being aligned
>>> properly on ARM, and we discovered that if the ORDER_RELRO_LAST list
>>> is empty (as it is for ARM), the padding we add doesn't get accounted
>>> for when setting the segment size. This patch fixes that by adding the
>>> padding to the increase_relro value, which is later added to the
>>> segment size in Output_segment::set_offset(). We also added an assert
>>> in set_offset() to verify that the RELRO segment is correctly aligned.
>>> 
>>> Tested on x86_64 and ARM. OK?
>>> 
>>> -cary (& Doug)
>>> 
>>>        * output.h (Output_segment::set_section_addresses): Pass increase_relro
>>>        by reference; adjust all callers.
>>>        * output.cc (Output_segment::set_section_addresses): Adjust references
>>>        to increase_relro. Add padding to *increase_relro when ORDER_RELRO_LAST
>>>        list is empty.
>>>        (Output_segment::set_offset): Assert if PT_GNU_RELRO segment does not
>>>        end at page boundary.
>>> <gold-arm-relro-patch.txt>
>> 
>> 


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