]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Merge
authorTristan Gingold <gingold@adacore.com>
Wed, 15 Dec 2010 15:43:27 +0000 (15:43 +0000)
committerTristan Gingold <gingold@adacore.com>
Wed, 15 Dec 2010 15:43:27 +0000 (15:43 +0000)
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.

ld/ChangeLog
ld/ldlang.c

index c90c2a925fb2d3d529d02ac639d16d950e7c44c5..62290946ae04c6382c0e1c4322f6fb24e6f85df1 100644 (file)
@@ -1,3 +1,8 @@
+2010-12-04  Alan Modra  <amodra@gmail.com>
+
+       * ldlang.c (lang_size_sections_1): Align lma using same alignment
+       as for vma.
+
 2010-11-05 Pierre MullerĀ  <muller@ics.u-strasbg.fr>
 
        * emultempl/spuelf.em (new_tmp_file): Fix wrong first parameter.
index 9038ebfff3b40298572b3eaf10eb0531e105d4fa..deb70fd3954360eb95e558f8f95560d982bb3c4d 100644 (file)
@@ -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;
                  }
              }