[GOLD][PATCH] Set SHF_LINK_ORDER flags of ARM EXIDX sections.

Ian Lance Taylor iant@google.com
Tue Oct 19 19:29:00 GMT 2010
"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



More information about the Binutils mailing list