From ca62bc4a869267105a4b492223ed46d59e04c27c Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 30 Mar 2016 17:40:37 +1030 Subject: Missing TO_ADDR * ldlang.c (lang_size_sections_1): Correct code detecting a backward non-overlapping move. --- ld/ChangeLog | 5 +++++ ld/ldlang.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 4508d2e..5a2df38 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,10 @@ 2016-03-30 Alan Modra + * ldlang.c (lang_size_sections_1): Correct code detecting a + backward non-overlapping move. + +2016-03-30 Alan Modra + * ldlang.c (IS_TBSS): New macro, extracted from.. (IGNORE_SECTION): ..here. (lang_size_sections_1): Use IS_TBSS and IGNORE_SECTION. diff --git a/ld/ldlang.c b/ld/ldlang.c index 235a246..b369f99 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -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 -- cgit v1.1