[PATCH][GOLD] Allow a target to fix up output section flags.

Doug Kwan (關振德) dougkwan@google.com
Wed Apr 20 00:12:00 GMT 2011


No problem, I will move all the special processing to
make_output_section and send you a patch.  Thanks for reviewing.

-Doug

On Tue, Apr 19, 2011 at 5:02 PM, Ian Lance Taylor <iant@google.com> wrote:
> "Doug Kwan (關振德)" <dougkwan@google.com> writes:
>
>>     This patch adds code to allow a target to fix up some flags in an
>> output section header.  We need this for ARM's EXIDX section, which is
>> required to have SHF_LINK_ORDER set.  We currently do not handle that
>> flag correctly in layout, it would be desirable to fix that in the
>> long run.  I have tested this for both ARM and X86_64 and I also added
>> a new test case.
>>
>> -Doug
>>
>> 2011-04-05  Doug Kwan  <dougkwan@google.com>
>>
>>         * arm.cc (Target_arm::do_adjust_output_section_flags): New
>>         method definition.
>>         * output.cc (Output_section::write_header): Allow a target to adjust
>>         output section flags.
>>         * target.h (Target::adjust_output_section_flags): New method definition.
>>         (Target::do_adjust_output_section_flags): Same.
>>         * testsuite/Makefile.am (arm_exidx_test): New test rules.
>>         * testsuite/Makefile.in: Regenerate.
>>         * testsuite/arm_exidx_test.s: New file.
>>         * testsuite/arm_exidx_test.sh: Same.
>
> Sorry, I forgot about this one.
>
> I want to try to push back on having lots of little random Target hooks.
> We already have too many.  They make it harder to understand how to
> write a new backend and harder to modify the linker.  This is a problem
> in BFD as well.  As much as possible we need to make target hooks
> simple, easy to understand, and few in number.
>
> In this case the ARM backend already uses the make_output_section target
> hook, so it should be possible to do everything there.  I don't see any
> need for a new target hook to do this.  If you need to add a function to
> Output_section to change the flags_ field, do that.
>
> Ian
>



More information about the Binutils mailing list