From: Tristan Gingold Date: Wed, 15 Dec 2010 15:43:27 +0000 (+0000) Subject: Merge X-Git-Tag: binutils-2_21_1~280 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=53428efe8903c1706568f87a15889ba973c508f2;p=thirdparty%2Fbinutils-gdb.git Merge Changes by: amodra@sourceware.org 2010-12-04 03:30:46 Modified files: ld : ChangeLog ldlang.c Log message: * ldlang.c (lang_size_sections_1): Align lma using same alignment as for vma. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index c90c2a925fb..62290946ae0 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2010-12-04 Alan Modra + + * ldlang.c (lang_size_sections_1): Align lma using same alignment + as for vma. + 2010-11-05 Pierre MullerĀ  * emultempl/spuelf.em (new_tmp_file): Fix wrong first parameter. diff --git a/ld/ldlang.c b/ld/ldlang.c index 9038ebfff3b..deb70fd3954 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -4788,6 +4788,7 @@ lang_size_sections_1 bfd_vma newdot, after; lang_output_section_statement_type *os; lang_memory_region_type *r; + int section_alignment = 0; os = &s->output_section_statement; if (os->constraint == -1) @@ -4857,8 +4858,6 @@ lang_size_sections_1 } else { - int align; - if (os->addr_tree == NULL) { /* No address specified for this section, get one @@ -4909,16 +4908,16 @@ lang_size_sections_1 } newdot = os->region->current; - align = os->bfd_section->alignment_power; + section_alignment = os->bfd_section->alignment_power; } else - align = os->section_alignment; + section_alignment = os->section_alignment; /* Align to what the section needs. */ - if (align > 0) + if (section_alignment > 0) { bfd_vma savedot = newdot; - newdot = align_power (newdot, align); + newdot = align_power (newdot, section_alignment); if (newdot != savedot && (config.warn_section_align @@ -4974,8 +4973,8 @@ lang_size_sections_1 { bfd_vma lma = os->lma_region->current; - if (os->section_alignment != -1) - lma = align_power (lma, os->section_alignment); + if (section_alignment > 0) + lma = align_power (lma, section_alignment); os->bfd_section->lma = lma; } else if (r->last_os != NULL @@ -5016,8 +5015,8 @@ lang_size_sections_1 else lma = dot + last->lma - last->vma; - if (os->section_alignment != -1) - lma = align_power (lma, os->section_alignment); + if (section_alignment > 0) + lma = align_power (lma, section_alignment); os->bfd_section->lma = lma; } }