[PATCH][GOLD] Fix segment alignment

Ian Lance Taylor iant@google.com
Thu Nov 18 22:53:00 GMT 2010
"Doug Kwan (關振德)" <dougkwan@google.com> writes:

> 2010-11-18  Doug Kwan  <dougkwan@google.com>
>
>         * expression.cc (BINARY_EXPRESSION): Initalize left_alignment
>         and right_alignment to be zero.  Store result alignment only if it is
>         greater than existing alignment.

> @@ -419,7 +420,8 @@ class Binary_expression : public Express
>  	{								\
>  	  if (eei->result_section_pointer != NULL)			\
>  	    *eei->result_section_pointer = left_section;		\
> -	  if (eei->result_alignment_pointer != NULL)			\
> +	  if (eei->result_alignment_pointer != NULL			\
> +	      && right_alignment > *eei->result_alignment_pointer)	\
>  	    *eei->result_alignment_pointer = right_alignment;		\
>  	}								\

Hmmm, this is clearly a bug in my code.  This should be left_alignment
rather than right_alignment.

This is OK with that change.

Thanks for tracking this down.

Ian



More information about the Binutils mailing list