This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Fwd: [PATCH][GOLD] Fix segment alignment
- From: Doug Kwan (éæå) <dougkwan at google dot com>
- To: Tristan Gingold <gingold at adacore dot com>
- Cc: binutils <binutils at sourceware dot org>, Ian Lance Taylor <iant at google dot com>, Markus Trippelsdorf <markus at trippelsdorf dot de>
- Date: Thu, 18 Nov 2010 15:56:20 -0800
- Subject: Fwd: [PATCH][GOLD] Fix segment alignment
- References: <AANLkTikJKzLZnGOyK_ZYEoO6iATOmP4ewx6+6DvGR75G@mail.gmail.com> <mcr4obep7l4.fsf@google.com>
Hi Tristan,
Could you please merge this commit?
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 (Ãö®¶¼w)" <dougkwan@google.com>
Cc: binutils <binutils@sourceware.org>, Markus Trippelsdorf
<markus@trippelsdorf.de>
"Doug Kwan (Ãö®¶¼w)" <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