This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH][GOLD] Fix segment alignment
On Nov 19, 2010, at 12:56 AM, Doug Kwan (關振德) wrote:
> Hi Tristan,
>
> Could you please merge this commit?
Done.
>
> http://www.cygwin.com/ml/binutils-cvs/2010-11/msg00122.html
>
> I verified that binutils-2.20.90 has the same problem and it can be
> fixed by this patch.
>
> Thanks
>
> -Doug
>
>
> ---------- Forwarded message ----------
> From: Ian Lance Taylor <iant@google.com>
> Date: Thu, Nov 18, 2010 at 2:53 PM
> Subject: Re: [PATCH][GOLD] Fix segment alignment
> To: "Doug Kwan (關振德)" <dougkwan@google.com>
> Cc: binutils <binutils@sourceware.org>, Markus Trippelsdorf
> <markus@trippelsdorf.de>
>
>
> "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
>