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] Allow a target to fix up output section flags.


"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


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