This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH] gold: NOLOAD behavior compatible with GNU ld.
- From: Doug Kwan (éæå) <dougkwan at google dot com>
- To: Cary Coutant <ccoutant at gmail dot com>
- Cc: Johan Karlsson <Johan dot Karlsson at enea dot com>, Binutils <binutils at sourceware dot org>, "iant at google dot com" <iant at google dot com>
- Date: Tue, 6 Oct 2015 15:26:05 -0700
- Subject: Re: [PATCH] gold: NOLOAD behavior compatible with GNU ld.
- Authentication-results: sourceware.org; auth=none
- References: <5006DF1F5103294E8DA02CC4C71B1BF80873BF3C at SESTOEX04 dot enea dot se> <CAH9SEo7BgZJLyAGDJjmBxBTYJwwqcaVDts6HHZ+5jF_aez2J=g at mail dot gmail dot com> <CAJimCsGDXs0D9LsV=N=qb6M1iKXW11cY2F9onTD+LE9YVWfNaA at mail dot gmail dot com>
Expected behaviour was gold being able to build an ARM kernel that
boots. The original patch was added because gold had not been able to
build the kernel used in Android.
As long as Johan can build an ARM kernel that boots with this patch. I am okay.
On Tue, Oct 6, 2015 at 3:18 PM, Cary Coutant <email@example.com> wrote:
> Based on
> it seems to me that ripping out the original NOLOAD patch would break
> building the ARM compressed kernel.
> Doug, do you remember what the expected behavior was at the time?
> On Sun, Sep 20, 2015 at 12:54 PM, Doug Kwan (éæå) <firstname.lastname@example.org> wrote:
>> Looks good to me. I don't have right to approve the patch though.
>> On Thu, Sep 17, 2015 at 2:47 AM, Johan Karlsson <Johan.Karlsson@enea.com> wrote:
>>> Hi all,
>>> This patch makes gold handle the NOLOAD section attribute in the same way GNU ld does for elf.
>>> Instead of creating a SHT_PROGBITS with no flags section it creates one with SHT_NOBITS and SHF_ALLOC set. With this change all special handling of noload sections can be removed and all NOLOAD sections as handled as NOBITS.
>>> 2015-09-17 Johan Karlsson <email@example.com>
>>> NOLOAD section attribute compatible with GNU ld.
>>> * layout.cc (Layout::choose_output_section): Create NOLOAD sections as
>>> SHT_NOBITS and removed special handling of NOLOAD sections.
>>> (Layout::make_output_section_for_script): Create NOLOAD as SHT_NOBIT
>>> with SHF_ALLOC set.
>>> * output.cc (Output_section::Output_section): Removed member is_noload.
>>> (Output_section::do_reset_address_and_file_offset): Removed special
>>> handling of NOLOAD.
>>> * output.h (Output_section): Removed is_noload() and set_is_noload().
>>> removed member is_noload_.
>>> * script-sections.cc (Output_section_definition::set_section_addresses):
>>> removed special handling of NOLOAD.
>>> (Sort_output_sections::operator()): Removed sorting of NOLOAD sections.