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: [PATCH] gold: NOLOAD behavior compatible with GNU ld.


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 <ccoutant@gmail.com> wrote:
> Based on
>
>    https://sourceware.org/ml/binutils/2010-04/msg00094.html
>
> 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?
>
> -cary
>
>
>
>
> On Sun, Sep 20, 2015 at 12:54 PM, Doug Kwan (éæå) <dougkwan@google.com> 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  <johan.karlsson@enea.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.
>>>


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