Missing TO_ADDR
authorAlan Modra <amodra@gmail.com>
Wed, 30 Mar 2016 07:10:37 +0000 (17:40 +1030)
committerAlan Modra <amodra@gmail.com>
Wed, 30 Mar 2016 07:20:03 +0000 (17:50 +1030)
* ldlang.c (lang_size_sections_1): Correct code detecting a
backward non-overlapping move.

ld/ChangeLog
ld/ldlang.c

index 4508d2e4e5333c1e2964692207ab874285b00fa6..5a2df38689f4be9caf405632db4c4aade52c4531 100644 (file)
@@ -1,3 +1,8 @@
+2016-03-30  Alan Modra  <amodra@gmail.com>
+
+       * ldlang.c (lang_size_sections_1): Correct code detecting a
+       backward non-overlapping move.
+
 2016-03-30  Alan Modra  <amodra@gmail.com>
 
        * ldlang.c (IS_TBSS): New macro, extracted from..
index 235a24645271ee0faf954a5a9e880c86c3b99b81..b369f994d8c6779fe6e8953d33339d691f708205 100644 (file)
@@ -5068,7 +5068,7 @@ lang_size_sections_1
                   create overlapping LMAs.  */
                if (dot < last->vma
                    && os->bfd_section->size != 0
-                   && dot + os->bfd_section->size <= last->vma)
+                   && dot + TO_ADDR (os->bfd_section->size) <= last->vma)
                  {
                    /* If dot moved backwards then leave lma equal to
                       vma.  This is the old default lma, which might