This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [GOLD][PATCH] Set SHF_LINK_ORDER flags of ARM EXIDX sections.
"Doug Kwan (éæå)" <dougkwan@google.com> writes:
> 2010-10-19 Doug Kwan <dougkwan@google.com>
>
> * arm.cc (Target_arm::do_finalize_sections): Force SHF_LINK_ORDER
> flag in section headers of EXIDX sections in a relocatable link.
> * output.cc (Output_section::Output_section): Initialize member
> force_link_order_.
> * output.h (Output_section::force_link_order): New method.
> (Output_section::set_force_link_order): Ditto.
> (Output_section::force_link_order_): New data member.
> + // Whether we always set SHF_LINK_ORDER in section header.
> + bool
> + force_link_order() const
> + { return this->force_link_order_; }
> +
> + // Force setting SHF_LINK_ORDER in output section header.
> + void
> + set_force_link_order(bool value)
> + { this->force_link_order_ = value; }
> +
> protected:
> // Return the output section--i.e., the object itself.
> Output_section*
> @@ -3765,6 +3775,8 @@ class Output_section : public Output_dat
> Checkpoint_output_section* checkpoint_;
> // Fast lookup maps for merged and relaxed input sections.
> Output_section_lookup_maps* lookup_maps_;
> + // Force SHF_LINK_ORDER in section header.
> + bool force_link_order_;
> };
Name the field simply is_link_order_, make it a 1 bit bitfield, and put
it just after is_noload_. Name the accessors is_link_order and
set_is_link_order.
This is OK with those changes.
Thanks.
Ian