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.


I can test Johan's patch and see if it build the ARM kernel.

On Wed, Oct 7, 2015 at 5:49 AM, Johan Karlsson <Johan.Karlsson@enea.com> wrote:
> I don't know how to build the ARM kernel so I would appreciate if someone could try it out using the patch. This patch together with the fix I did for PR 16711 greatly improves the ELF size when using NOLOAD and lots of bss.
>
>> From: Doug Kwan (éæå) [mailto:dougkwan@google.com]
>> Sent: den 7 oktober 2015 00:26
>>
>> 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]